Slashdot Log In
Plex86 Lives, As Lightweight VM Technology
Posted by
timothy
on Wed Feb 12, 2003 05:54 PM
from the lightenment dept.
from the lightenment dept.
Kevin P. Lawton writes "Plex86 has been completely overhauled, and simplified to be a user (application) code only Virtual Machine technology. For running user code, many of the heavy weight x86-VM techniques are unnecessary. But the bonus is, Linux can easily be made to run inside the plex86 VM, so that the kernel is actually 'pushed down' to user privilege level. This has been demonstrated on both Linux 2.4 and 2.5 kernels. Thus, Linux can run in a plex86 VM without the need for any heavy virtualization. My goal is to keep the code base trim, tight, auditable and get to usable releases quickly. And to favor those goals over adding unnecessary complexities. The first milestones have just been reached, so it's still early in development. There are email lists available on the main plex86 site."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Taking So Very Long (Score:4, Insightful)
Re:Taking So Very Long (Score:5, Interesting)
Kevin's posted a very limited test case demonstrating this ability to the Bochs lists a bit ago.
Parent
Re:Taking So Very Long (Score:5, Interesting)
Parent
Re:Taking So Very Long (Score:5, Insightful)
Software, especially good software, takes a lot of time to produce. Anyone can throw off crappy code quickly but to make something you'll be able to keep secure and stable over it's lifetime takes time and effort. Unless you're the developer what do you care how the effort is being spent? it's not your time or effort so feel free to go about your business doing something you feel your efforts are more useful in.
As for me I find Plex86 interesting because I don't want to spend a fortune on hardware but sometimes I do like to have a sandbox enviroment to run development stuff, test apps, or just open questionable email attachments. Bochs is to slow to run many apps properly and if I was going to spend the money for faster hardware I might as well just buy new computers. It makes more sense to use a virtualized enviroment and save some money (and hassle).
Virtualization may not have as many users as web browsers but it's technology which for the most part will continue to be useful for a long time. The x86 processor has a long history of compatible code so there is no reason to think Plex86/Bochs won't still be useful a decade from now.
Parent
Re:Taking So Very Long (Score:4, Informative)
Parent
Re:Taking So Very Long (Score:3, Interesting)
UML (Score:3, Interesting)
Re:UML (Score:5, Informative)
Yes, but UML uses almost 80% of the processor's MTRR registers as a scratchpad to save state. Therefore, any kernel drivers that require real-time interrupt service (NET, SCSI) have to use cut-through emulation, instead of the much faster native emulation.
The bottom line is UML works fine, and exhibits quite decent responsiveness, until you start trying to push disk and or network I/O.
It's a fundemental flaw of UML. But UML's proponents consider it a necessary evil in the name of portability and lightweight robustness. I'm not sure I disagree with them.
Parent
Plex86 vs. VMWare? (Score:4, Interesting)
Re:Plex86 vs. VMWare? (Score:4, Insightful)
plex86 has a heckuva long ways to go before it's even near competing with software like vmware.
provided that it even makes it there, companies like vmware have known it's coming for quite a while, and have surely been looking after their best interests just as if this were a commercial competitor.
competition is part of life, whether it be commercial, opensource, or the kid next door.
Parent
Re:Plex86 vs. VMWare? (Score:3, Interesting)
Easy, It's not any different than new competition for any company other than the competition in this case is giving away a product for free, so they can't compete on price. VMware will have to offer some additional value over Plex86. It could be improved performance, ease of use, stability, compatibility with more/different environments, tech support, you name it. They just have to offer something that people will be willing to pay extra for. Plex86 has a long way to go before they are a credible threat to VMware, but once that happens VMware will be forced to adapt
Summary: Kevin's a loser (Score:2, Interesting)
Re:Summary: Kevin's a loser (Score:4, Insightful)
Parent
VMWare isnt *just* linux (Score:2)
And dont forget ESX server...
Re:Plex86 vs. VMWare? (Score:5, Insightful)
Why is it that a community that could be broadly characterized as having heavy libertarian leanings encompasses so many, like you, who are willing to set aside those ideals for your pet project? I love VMware as much as the next person - I just think it's so cool seeing Phoenix BIOS show up in a window - but that doesn't mean I'm willing to set aside the capitalist ideals of free commerce and competition just so it will survive. If the Plex86 group can put together a better product and are willing to give it away, they win. If it takes them 10 years, then VMware has 10 years to find a different business model or go under. Businesses fail all the time. That's the way it works. If you can't cut it, you die. Meanwhile, Plex86 gets better in competition with VMware; VMware gets better in competition with Plex, and I win no matter which approach works best.
Parent
$300 is a too high for home use (Score:3, Interesting)
Re:$300 is a too high for home use (Score:3, Interesting)
VMWare also has several other really nice features like undoable disks. I've been using VMWare since version 1.0. Hot stuff.
Also, think about things like power usage, heat, desk space, etc.
Re:Plex86 vs. VMWare? (Score:2, Insightful)
Those were interesting discussions. I happen to own a VMware liscence, and I use it occasionaly for particular virtualizing needs. I was anxious for Plex86, and mourned the impeding stagnation of the project when the project founder was fired. After two years, I'm still with VMWare.
Meanwhile, VMWare is being eaten at on a few fronts besides Plex86. The most recent evaluation we did for VMWare, pitted its virtual terminal server product against CodeWeavers' Wine server, Citrix, and good ol' Windows 2000. In the end Windows 2000 won, becuase, well, it was already there. Many window's programs have been decided that way.
I don't particulary see a difference in being undercut by a free solution, or being undercut by a built-in the OS solution (*ahem* Netscape). Nor do I see a difference between those undercuts, and being beat out by a better product from a different competitor.
In the end, its the developers obligation to ensure success with a quality feature full product. I think that is why, in the end, some have felt that OSS development models are better. But as far as interaction between Linux programs and free Linux programs, I see nothing out of the ordinary.
------------------
OnRoad [onlawn.net]: A review of "Piston Envy: The Sociology of Racing Games"
Adapt or Die (Score:3, Insightful)
Re:Plex86 vs. VMWare? (Score:3, Insightful)
It should be obvious by now that the computer iliterate control more businesses, more markets and have more control over your freedom to choose than your government ever did. So then I wonder why a Linux user might choose to support a free software developer over a commercial package, which probably includes some form of registration, serial number for authorization or other form of commercial/capitalist tone that clearly shows the greedy in the eyes of all you shareholders.
Its pathetic that we can't play fair and get along and understand eachother. I understand you. But, no, there won't be commercial software for Linux for a long time, if ever. And you know something? That doesn't matter. Because it is not needed. We will write our own. so
Portability? (Score:2, Interesting)
VMware doesn't need a device driver, if I'm not mistaken. Wasn't plex86 originally supposed to be a clone of VMware?
Re:Portability? (Score:4, Informative)
VMware under Windows, loads up several device drivers to bridge/route network traffic between the virtual machines and your local NICs.
And when I installed a demo VMware on my Linux box, it needed a kernel headers to build the vmware kernel modules(don't know what for). So, Vmware also needs modules/device drivers for operation.
Kashif
Parent
Plain english please (Score:2)
What does Plex86 run on top of? If it's a VM would it run on top of say Windows or something, allowing you to run your OS of choice within that? Or is it a way of allowing programs compiled for this quasi-x86 architecture to run on other different architectures (ie it vituralizes the hardware directly)? Or something else entirely?
Re:Plain english please (Score:3, Informative)
So you can run Windows inside linux, or linux inside linux. They all have to be for the x86 though. But I don't know how well it works.
Bochs is the emulator that runs code for the x86 on ANY processor, PPC, Sparc, whatever it will compile on. So that you could run Windows on a Sparc or a Mac. Though I don't know if it works THAT well.
Question... Bochs/Plex86/MandrakeSoft (Score:2)
What did happen? It seems that all mentions of this MandrakeSoft support has been dropped from the Plex86 pages !?!
Just found... (Score:3, Informative)
MandrakeSoft Buys Bochs, LGPLs It
Linux MandrakePosted by Hemos on Thursday March 23, @00:50
from the good-things-are-happening dept.
Direct from the mouth of Gael Duval, we've gotten word that MandrakeSoft (Yes, the folks who make Mandrake-Linux. No, it has nothing to do with Mandrake of Enlightenment fame. ) have purchased Bochs and hired Kevin Lawton. Now that Bochs is LGPLed, the Plex86 development can be speed up as well.
http://slashdot.org/article.pl?sid=00/03/22/18512
When will it be useful? (Score:5, Interesting)
0) multiple virtual Linux servers, each in its own chroot jail.
1) run Win98 under Linux, to be able to run Win32 apps for testing purposes or backwards compatability.
Sounds like it will do multiple Linux servers very well, soon. But do they still have any hopes for plex86 running non-Linux OSes as guests?
P.S. According to reviews I have read, Win4Lin does a decent job of letting you run Win98 under Linux. It's not free software, of course.
steveha
Re:When will it be useful? (Score:3)
User-Mode Linux? (Score:5, Interesting)
If the Bochs/Plex86 combination is actually faster than Bochs by itself on X86 hardware, and can approach the speed of VMWare, well, that sounds interesting to me. Virtualization technology is a large and growing market, funding a lot of IBM's recent growth in the mid-range server market with quad and 8-processor systems running VMWare to aggregate systems, improve manageability, and reduce personnel management costs. There's no denying the need is there; VMWare posted their first profit ever last quarter because of these strong sales, with more big money coming down the pipe.
Competition among free software projects is a good thing. I'm glad to see Plex86 come out with something new that may work better than the old. But what most people wanted was to run multiple copies of Microsoft Windows on top of Linux, or to run MS Windows in VMs alongside GNU/Linux, and if that doesn't work easily & quickly, it may be a potent obstacle to widespread adoption.
Re:User-Mode Linux? (Score:3, Interesting)
This virtualisation technique, however, could probably be much safer.
Re:User-Mode Linux? (Score:5, Informative)
"In short, the changes cause the UML kernel to run in an entirely different host address space from its processes. This solves the security and honeypot fingerprinting problems by making the UML kernel totally inaccessible to UML processes. Their address spaces are identical to what they would be on the host. This also provides a noticable speedup by eliminating the signal delivery that used to happen for every UML system call."
So, there you have it. It requires a kernel patch, but basically solves all the old UML security issues. I don't believe it's quite ready for primetime, though.
Parent
Can someone clarify (Score:2)
Is this a super-bochs should I feel like running windoze on linux?
Or is this an excellent way to test out a linux kernel someone hacked, but didn't want to risk their system?
Details in Kernel Traffic (Score:3, Informative)
This is just like a microkernel, just less clean (Score:5, Informative)
Check out http://www.l4ka.org, http://os.inf.tu-dresden.de/fiasco/
and
http://
All my respect to Plex86, but I don't think their design will ever be as clean or effecient as that of L4. All software mentioned above is GPL.
Re:This is just like a microkernel, just less clea (Score:5, Informative)
I'll be the first to agree that L4 is wonderful and the Dresden Operating Systems group is doing some amazing stuff with it. There's a lot of hard core hacking going on there. Most recently DoPE [tu-dresden.de] caught my eye. It's a real-time display system for DROPS and Norman Feske's thesis is an interesting read. Heh, I love that project name too...
However, it's sort of irresponsible to propose NomadBIOS as an alternative to something like plex86. Granted, NomadBIOS is cool and has a lot of potential for the future. There's a lot of possibilities once you start transparently moving running kernels between machines! However, NomadBIOS makes use of a modified l4linux 2.2 kernel and that cause some problems. (For those out of the loop, l4linux is a port of linux designed to run on top of an instance of the l4 microkernel).
To begin with, with 2.6 almost here, 2.2 is starting look really old and nobody seems to have the man power to port 2.6 (or even 2.4) to l4.
More importantly, l4linux really isn't remotely secure, stable, or production quality. Linux apps can access the l4 interface. See the Fiasco (an implementation of l4) faq [tu-dresden.de] for info on this. This foils any attempts at security. This is traditional viewed as a feature because it makes life easier for the Dresden hackers, but would be a problem in this kind of situation.
Then you have all the voodoo that was went into getting linux on top of l4. I get nervous just booting l4linux, let alone attempting to use for anything serious. It's possible to screw things up royally. I definitely chewed up a root partition one time (not quite sure what I did wrong either!
Anyways, I'm glad that someone mentioned NomadBIOS because it's a great project, but let's not go pimping the wrong solution to the problem of needing a virtual machine. NomadBIOS is what we like to call Blue Skies work. Cool research that may well change the future playing field, but irrelevant for now.
Parent
Re:This is just like a microkernel, just less clea (Score:3, Insightful)
The problem with L4 is that OSes ust be ported to it. Virtualisers are supposed to be able to run OSes without porting them.
L4 is great, don't get me wrong. It's just not even close to being the same thing.
That's nice... (Score:3, Funny)
Project Management (Score:5, Interesting)
Kevin's code is obfuscated and doesn't mean much to you unless one or more of the following is true--
1) You are an equally enlightened coding genuis as Kevin is;
2) You have been programming for 25 years and still don't know what a comment line is for;
or
3) You always work alone and therefore the more disorderly the code the better for you.
This has been a real problem. I hope that his fork of the code works better than what I've been trying to document for the last year.
--Drew Northup, N1XIM (former, I guess) Plex86 maintianer
I don't get it. (Score:3, Interesting)
Re:I don't get it. (Score:4, Informative)
Parent
How about vserver? (Score:3, Informative)
The VServer Virtual Private Server and Security contexts allows you to easlity split your main linux server in to an (infinite?) number of server that use the same kernel, but for the rest are completly independent. Each server has it's own init, users, passwords etc etc. Also the networking is seperated creating intresting setup possibilities. Also think "shared virtual linux" servers instead of just Shared web hosting.
running linux as a user process on windows (Score:3, Interesting)
This would mean a number of things, but one of them would be that a windows user wouldn't even need to reboot to be able to run a full distribution of linux on their windows box.
I wonder if plex86 has a route to acheiving the same end?
An Attempt to Explain difference between UML (Score:4, Interesting)
User Mode Linux is a port of Linux that allows the host Linux operating system to run the Linux kernel as a process (this could be seen more or less, as an exokernel). This is done by changing the Linux kernel code to use malloc() to allocate memory instead accessing hardware.
UML uses ptrace to intercept its childrens system calls and then forwards them to user-functions in the kernel.
Plex86 on the other hands makes no modifications to the kernel. Instead, it takes a stock(1) kernel and virtualizes the few instructions that aren't allowed to run in user mode (an exception is thrown when these instructions are attempted to run and Plex86 catches this, performs the virtualization, and returns as if the instruction actually executed).
Plex86 is literally virtual machine whereas UML is really just removing and hardware specific stuff in the kernel and making it a regular C program.
(1) I lied a little here. There is an inherent design flaw in three instructions on x86 such that they do not allow for the above. Kevin submitted a small patch (that I assume got accepted) to make these instructions only be accessed through inlines with additional code such that they behave as they should. By correcting this, it makes implementing a VM more or less trivial.
Note: unless someone finds a _really_ innovative way to allow these instructions to be easily handled for other operating systems, it's not likely you'll see Plex86 run other properitary operating systems.
Note2: Plex86 is more likely to make it to Windows first because UML requires ptrace and Windows has no concept of ptrace(). Not to mention the fact that mmap behaves quite differently on Windows.
Note3: Yes, the above problems have been addressed in the UML Win32 port but they are non-trivial. From what I can gather, a Plex86 port will be pretty trivial to Windows...
Resisting ... urge ... to comment ... (Score:5, Interesting)
I work for VMware. if you want to believe we've corrupted Kevin's precious bodily fluids, feel free. I don't speak for the company, and I know nothing beyond what slashdot has posted about plex86. Consider yourself disclaimed.
If I understand the story correctly, plex86 has basically surrendered. They've given up on running arbitrary supervisor level code; the Linux guests that Kevin refers to above require a patch [iu.edu] to "fix" something the new "lean, mean" plex86 gets wrong.
If Linus is feeling even vaguely himself, he will not accept this patch. Ordinarily, people trying to put stuff into the kernel that a) hurts performance, and b) fixes no real problem, but c) is critical to some contrived project that seems really important to the contributor get entertainingly flamed, and then shown the door. In fact, Kevin's most likely motivation for submitting this as a Slashdot story is to marshall support for his Linux patch.
Even if Linus does accept this patch, I can guarantee you that Microsoft, the FreeBSD team, the now non-existent Be, etc., won't all be taking helpful hints from Kevin about which x86 features they may and may not use. Ergo, there is nothing interesting (either commercially or geekily) you can do with plex86; the most it can hope for is to run recent-ish Linux guests on recent-ish Linux hosts. Bestill my heart.
On the upside, maybe Kevin will stop implying that VMware stole Bochs [winehq.com], now that he's spent four years trying to clone our software and has finally admitted defeat.
Re:Resisting ... urge ... to comment ... (Score:3, Interesting)
Thanks for coming out (Score:3, Informative)
I must say that I appreciate VMWare for both its hack value and usefulness. (It's also one of the too few commercial applications that's as easy to deploy as should be with it's download-configure-pay -model.) Nice to hear a human^Wnerdish voice from someone inside as well.
Re:Resisting ... urge ... to comment ... (Score:4, Informative)
Wrongo. When we say "VMware supports FreeBSD," we mean that customers can call us and expect us to help with problems running FreeBSD in a VM. "Unsupported" guests that work fine include Plan9, BeOS, Openstep, FreeDOS, and AtheOS. VMware is not just a big dumb hack that happens to work for Linux and Windows.
Parent
Re:Slow news day? (Score:3, Informative)
Re:User Mode Linux? (Score:3, Informative)
plex86 is an x86 virtualizer that lest you create multiple virtual x86 machines to run whatever you want on them.
Re:One possible application of VM technology... (Score:3, Interesting)
O/S 390 lets you partition all of the resources (I/O bandwidth,. CPU time (think about setting up vmware to give one VM 2.6 CPUs and another 1.4 CPUs), RAM, and of course disk space). The Oracle liscence fees depend on how much processor power you give to the partition(s) you're running Oracle in. It's really too bad we didn't all get poor slow ripoffs of Big Iron rather than getting the super tweaked typewriter brains (x86) we run stuff on now. This really cool stuff has been around for decades.
Sorry, today I saw the SGI parallel machine my lab got and was reminded about how cool some hardware is. Then again, the beast isn't up and running yet because it needs some specialty wiring run in the lab. My apartment power is finiky enough the way it is.
As to the oposite of the IBM approach, I learned today that the Cray T3E isn't an SMP machine. You dedicate a certain number of the CPUs to the OS and some to running realtime/interactive processes, and the rest of the CPUs run normal processes. This is Asymetric Multi Processing, like how the FreeBSD kernel used to only run on CPU 0. I lost a little respect for Cray today, though I guess AMP is the easy way to get scalability to thousands of CPUs. You have to manually configure the number of CPUs dedicated to OS tasks, etc. While I'm rambling, is anyone aware of any microkernel OSes that run on Big Iron?