Ask Kevin Lawton About Plex86
Kevin Lawton, currently employed by MandrakeSoft, is the creator and driving force behind Plex86, the Open Source X86 virtualization software which runs under Linux and now boots several operating systems, including QNX and Windows 98. This is a tricky endeavor, because (among other things), as the plex86 site states: "The x86 processor is not 'naturally' virtualizable. That is to say, it was not designed to run multiple operating systems concurrently." But with enough feints and jabs, Kevin and company have cajoled it into doing so anyhow. He's agreed to answer your questions about virtualization (and / or emulation -- he is the guy behind the also-Open Source bochs project to emulate X86 processors), so please post your stumpers below. Make sure to check out the Plex86 website first, and perhaps read other things about Plex86 on Slashdot. (And "What's the point?" is not a stumper.)We'll forward the top questions on to Kevin, and hear back from him soon.
Perhaps somebody needs to explain to you again why FreeBSD sux. Linux is far superior to FreeBSD. Think about it. Microsoft's Hotmail service uses FreeBSD boxen, and Microsoft stuff is evil, right? Therefore, FreeBSD is evil. Good. Now, repeat after me, Linux is good. Linux is good. Linux is obviously good, because there is a big news site that likes Linux and criticizes Microsoft. Microsoft is bad, therefore Linux is good. Now, go out and get some Slackware or something.
Of course you can opt not to answer either question. But then people may rightfully suspect that you're happy to let these rumors exist, without having to take responsibility for them, simply to fuel dislike for VMware and gain support for your cause.
Because if so, then why in hell are so many people using linux, when superior, Free'er OS's exists in the BSD's
You're missing the point Bruce was supplying here. When comparing a software package you're actually paying money for, to a free one, the pricy one had better give some advantage, otherwise there's no reason at all to pay for it.
As regards xBSD vs. Linux, both are free (beer/speech) so the issue Bruce was explaining doesn't apply between these two. Please take your BSD advocacy to an appropriate thread.
When Plex86 does succeed (which it must; after all, it's open-source), won't VMWare get horribly desperate? Aren't you afraid they'll start pulling some of the patent tricks others have been thrashed with (like with Ogg Vorbis a few days ago)? Don't you fear for your own personal safety? I mean, legal battles can take months and millions of dollars to resolve, but it only takes a few grand and an afternoon to station a sharpshooter near your suv in suburbia. I'd watch my back.
A topic brought up on Slashdot a couple days ago had some interesting discussion that if Free solutions like Plex86 took off, it would destroy VMWare's business model, and show other businesses that you can't make money developing software for Linux because someone will undercut you with a Free solution. How do you respond to these fears?
This is precisely why Open Source software is in danger of destroying itself. Certainly if one is given a choice between two pieces of software with comparable features and the only distinction is that one is free and the other costs $300, a person will choose the free one. This is unfortunately human nature, and while I am sure there will be a few charitable souls that will purchase the commercial package out of pity, those few will be more than outnumbered by the innumerable hordes who know no world outside of the "everything is free" OSS utopia.
Because of this, yes, they do run the very real risk of driving commercial organizations into the ground. Many OSS advocates would not mind seeing this. However, as we have seen with plenty of projects in recent years, Open Source efforts tend to be abandoned. They have a sponsor (or sponsors), are developed furiously for a period of weeks or months, advanced to the point where they are at least partly functional, and then dropped on the floor.
At that point, the masses have nowhere to turn. They have the source, but the truth is that 99% of all Open Source users cannot be bothered to do any maintenance on the code they use. So now we've got tons of people stuck with a piece of unusable software. If the commercial alternative was still available, they would have some place to turn to. Ironically, though, their devotion to Open Source has dried up the well of potential commercial replacements, because those replacements have been chased out of down, tied to a fencepost, and beaten to death by zealous ideologues.
The problem with Open Source can be boiled down to one simple concept: the worship of Self. End-users cannot be asked to actually (gasp!) pay for their software, because they worship themselves and would rather spend their dollars on things such as MP3 players and alcohol. Developers refuse to take money for their software because they are more interested in immediate ego gratification than they are in financial gain. Their worship of themselves clouds their economic reason. And since they don't pay for any of their software anyway, who cares if they don't get paid?
Many people have tried to draw parallels between Open Source and sociopolitical/economic systems such as Socialism and Communism. I don't think that is entirely accurate. There may be some valid points there, but I think the devotion to OSS is more of a religion. The closest religion that extreme self-worship comes to is Satanism. The name "Satanism" is a bit of a misnomer, since the religion is not about worshipping the devil, but about self-Godliness, the worship of self, and the immediate gratification that comes from it.
Now this does not mean that all OSS advocates are Satanists, but the similarities are there.
The list of operating systems that plex86 can run has grown dramatically. What can I say? Good Job!
The question I have is: Can you run GNU Hurd on it? (Or even run plex86 from the Hurd?). A while ago there was talk about how to use VMWare to boot the Hurd under linux, with the oblicatory comments about non-freedom of the product, and people suggested supporting OS products first. Unfortuantely, I haven't found information on how to do this.
If I could run Hurd under linux, I'd be helping the project, but it is hard when I would have to reboot to do much.
The goal isn't to run a stripped-down Linux in a VMM. The goal would be to run the VMM on the bare metal. It becomes the OS, and thus needs the device support. Traditional OS's are just applications in this model, like the Guest OS in VMware/plex86.
--
A suspend option is very useful for a virtualizer, though. I use it in VMware all the time.
Interestingly enough, "instant restore" (and shutdown) for desktops/servers is available for FreeBSD now via the Rio project and probably could easily be ported to Linux.
--
I purchased a copy of VMware, and have been mostly happy with the results. However, it seriously lacks support for external devices. Only the cdrom, mouse, parport and a couple of other minor devices are supported in VMware.
I plan to do much work in MIDI in the near future and would like to have this work in VMware. Unfortunately, I have no option to add such support.
With plex86, I have this option. plex86 fills a need. The commercial VMware is not supporting its users in ways they desire. An itch exists and Kevin is scratching it.
--
but even so, if it isn't useful, IMHO it doesn't exist (yet).
--
These advantages also apply in single-user environments to various degrees.
--
Other users want to run multiple OS's for various reasons (testing, providing different environments, etc.). In this case, virtualization is necessary.
But when people talk about virtualization, they are talking about the ability of a small host program (called the Virtual Machine Monitor) to provide a model of the hardware to guest applications. In traditional virtualized environments, the VMM is really a micro-OS whose sole purpose is to model the hardware and manage guest applications. Those guest applications are "traditional" operating systems.
So strictly speaking, the point of virtualization is to run OS's as applications, but that is usually just a means to some other end (reliability, functionality, etc.).
As for whether we could have a "transparent other-os-app-loader," we already do to some degree under Linux (binfmt). It can be used to run Java and Windows (using Wine) apps tranparently. Doing this with plex86 is more complicated, but I can imagine an event communication path from the kernel to plex86 telling it when and what to load.
--
Kevin, is support for any of this planned?
--
Now, there are virtualization issues with the x86 architecture and it's not clear to me what plex86 does about those.
--
From a very cursory reading of Kevin's virtualization ideas, it sounds like they're using breakpoints to mark potentially unsafe code. So it's true that the first time around, the code is scanned and unsafe instructions are marked. But after that, the code should be able to run natively and the breakpoints will act as the missing hardware traps.
There are issues with modifying code (by inserting breakpoints) which may be read/modified by the application, but the docs describe how some of that can be handled as well. In any event, it doesn't sound like plex86 has the sort of "main loop" described above. It's more like FX!32 where unprocessed code traps into an emulator/scanner.
Perhaps someone on the plex86 team can clarify and correct the mistakes I've almost certainly made.
--
That said, there are definite advantages to hosting the VMM on another operating system. The largest is probably device availability. By piggybacking off another OS, plex86 can take advantage of all the device drivers written for that OS. Device models can easily be implemented using native drivers.
To support the S/390-style virtualization, plex86 would need to include from-scratch drivers or models for a reasonable amount of the hardware a guest OS might use. Of course, they could leverage the Linux source for some of this.
--
Title should be 'Broaden the User Base?'
I was going to ask the same question. I know the PowerPC is a fully-virtualizable design (one of the reasons Mac-on-Linux has come together so quickly, as compared to similar projects for Windows/x86), but I don't really know all the specifics of what makes it so.
_____
Sam: "That was needlessly cryptic."
Max: "I'd be peeing my pants if I wore any!"
It appears that this integration could be done in Win4Lin as well, by an install proceedure which set up Windows to boot from a Linux filesystem, replacing winsock.dll and wsock32.dll, and other portions of Windows as needed to do the job.
Is anyone working on such integration features, and if not, would you be interested in people contributing Windows drivers for that purpose?
Life's a lot like money-- you spend it, then it's gone. Spend wisely.
Amazing work Kevin!
Can you see Plex86 being adapted for instrumentation of code? It seems at first glance that the "scan-before-execute" architecture might be used to instrument pages to keep track of counters, memory and i/o references, watchpoints, etc. This could be done for ordinary Linux userland executables, as well as entire operating systems running under Plex86.
There are other free instrumentation and probing efforts underway, like the Linux Trace Toolkit and the IBM dprobe work, but they don't really seem suitable for things like (1) tracing every memory reference or (2) profiling all basic-blocks.
Perhaps IBM's Daisy project would be better suited to this type of instrumentation. Thoughts?
I work for VMware, but I don't speak for them. While I've been trying to hold my tongue through some of the more absurd flames, this seems like a genuine misunderstanding. Efficiently virtualizing the x86, or unvirtualizable architectures in general, is still arguably an unsolved problem.
Some architectures make writing virtualizers easy. If every instruction that examines or modifies supervisor state traps when run from user mode, a simple virtualizer is quite tractable: you establish a trap handler which decodes the faulting instruction and emulates it "by hand", and then restarts the guest OS at the next instruction.
Unfortunately, x86 instructions may or may not modify supervisor state. When run from user mode, these instructions silently fail, rather than trap. For example, the x86 program:
pushf
and (esp), ~(0x40)
popf
Will clear interrupts if run from supervisor mode. When run in user mode, it is an elaborate no-op. The cpu does not trap to indicate the attempt by the user to disable interrupts; it simply ignores the attempt.
Fine, you say. Simply write a virtualizer that behaves like a debugger; it can scan guest OS code ahead, and look for popfs, or any other problematic instruction. Stick hardware breakpoints on those instructions, and change your trap handler to a breakpoint handler. Sounds good. You have the following problems:
My job prohibits my discussing how VMware approaches these problems, and for lack of knowledge I can't tell you how Plex86 approaches them. However, this should give a flavor for some of the problems in virtualizing an unvirtualizable architecture.
Could you make it so maybe I could virtualize a Sparc or an Alpha instead of an i386?
------------
a funny comment: 1 karma
an insightful comment: 1 karma
a good old-fashioned flame: priceless
this sig limit is too small to put anything good h
Bruce
Bruce Perens.
Just wondering what some of the other uses you can put a project like this to. Obviously, most people think of it as a way to run Windows in Linux. I think, however, of the IBM VM of old, (or not so old) where you can run different operating systems for increased uptime, scalability, etc.
So, what are some of the non-obvious uses for something link this?
Yes, I'm still a junky. Are you still a bitch?
And just how many copies of this hypervisor could you run at once on the same machine? Hmmm? What was that, only one? Thought so.
Multitasking VM86 sessions does not mean you've fully virtualized the CPU.
--
Program Intellivision!
Program Intellivision!
Whats your favorite kinda vodka to drink on days when you are stumped?
I like Finlandia.
--- I do not moderate.
Best of all is that even if plex86 wasn't to support MIDI, you could always add it yourself (or get someone to add it for you).
If VMware tells you that MIDI's not supported in WMware and will never be, no matter how much you rant or offer to pay them, then you're Just Plain Fucked.
Free software removes the user's dependance on the vendor, a point which IMHO is of high importance, but too often forgotten.
Quidquid latine dictum sit, altum viditur.
I know. I'm baffled by that one!
Bochs and Plex86 are two different beasts. Plex86 is inherently not multi-architectural. It is designed to do virtualization on x86. It should certainly be possible to run it on a variety of x86 OS's, however, such as FreeBSD. Bochs, on the other hand, is an emulator. You can emulate x86 on non-x86 architectures.
----
Celebrate the finer things in life
are you planning to port to windows at all?
so that people can use linux as the guest under windows
how bout other OS's such as BeOS or QNX
Moreover, with the rumblings of eliminating non-free, it may not be distributed through Debian at all, regardless of legal issues.
If Debian dosn't distribute it, that's probably just too bad for Debian. Not everyone shares Debian's philosophy of Free at all costs.
I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
numerical computation stuff isn't exactly the hardest thing to code up
Should have said: in comparison to *symbolic* computational stuff. There are many numeric cruncher programs out there, but in the land of nontrivial symbolic math, you can practically count them on one hand. (I looked into this a while back, esp. in the SAL pages)
Not to belittle the work that has gone into MATLAB or Octave, only that writing a free replacement for Maple or Mathematica would be a much harder undertaking. Less algorithms, more heuristics, and a much hairier problem space.
iSKUNK!
When do you think that the x86 architecture will get rid of the BIOS in favor of a full hardware bootloader like most other platforms (Sun, AXP, SGI, IBM, Mac....)? It would be nice to be able to load any OS at boot time without using any additional software.
I don't know if MATLAB has important features yet to be implemented in free software-- but I have to agree that numerical computation stuff isn't exactly the hardest thing to code up.
Wow, that is one of the most wrong headed statements I've heard in a while. If you don't believe that, then code up an efficient way of computing eigenvalues for a large, sparse, ill-conditioned matrix (hint: you'll want to do a lot of reading on the subject). Numerical Computation is not an easy field, and shouldn't be dismissed as such so easily. The algorithms in MATLAB and Octave have decades of refinement.
"It's overkill, of course. But you can never have too much overkill." - Anonymous Slashdot Coward
So, bruce, can I take from this that superior systems should always be chosen?
Because if so, then why in hell are so many people using linux, when superior, Free'er OS's exists in the BSD's
Not a flame, just a pocket of truth, to those that can't handle it
Boxers, or briefs? ;)
There's been a LinuxPPC Mac virtualizer, Mac on Linux, for quite a while longer than plex86 has existed.
What have you learnt from MOL? Is it easier to virtualise an OS on PPC (if so, why?) Are the necessary kernel modifications between the two packages similar, and should/could there be some sort of generic kernel virtualiser API across all flavours of Linux? (i.e. are any bits of it not CPU dependent?)
Do you see plex86 and MOL co-operating on, for instance, the Linux side of a 3D graphics card emulator? (That would be extremely cool!) Or can you use the ethernet/ethertap code from MOL to enhance plex86's networking?
What, in general, do you think of MOL?
Have a look at Mac-on-Linux, the LinuxPPC virtualizer equivalent:
Mac-on-Linux
It uses the Linux ethertap driver to create a virtual ethernet within your computer. You can then set up a router (including, if you wish, masquerading) between this and your normal ethernet card - or PPP connection - or whatever.
If that's too complex you can instead just attach it to your regular ethernet interface, though obviously you would then need two IP addresses. I don't know whether it uses promisc mode for this.
I've given this very thing a try on multiproc boxes and VMWare. It does *not* scale well, mostly because of the VM overhead. The software overhead is massively innefficient. It's worth the extra 50-60 dollars for the whole extra box (at least in the beowulf environment.) The mainframe boys have the nice advantage of having the "emulation" done in hardware. There's no reason to strain performance like this.
{|}---Tony Hagale -- tony@hagale.net -- http://tony.hagale.net
I know this probably gets asked a lot, but how does the Plex86 compare to VMWare currently, and more importantly do you see Plex86 potentially growing and improving faster than VMWare because of the open source movement?
What I didn't really like in VMware was the fact to be dependent on a commercial company to get support in virtual machine for all kinds of devices such as 3D cards and the like. I really thought only an open source project could allow the pass-through intercepts to be flexible enough to meet a lot of differing needs. Are you considering such an approach in plex86 ?
What I dont understand, is why does not producing something for linux prevent people from still making it on linux?
After it has been made, if it wsa intelligently* seperated into kernel and user space parts, it should quite possibly be able to be ported to windows, or whatever the OS of the day is.
Journey
* This is sometimes incredibly hard . . .
From what I've been able to tell, Plex86 requires a disk image to boot its guest OS, instead of being able to boot from a floppy or CD and go through the normal install process. However, I haven't found any good documentation on how to do this. Is there any good reference for using the supported OS's under Plex86?
I don't think this endangers commercial software at all. Linux is, and always was, by hackers and for hackers.
Then maybe RedHat, Mandrake, and the like, as well as groups like KDE, are taking the wrong approach entirely. :) After all, they are trying to make Linux useable for Average Joe Idiot, to a great extent. "A viable alternative for Windows" means that windows users should be able to use it without much hastle. And there are a lot of stupid windows users. (And linux users - but there's definately a higher percentage of stupid windows users).
For one, if I can run Outlook, notes, VC++, and IE, then I can install Linux on my corporate workstation. Otherwise I can't.
You might be aware of the project called kdevelop. Or you may not. At any rate, if you need a graphical 'development tool' with the debugger and such built in, that's your candy. (No idea how it'd work with kludged MS app devel, though.) As far as outlook, IE, and this 'notes' thing you're talking about - I use mozilla/netscape and pronto! on my box on a purely MS network which is standardized around WinNT4.0, and I have no problems. (Also standardized around Office2k, and I use Abiword... granted, I don't want or need the more 'advanced' crap that MS throws in there, but what the hey. I'm doing it.)
-------
CAIMLAS
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
BeOS can do this
both Bochs and plex86 need to emulate some hardware platform (video card, network), even though they approach executing instructions in differing ways.
Is there any possible reuse bewteen the projects there? How feasable would it be to use a common hardware emulation infrastructure, so that the provided hardware becomes as rich as possible. This is of course an issue as each device you want to use in a hosted OS needs to be emulated as well.
I'm currently using Win4Lin (http://www.netraverse.com) to run Windows programs, and am very impressed with its performance. Netraverse does not reveal many of the technical details as to how they get such high performance and fast startup times, however, here is a quote from a press release:
"Win4Lin is derived from a proven technology developed over the last 15 years for UNIX® based operating systems, most notably those of SCO®, under the MergeTM brand. With Win4Lin, users boot Windows 95/98 as an application running under the X Window SystemTM on Linux."
My general understanding is that Win4Lin is not a wholesale virtualization of x86 to run Windows on, but rather a patchwork of Linux device drivers and kernel hooks that allow a DOS/Win32 session to run as a Linux userspace program. The result is you get Windows running securely in its own sandbox (just where Windows ought to be!)
Any insights into this, and how Plex86 is similar or different?
Quite frankly -- Who gives a rat's ass about mom -n- pop stores??!
We're living in the Digital Age and if mom-n-pops can't compete with Walmart by providing the same merchandise at cheaper prices, they will die out. As they should. Go back and review your Economy 101 notes. It's all about satisfying your customers.
This post encoded with ROT26. If you can read it, you've violated the DMCA. Handcuffs please, sergeant.
Yes, but the idea is that to port to FreeBSD, you don't have to port everything -- the needed kernel support is abstracted into the module. You should be able to rewrite the module for FreeBSD, and recompile everything else more or less out of the box.
--
The scalloped tatters of the King in Yellow must cover
Yhtill forever. (R. W. Chambers, the King in Yellow)
The scalloped tatters of the King in Yellow must cover
Yhtill forever. (R. W. Chambers, the King in Yellow
It wasn't announced. It's a flat-out lie. It runs Win95 all the way up but crashes on some applications and it runs WinNT up through login to the desktop and atleast a handful of apps. I haven't seen any official word on 98 though. Sorry,
Justin Dubs
Be careful, you can't use a partition bigger than 400M (or was it 500). I forget. It's a limitation of plex86 and it's LBA code. Other than that you are correct though. I think you can just dd the partition to a file and that should do it,
Justin Dubs
What are you talking about?
We are talking about plex86's ability to handle CD's and floppy images, not linux's. Linux has been able to do this for a LONG time via loopback mounting, however plex86 can't handle devices yet, just files. That's why you can't just plex86 your windows partition, you have to dd it to a file and plex86 the file.
Hehe, I verbed plex86...
Justin Dubs
That is only partially supported as of now. There are bugs in the LBA code and partitions bigger than 400M aren't supported yet. I don't think using /dev/hda? will work even with the smaller partition sizes though. I think right now you are stuck with using images...
Justin Dubs
If you follow the mailing list you will see that they just got a port to NetBSD (i think it was Net) up and running. So, FreeBSD can't be far behind. They said that very little of the code was platform specific so porting wouldn't be a big deal. Give it a few weeks (or days)...
Justin Dubs
This is all covered in the faq and the mailing list. They just finished (we think) a NetBSD port so a FreeBSD one isn't far behind. There is very little platform specific code, so it should be pretty easy to port. As for bochs, see the faq...
Justin Dubs
How can a volunteer from Linux community help with the development of FreeMWare?
Hey Kevin,
When do you think you can get around to implementing LBA support, so that you don't have to keep on answering this question?
(Serious, though, as I understand it Plex86 already supports partitions, but it isn't very useful and the disk size currently has a 500 MB limit).
Maybe closer than you think. I am going to take a crack at "double-heading" video, so that a box with two video cards can dedicate one to the host and the other to the guest. If it pans out (when??? it pans out:-) that will allow native windows DirectX drivers to use the dedicated hardware. Emulation of video hardware, including DirectX, is a hot discussion topic as well. Expect it to be done. (If nothing else, I want to update my DirectX driver knowledge to DirectX8).
Hi Everyone,
As we have a large, captive audience here, I'd like to point out that a major need for the Plex86 project is documentation. Is there anyone out there who can lend a hand? Kevin keeps asking, but no-one has stepped up the the plate, yet. If you can help spiffy up existing documents and fill in what's missing, here's your chance to be a hero!
But then I haven't tried this (I keep a seperate machine for non-essential things like opening Office docs and playing Half-Life on. ;-) ), so I could be talkin' out my ass.
Trust me, you are (:-)
First off, the hardware is virtualized, so someone has to find a way for host accesses to play nicely with guest accesses, if you're talking hardware acceleration. The guest OS driver has to co-operate with the host OS driver. Funny thing, this is implemented on ANY guest OS... You'ld think they know better.
Next, Direct3D does NOT default back to software if a hardware acceleration is missing - it simply doesn't support it. (The DirectX philosophy is that speed matters more than completeness, so Direct3D drivers report what they can do and the application is supposed to choose from this menu and not try anything that isn't supported).
Anyway, we're working on it (or at least thinking about working on it - just wait until I have my home firewall configured and the cable run to the DSL...)
(And yes, in that regard, Linux is better than NT - between chroot and capabilities, you can monkey up most of what you get from Plex86, but not nearly as slick as, say, Inferno.)
???? I'm missing something here - how do chroot and capabilities allow you to run other OSes (and their apps) natively??
Perhaps you were making some other point, but I am honestly missing what it could be. Enlightenment appreciated - thanks.
This may not be a good question to put to Kevin, as he basically feels (with what looks like good reason) that the founders of VmWare basically stole their idea from him, using Bochs as a base. He doesn't actually say so in so many words, but it's pretty clear. So he probably doesn't care and this is a rather special case, anyway.
pcAnywhere survives and thrives, despite the existance of vnc...
I suspect that VMWare will do the same.
-T
Old truckers never die, they just get a new peterbilt
Then again, I remember being a little kid and hearing a recording of my own voice -- it sure as hell didn't sound like me!!!
--
--
E2 IN2 IE?
"The country had a huge fall because people before the Great Depression where following the "true spirit of capitalism" and investing all of their money".
You are half correct. But the real question is why were they investing all there money?
The simple answer is investors were seeing high returns. Then you would logically ask the question , What was causing the high returns?
Now this is where it gets difficult. The Federal Reserve was established in 1919. Now lets establish that the Federal Reserve in _not_ a capitalistic idea. In fact it is a Marxist one (it is one of the ten tenets of communism outlined in the Communist Manifesto).At that time there was a _lot_ of pressure put on the Government by socialists parties, special interests, and unions. The Government followed the "will of the people" and started instituting _some_ of the Marxist ideas. These same groups put pressure on the Federal Reserve to keep interest rates low, and they did. This led to the boom of the 20's but the interest rates were keep to low for to long and by the time the 30's came along inflation had taken over, the market had crashed , so on etc..
"The outcome of that was that we got laws to limit "the true spirit of capitalism" in order to protect the economy."
Again you are only half right. The outcome was that we did get new laws to limit "the true spirit of capitalism" (what ever the hell that is) but thoes laws along with the the establishment of the Federal Reserve and other government control measures were at least partially if not wholly responsible.
"Economics is not about ideologies, or and cool catchphrases such as "the true spirit of capitalism", it is about creating a finely balanced machine that can handle whatever falls within its framework."
You say "Economics is not about ideologies" tell that to Adam Smith, Ayn Rand, or Allen Greenspan and you might get laughed at or called evil by Ms. Rand (to of those people are no longer with us). Capitalism stems from the belief in individual rights. That my goods and property are mine and mine alone and I can do with them as I choose. So yes capitalism is about and ideology and no it is not about "cool catchphrases". Plus Marx had much better catch phrases than any capitalists.
OSS is a capitalistic idea. Please see my user info page for how that applies to Objectivism (one of them crazy capitalistic ideologies). The short of it is that your resources are yours and you can do with them as you choose.
" It may turn out that it works and is healthy for the economy. Then again, it could turn out to be another dot-com disaster (or worse.)"
You could not be any more correct. The market will decide if it is beneficial or not. I suspect that it is going to be around for a long time.
you hire the people that wrote the free software.
The following is based on my personal attempts to get people in my office to use Octave in stead of Matlab: Although Octave is an impressive work, its graphics support is quite limited. Matlab provides very nice, interactive graphics. Until Octave can do this (and seamlessly support ALL Matlab function calls), there will always be a market for Matlab.
Can someone enlighten me?
Thanks.
-The Tempest
If you had to choose between having one Operating System running flawlessly under Plex86, versus having a lot of OSs running less perfectly, which would you pick? Which of these two states do you think would be closer to the perfect virtualization of all OSs? If you did have to choose one OS to run perfectly in Plex86 virtualization, which would it be?
All kings is mostly rapscallions. -Mark Twain, The Adventures of Huckleberry Finn
A lot of the code of the guest OS and processes run natively. Plex86 uses exceptions and breakpoints to handle "funny" stuff.
But I want to know if such code could be rewritten in memory so it runs quicker next time around.
Problems:
In that case the in-memory version would be different from on-disk. Better be sure not to confuse it with write-through cache
Self-modifying code (and code that wants to read itself) would be a bit confused.
Assuming the optimized code is larger than the original how do we fit it in!
I suppose an OS could help when it is aware that it's environment is actually Plex.
When loading an apps' code into memory the guest OS, not Plex, could optimize the code and give it more space than on disk file size. It would have to change stuff like symbol tables and stuff (IIRC).
etc. etc... the guest OS knows more about what's happening (and will happen) the plex will know
Well, I seem to recall showing some guy called Ballmer a 386-based machine running several copies of DOS under the VM/386 virtual machine "hypervisor" at Comdex/Fall in Vegas in 1986. You could hot-key between DOSes all running (single) different apps.
This truly created multiple virtual machines under which you could run various OSes, although the DOS thing was a bit of a party trick. One way of getting MS to multitask in those days . . .
Sure, I expect the funky shops on the Castro to carry male thongs, but it's a bit more surreal to walk into a respectable deparment store and see it.
"The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
Here in San Francisco, I swear to God, Macy's sells male thongs.
"The question of whether a computer can think is no more interesting than that of whether a submarine can swim" -EWD
plex was ported to NetBSD, see the netbsd site. Might help in porting. ;)
- Hubert
Tested operating systems include FreeDOS beta 4, MS-DOS 6.22, Red Hat 6 Linux and NetBSD 1.5, stay tuned for more to come. Instead of doing full CPU instruction emulation, Plex86 runs native i386 code at full CPU speed, and only intercepts the code for system calls into the host platform as well as instructions that modify the machine state like trap or IO operations. Simply speaking, it is an open source version VMWare.
See the NetBSD site for more information!
- Hubert
If nothing else, I want to update my DirectX driver knowledge to DirectX8
DirectX 8's support for DirectDraw (2D) video is now a mere wrapper around Direct3D. This will increase performance on systems whose drivers are heavily optimized for 3D (e.g. for Quake benchmarks) but horrible in 2D.
(still can't believe a plex86 developer has the same name as one of my video game characters)Will I retire or break 10K?
Missing the point. The code runs natively except when trapped. If the CPU supports an instruction, it can be used under the VMM.
Anonymous Cowards need not reply.
When you live in a sick society, just about everything you do is wrong.
-- Kris
Vmware seems to be adapting their business model. They are developing server products that are now in beta. They have 2 versions. One runs under Linux and the other runs directly on the hardware and both run the usual guest OS's. I believe there is plenty of room for both Plex86 and Vmware. Maybe Citrix should worry about losing some market to Vmware's server products (probably not).
I ask, because I run two x86 boxes and would like to run them as one if possible (combining the harddrives and memory to make a more powerful singular computer). Or this outside the scope of the project and more for the Xfree86 people to implement?
Lemure, wtf! Don't you mean Lemur?
As I understand the Crusoe chip, it's basically got a virtualization layer built-in and integral to the running of the chip (I think they call it code-morphing); is there some way for you to either take advantage of the work they've done or optimize your own code for Crusoe's bearing in mind this double virtualization?
Dan.
"Claim everything, concede nothing, and when convicted - alledge fraud"
There are two issues here. First, the current build of Plex86 cannot run on SMP systems. What are the problems that need to be addressed? Secondly, suppose I boot a virtual Linux box on my dual processor Linux machine. Are there plans to allow the virtual Linux box to act as if it is running on both processors and get the power of both processors?
main(i){(10-putchar(((25208>>3*(i+=3))&7)+(i ?i-4?100:65:10)))?main(i-4):i;}
Have you done any benchmarks for PLex86?
Have you measured performance with Windows or other Windows emulator/VM's?
Do you think virtualization of this sort is a feature that we fundamentally ought to have, or is it more of a hack to get around the limitations of current OSes? Obviously it's a win for multiple OSes, but for security/configurability/reliability issues wouldn't it be better to just have OSes that suck less?
(And yes, in that regard, Linux is better than NT - between chroot and capabilities, you can monkey up most of what you get from Plex86, but not nearly as slick as, say, Inferno.)
As to being realistic, sure, do you think I'd even be on /. if my blood pressure wasn't A-OK?
Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.
Death of FreeBSD predicted. Film at eleven.
Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.
I don't see anything from anyone else about networking, so here goes:
VMware has an interesting approch to bridged networking - putting eth0 into promisc. mode. Do you think this is the best way to do VM networking? What methods would provide the best performance with the lowest overhead?
---
Desperation is a stinky cologne
groovy im anxious to here how you do make out
back in the day we didnt have no old school
so how does one make plex86 run a windows95? i got plex86 running yadda yadda but how does one make the windows95.img file? i could find a point blank explaiin on this
back in the day we didnt have no old school
What do you feel are the merits of emulation/virtualization as opposed to creating a native software clone?
Do you think that you may unintentionally slow development of Linux-native software solutions for people migrating away from Windows or other operating systems? Some of the urgency for developing in Linux is lost if people who have come to Linux from Windows just carry all of the old baggage with.
Also, in the commercial sector we have seen some software products use Wine (IBM Websphere for instance) rather than offering a true Linux version.
Even further..
Would a second processor dedicated to Plex86 (with proper support of course) make it possible to run the OS at native speed? I ask this because when I ran VMWare on my Athlon 700, 256MB RAM it was increadible slow.
Monkey sense
Unfortunately, the site is slashdotted, so I can't just go look this up. When did Plex86 start running Win98? I saw the earlier report that it could boot NT to the logon screen, and QNX, and I knew it could handle 95. Was there an interrim announcement?
--
Remove the spamfreak to speak.
Oh God yes! Someone do this and I'll pay up for it. Good thinking man!
Whatever happened to the Bochs for Win32 port? It was available up until you were bought out by Mandrakesoft. There's no links, and the official Bochs page makes no mention of it anymore. It was being maintained by David Ross, but according to his website, his "Projects Pages" have been removed until further notice. So, again, What happened to the Bochs for Win32 port?
witty sig goes here
VMWare's Mendel Rosenblum visited UC Berkeley a while back and was asked how they solved the well-known x86 virtualization problem. As I recall, he did not give an answer, and I assume this to be at the core of VMWare's intellectual property. Are there patents covering these techniques which may hinder Plex86?
Will this be portable to Windows and Mac? Will we be able to use Cygwin or U/Win to build Plex86 on Windows? And will this be portable to 68k and/or PPC Macs?
Definitions:
XML: Leading the way to make the web a ebiz thing
I've recently tried the vmware product on a pent III machine running at 300mhz. (I haven't tried yours, so I'm not comparing) When it booted win98 it ended up being too slow to be usable. Is this speed inherint in this type of problem, or is it possible to have plex running win98 at something approaching normal speed.
This project is greate for two groups of users: The group that wants to expiriment with very lowlevel code like OS programming and the group that wants to run other OSes.. The second group needs the program to be userfriendly and easy to install. Is this a priority for the development group?
1. create a virtual os os.
2. define a virtual os executer's interfaces
3. allow virtual os executers to support the chaining pattern (like unix pipes metaphor)
4. let those familiar with a specific os implement the virtual os executer's interfaces
5. let crazy people build crazy filters (between the virtulized os os and the virtualized os executers it is running) like some of the following:
- allowing an os to save its entire state on a power down command and to reload saved state on power up.
- save x number of states every y minutes, in case of failure or hacking, just reload a previous state and fix the problem before you rearriving at it again.
- allow os context switching by yielding after a low level write to network buffers. the filter can then act as a proxy looking at the low level data, reconstructing the tcp/ip packet and perhaps rerouting it back to local host operating system #2 (or #3...). this would effectively allow programmers to do client/server coding and testing on the same box.
- os morphing. a web site that detects an attack can have another os switch as active. imagine the smile on your friendly neighborhood cracker's face when after tripping the port scan alarm, a windows nt box morphs into a free bsd box.
jim
"a love of possession is a sickness of theirs" -- sitting bull
The main problem with emulating directX is that directX is a verry complex set of libraries that communicate directly with drivers and hardware, since linux and windows are verry different OS's you would halt create wrapper libraries for almost every function DirectX provides, that would also come at a major performance cost. Needless to say, getting directx emulation up to snuff is no small feat.
I've heard that transmeta have been great to linus, and given him a lot of opportunity to work with linux. I've heard they've given him a lot of leeway and freedom. But i havent heard that they're letting him take their IP to donate to an opensource project to do in software what they do in hardware. They may, however, do so, I guess. I would hesitate a guess that they wouldnt, though, and would hesitate a guess also that he would stay well away from any such project as much to *protect* that project from becoming subject to lawsuits based on patent infringement purely because he was involved.
That's just my opinion though.
---
Video meliora proboque deteriora sequor - Ovidius
I should have included that the goal was to use code-morphing UNDER Plex86...
But what portions of MMX arent emulatable? and for the portions that arent dont they need to be made so all of the MMXl'l work?
Are there any plans to virtualize (or emulate) MMX stuff in Plex86? or any other extensions to the x86 hardware like that and whats the timetable as far as network card emulation in plex86?
This was discussed on the mailing list some time ago and i believe ibm actually has something like this already for x86 virtualiziation but owns a patent on it and it was decided it would be easier to run on top of linux so you wouldnt have to develop a whole new set of drivers for every peice of hardware out there for this new os.
look for the windows emulator twin it didnt run to well last i tried but probably about as well as wine did but it includes a complete x86 emulator which means running windows programs on mac, dunno if its being actively developered tho.
Someone is working on this now in the form of Freeze and Thaw plugins he even had it freezing but not yet thawing out the saved file but Kevin said now is not the time to do something like that eventually it will be completed but right now there working on speed.
--
--
You are a fucking moron.
For example, there is no acceptable free equivalent for MATLAB or Mathematica, or for high-end 3d modeling software, or for good CAD/electronics design software, etcetera. These are the kinds of things that my livelihood depends on. Virtualization machines are a mere convenience.
The lact of a free MATLAB equivalent actually bugs me quite a lot. It really seems to me that a bunch of college students could cobble together a MATLAB equivalent (everything therein is based on well-known algorithms, all you need to do is look them up in a CS/applied math journal and implement them, one at a time...) and actually have something useful that could save them quite a bit of money.
I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!
I just want to clear something up. Does plex86 run windows95 AND 98? The /. summary says, "...Open Source X86 virtualization software which runs under Linux and now boots several operating systems, including QNX and Windows 98."
I can't find a link on the site listing what OS's plex86 runs... anyone know it?
This could have some application in automated (read: novice) testing and installation of new kernel code. Or perhaps a stripped-down and minimal "hypervisor" could be crafted that ran multiple virtual guests, but which removed itself from the system when only a single guest was present.
Can't imagine this is a trivial exercise, but that's what we pay you for. (Hee!)
Will plex86 be able to do more than 640x480 VGA graphics? 800x600 256 colours would be a good start....
-- Soruk
So I have good reason to glare at my local bus driver.
-- Soruk
Do you have any plans for a port to FreeBSD? VMWare does not support FreeBSD (although there are ways to get it to run with linux binary compat libs).
The basic requirement for this would not be that someone add DirectX support to Plex86, but that:
- someone write a VESA (preferably XVGA+ or better
;) emulated video hardware using DGA, DirectX or some other direct-to-hardware method on the host system
- THEN write a Windows95/98/NT/2000 driver (Or X driver depending on guest system) for that emulated hardware that include direct-to-hardware support.
I could see a lot of possibilities for passing through low-level 3D calls.This would also be the requirement on Xwindows, and Mesa would probably be a good package on which to base the 3D emulated hardware support.
For the record, this is what UAE (Ubiquitous Amiga Emulator) does. Basically it has a "UAE" graphics card, and a driver was written for the Picasso96 accelerated graphics replacement subsystem for AmigaOS that used this "hardware". On WinUAE this basically allowed me to run the AmigaOS in 1400x1050 resolution on Windows2000 (WinUAE hosts on DirectX) on my Dell laptop. Fun fun fun.
Hmm. Perhaps, when the Plex86 folks are done, they can do Plex68K. There's a good 68K emulator in UAE, and Bernie Mayer wrote a patch for JIT compilation in UAE.
i - This sig provided by
There are good examples of this already. UAE is an Amiga hardware emulator, which runs AmigaOS and AROS (I'm hoping to try OpenBSD on it soon ;) It passes through serial and parallel port access.
Harder would be CDROMs and other such devices. Especially in Multi-User secure environments. You would have to open up permissions on a variety of devices to allow Plex86 to use the passthrough if it were running in an unpriviledged user's process.
Definately a good thing, if you can get it, though.
i - This sig provided by
If Kevin does not want a DFSG-Free plex86, then that is his choice and I can accept that. I'd even cheer that decision because no developer should be forced to license their code in any particular way.
However, beyond the Free Software rhetoric, there is a practicality issue here. I could always package plex86 up outside of Debian-proper and provide the apt sources to allow people to fetch it. However, this means plex86 won't be distributed on some Debian CD images and it won't be mirrored on some Debian mirrors. This is true even if it is filed under contrib in the official archive. This, I think, would be very unfortunate, as Debian is known for the wide-range of packages available and its open development model, both of which drew me to Debian in addition to the packaging system.
--
Linux does have potential (as yet mostly unrealized, and certainly with more work needed) to compete against commercial software. Frankly, I think that's fine. The commercial software vendors who innovate, provide excellent support and the like will survive; those who don't, won't, and the people who would have bought their products will use (and fund further development on, if necessary) Free software. What's not to like?
I support free software for a living, and the pay is fine. (Well, my pay individually sucks, but that doesn't apply to most of the rest of our employees; it's part of the price I (happily!) pay for living in Chico rather than Sunnyvale).
Btw, I work at MontaVista Software, and while Engineering is linux-based, we're still working on converting sales and management. With the use of such products as Win4Lin (in particular), we're actually making real and significant headway in that direction. You may wish to check out Win4Lin if you're really serious about running linux on your corporate desktop while keeping your Windows apps.
What does the timeline look like for Plex86? I can tell it's pretty much alpha-level now...
/dev/hda with the first chunk of /dev/hda1; woo...) Could you put whatever tool made a partition for Bochs into Plex86? I swear there was one once; maybe I just can't find it....
Also, are there any other GPLed projects that you think could help out, or vice versa? I think DOSEmu could benefit a lot from some Bochs code, for instance. (I know DOSEmu has its own CPU Emulator, but I have yet to see it do a whole lot...)
The last time I tried Plex86 out, it looked like Bochs was actually faster, and that's saying something. Maybe there was a parameter I needed to tweak in the configuration file. I couldn't get Plex86 to boot Win98, although DOS worked.
Oh, and I had a fun time trying to determine how much of my Windows partition consisted of the MBR. (comparing the first chunk of
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
I actually installed plex86 exactly for this. I was attempting to create a bootable CD for a particular function, and I wanted to BOOT the ISO before burning it so I wouldn't waste disks.
I took a longshot that this would be supported, and I ended up losing out.
Thanks
Bruce
Bruce Perens.
I was extrememly happy with it when it ran my favorite DOS game from the past. EGATrek. DOSEmu would crash, didn't have Wine w/DOS emulation, and VMWare wasn't around. Bochs got the job done :)
:)
That was my milestone
What would it take to get NeXTSTEP or OPENSTEP running under plex86?
Moderate the original posting down! This is a huge FAQ at the Plex86 website.
Not that I can find. One sentence in the "information" page mentions that it's hard, but gives no further details. If there's a giant auxiliary FAQ anywhere, it's well-hidden.
Some architectures (I believe that this is one of the X86 sticking points) require privileged state in order to modify certain control registers, but provide non-privileged instructions for accessing the contents of those registers.
...? There's been plenty of opportunities, and programs like vmware and plex86 could take really good advantage of it...
For non-virtualizing operating systems, this makes sense. By making the instructions to examine the system state non-privileged, you both simplify the job of writing the operating system (because you don't have to emulate those instructions), and you also receive a performance boost (because executing those instructions don't result in exceptions). The tradeoff comes when you try and implement a virtual machine environment, and find that you can't, because even in protected mode, a program can find out "too much" about the actual state of the processor.
Isn't the solution obvious? All you need is a "virtual" flag bit that triggers an exception for all such operations (anything that could expose that you're not running on bare metal), and only generate those extra exceptions when the flag is set. Then you don't pay the performance penalty when running a "normal" operating system, but the processor is easily virtualizable "at the flip of a switch", as it were...
Why was this never added to the 386, 486, Pentium, Pentium Pro, Pentium II, Pentium III, Athlon,
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
First off, is there a lot of code sharing between Plex86 and Bochs? There is a lot of similarities in terms of interface issues, disk images, etc, etc...
:)
Second, what is the plan on supporting devices within the virtual environment? Devices such as USB, FireWire, etc, etc..
Third, has anyone thought about hacking Windows (or any other OS) running within Plex86 to allow a transparent Windows desktop ala MacOS X with Classic? This would fall into the nifty but not needed category, but would probally surprise a few folks
dennis
Can x86 emulation handle real-time processing better than the chips themselves do? As in running processes in real-time through emulation which don't suffer the penalties normally incurred when running them in real-time. Is it even possible to sidestep these limitations the x86 has with real-time processing?
I'm a loner Dottie, a Rebel.
I think that it is great that you are planing on doing an open source VM, but so far the project looks like the bochs and performs about as well.
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
Hello Sir,
First off let me say i love the work you have done, I use bochs all the time for testing.
My question is how well will Plex86 support SMP? will it be possible to run One guest OS per CPU?
I guess I'm thinging of a Mainframe like Protected Enviroment. Where each server is on its own CPU with its own ram. If that CPU and mem get hacked it would be a risk to the whole system.
Free Unix? Free Windows. http://www.reactos.com
Kevin:
Which of the technological problems did you find to be the most satisfying to solve and why?
Also, what impact do you feel plex86 will have on the Linux community?
*drool*...openstep...I'd -love- to have the capability to run that virtualized; I'd even reinstall Linux on my currently BSD box to do it
The only problem is -obtaining- a copy for cheap...still pricey everywhere I can find it.
"If ignorance is bliss, may I never be happy.
-- Veni, vidi, dormivi
Have you heard of Octave?
That's not the only one, but the names of the others escape me at the moment. The issue is not that a free alternative for MATLAB doesn't exist; rather, that MATLAB has yet to be displaced by one in many settings (certainly so at my institution).
I don't know if MATLAB has important features yet to be implemented in free software-- but I have to agree that numerical computation stuff isn't exactly the hardest thing to code up. It's probably more an issue of inertia (cf. MSOffice vs. StarOffice)
iSKUNK!
> it would ... show other businesses that you can't make money developing software for Linux because someone will undercut you with a Free solution.
It's not clear why this should be specific to developing software for Linux. On some of the OSS mailing lists I subscribe to, over half the traffic is questions regarding the use of that software under Windows.
Conclusion: OSS is going to undercut the commercial market for any kind of software, so long as that software is commonly useful enough to attract the minimum necessary number of volunteer maintainers. (I call this "staple" software.) Commercial software will have to retreat into specialized niches, or, as others have pointed out, supply value-adding innovations that make it attractive to consumers in spite of the price difference. (Or, third option, rely on bogus patents and legal harassment to keep the free competition down.) And for commercial developers who decide to go the value-adding route, they need to realize in advance that it will be a perpetual struggle to stay one step ahead in the game.
I personally don't have a big problem with OSS undercutting commercial software. It's just the march of technology: programming skills, development platforms, and high-speed communications have simply reached a critical mass that forces a paradigm shift in the economics of programming. It's supply and demand applied to lines of code: there are now innumerable individuals able to supply lines of code by the heap, and once written the cost of reduplication is almost nil.
Demand, large; supply, infinite. At least for "staple" software.
Yes, to some extent I feel sorry for people who want to make a living selling code. But I also feel sorry for people who wanted to make a living as blacksmiths or stonemasons, and for people who invested in companies building steam engines.
For better or worse, technology often obsoletes trades and other lucrative economic ventures. The best strategy is to face up to it and adapt to the times, because the clock is rarely turned back on this kind of thing.
--
Sheesh, evil *and* a jerk. -- Jade
he did mean: run something like plex-os and then have eg. linux and windows side by side and not run windows on linux like right now ... this is what real virtulization is about :-)
Do you see Plex86 becoming a standard feature of the Linux kernel?
I think that would be really useful...
________________________________________
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
I see a lot of posts which view Plex86 as a triumph for Linux, something that will make it so that Linux users can use Windows applications.
This is missing the mark.
Plex86 is in effect its own operating system. It provides a "meta-os" that lets other operating systems run at the same time. So, yes, it will let Linux and Windows co-exist in a way that's cleaner than constant rebooting. But more than anything, Plex86 is opening the door to other choices beside the old tech of Windows and Linux. New OSes won't be as out in the cold, because they can be sampled alongside current software. Even better, developing new OS software will now be much easier. Possibly this means that it will detract from both Linux and Windows in the long run, but that's not the issue. The issue is that it is a stepping stone for future advances, rather than forcing everyone to cling to current technology because there are no alternatives.
Argh. Moderate the original posting down! This is a huge FAQ at the Plex86 website. Don't waste interview questions with FAQs. 5 indeed!
Of course, that ignores the fact that anybody is free to jump in at any time and produce a superior browser. The OSS community tried and (kinda,maybe,not really?) succeeded with Mozilla.
A deep unwavering belief is a sure sign you're missing something...
Bochs is an x86 emulator, whereas Plex86 is an x86 vitulizer. Plex86 can ONLY run on x86 hardware, so it will never replace Bochs on PPC, for instance.
There is no architectural limit preventing Plex86 from being ported to just about any x86 OS, indeed it is explicitly catered for in the design (via a OS-specific kernel code file with all the needed support functions in it). You may want to think about the implications of running a fundametally insecure OS (like windows) on top of a built-for-security OS like FreeBSD, however.
Bruce,
I'm surprised about the misuse of terminology here from someone so knowledgable about Open Source and Open Source related matters. Whether a project is a Open Source or closed source has no bearing on whether it is commercial. There are many commerical Open Source projects, and many non-commercial closed source projects.
If a closed source vendor can't do better than an Open Source vendor.
Mike
Good question. The short answer, in my opinion, is that MSFT undercut Netscape strictly to wipe them out, then gain browser dominance on WinXX, then tie the browser to the OS, and lock the customer in.
Plex86 is releasing a product not strictly for money or power, but to fulfill a need the authors see for their program. They're not doing it to compete with VMware for customers, they're releasing it free (beer and speech) for the benefit of the community.
Maybe I'm an idealist, but I think that's the gist of it. I doubt for a second that MSFT gave a rat's ass about the community when it released IE for free.
And I also don't like the fact that Walmart buys things in major bulk so it can shut down all the small mom&pop stores by undercutting their prices. Once again, the difference between OSS and Walmart is that Walmart is doing it to compete for customers and gain $$$. OSS people are doing it for fun, for pride in their work, and to help out the community (again, maybe I'm an idealist). So there's a fundamental philosophical difference. It's more than just a question of economics, I guess.
make world, not war
Thank you, I'm glad I'm not the only one that sees it this way. Free software / Open-Source programmers are living in the true spirit of capitalism, if you think about it. It's a free market, and the distribution of code is free. So, if they can release a software package cheaper than their commercial counterparts and correspondingly take that companies business, well, that's the way the capitalist cookie crumbles. This happens between companies all the time in the business world. If you play the game, be prepared to lose too.
Companies may complain about how this takes business away from paid programmers, but that's what capitalism is all about. free market leading to freedom to choose the cheapest solution. in a free market, if someone can offer a product that's cheaper than an alternative, than the more expensive product had better offer more advantages making it justifiable to pay more for it.
As Bruce said, if companies can't offer a reason to pay more, better start packing up. Even if the comparitive software wasn't free but just cheaper, the same thing goes. Free software is an interesting case of capitalism to the max - zero cost of purchase.
make world, not war
Believe it or not, I actually agree completely with you. I'm really not a fan of capitalism in the extreme. The extent to which many adhere to the spirit of capitalism really pisses me off. For instance, the way many companies forsake product quality and customer service for increased sales and earnings and profits, etc. The dollar, or perhaps the Shareholders, come first.
I don't want to get into a debate of economic theories, etc. But whenever I voice these concerns to people, they always say, "well, that's what capitalism is all about". And then these same people like to call free-software advocates communists. So the opinion I expressed in my original post, is my own justification of why one can think of free-software folks not as communists, but as capitalists of a different sort.
It's kind of like Walmart undercutting the prices other stores, so they take most of the sales. If this is valid capitalism, then so too, is giving away a product that doesn't cost anything to distribute.
Note that I'm not trying to prove that free software won't impact the economy in any way. I'm just tired of hearing people complain and call OSS folks communists (in a negative sense of the word), when in fact, you could think of them really as capitalists. And did I mention that I'm not a big fan of capitalism, at least the way it's manifested here in the USA?
Of course, you're bound to disagree, but this is my two cents.
make world, not war
Someone above mentioned this, but go get yerself Octave. It's mostly MATLAB compliant, but does alot of other cool stuff. Plus, it's threaded, so it will distribute nicely across other CPU's. (unlike current versions of IDL and MATLAB).
I'd love to see alot of college students hack away on Octave and make it even better. Spread the good word!
make world, not war
To support the S/390-style virtualization, plex86 would need to include from-scratch drivers or models for a reasonable amount of the hardware a guest OS might use. Of course, they could leverage the Linux source for some of this.
But by then, you're essentially running a stripped-down Linux kernel, and plex86 already has support for that.
Will I retire or break 10K?
In what ways could WINE benefit from some kind of integration with Plex86? For instance, to run DOS/ Windows hybrid programs quicker/ better, or to make some kind of a cross-over between hardware and software emulation (with the help of a native Windows partition).
;-)]
[And only if no-one else yet asked: when can we expect a "stable" release? }:-) Don't worry, I won't pin you on any estimated release date
It's... It's...
"We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
I wonder if the demand is out there to create an x86-compatible virtualizable processor. Maybe AMD would be up to the challenge? Personally, I'd pay twice as much for a processor and slightly more for a motherboard which would support this, assuming of course that it would run Windows (2000 and 98/Me), FreeBSD, and Linux. It would have to support saving the state to disk so I could switch back and forth between Linux and Windows without rebooting, and without giving up any processing power. Also it would be nice to be able to run the guest OS to run in a low-priority mode which wouldn't affect the host OS too much, and be able to swap which OS is considered host and which is guest. Seems relatively simple to me, other than reverse engineering x86, which companies like AMD have already done.
ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
VMWare supported OS/2 in a beta and determined that it was not cost effective to release and maintain a version which supports OS/2. What are the technical issues for why OS/2 support is difficult and do solving these issues reduce performance/functionality for more common OSes like Windows and Linux?
main(i){(10-putchar(((25208>>3*(i+=3))&7)+(i ?i-4?100:65:10)))?main(i-4):i;}
Do you see Plex86 to be different from VMware, Win4Lin, Wine? If not do you see Plex86 as competition? Do you think that it will replace any or all of these types of solutions?
When I looked at the plex86 kernel module, I noticed little in the way of providing documentation about assumptions made about this particular kernel/"application" interface, and with the vivid Wine memory made me think twice about trying to port the kernel interface to either of FreeBSD or BSD/OS, my two main platforms.
Am I overlooking some docs, or does this issue need addressing?
Also, performance is next to irrelevant in my book, and I'm wondering what the focus on plex86 will do to the Bochs emulator, which works fairly well on BSD/OS, but again doubts on it's future have kept me from firing up gdb and trying to find the fixes that would make it work for me -- it doesn't itch quite hard enough at the moment to justify sinking time into, considering its unknown fate. It'd be really kewl if plex86 would have an emulation mode that makes the plex86/bochs distinction obsolete. Again, am I overlooking the obvious?
Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.
Redundant ? I scanned all the previous modded-up posts, and I saw no question about large scale virtualisation. If this have been modded down only because of the beowulf joke at the end, it is pretty ridiculous.
. 45-;ord=976706407976706407). Rotfl)
Large scale virtualisation means having an architecture where additional emulated hosts are not costly. This can have a lot of use for colocation facilities (but only if plex86 can be secured, which may be very difficult), or for labs (each student have access to each own private operating system).
(Btw, the current ad on top of this page is for vmware (http://ads12.focalink.com/SmartBanner/page?15445
Cheers,
--fred
1 reply beneath your current threshold.
Great illustration of difference between proprietary and free software. VMWare knowledge is not accessible while Plex86 is just one link away:
http://www.plex86.org/research/paper.txt (And is a very very interesting read)
Thanks for the interesting post, anyway
Cheers,
--fred
1 reply beneath your current threshold.
There seems to be problems with the x86 that make virtualisation difficult.
It seems an obvious flaw. Why intel or AMD didn't do anything about it ? It seems pretty trvial to add a way to trap the dozen or so of non-virtualisable instructions.
Often, choosing between two processors vendors is a matter of personal taste (I for one, buy only AMDs since intel added the CPUID), and the one who'll make 'virtualisable' processors would have a definite benefit technically, (ie: plex86/vmware would run faster on them), commercially (another buzzword) and would be an obvious choice for everyone running multiple OSes.
Why didn't this occured ?
Cheers,
--fred
1 reply beneath your current threshold.
How difficult is it exactly to ensure the support of hardware abstraction layers, such as the Windows NT HAL or DirectX, under Plex86? Is this a non-issue, i.e. the HALs can still talk to the underlying hardware, or is this a seriously difficult issue, mandating the writing of vitualized video cards, sound cards, BIOSes, etc.?
iRooster, the Mac OS X a
Have there been any thoughts given to using Transmeta's "code-morphing" abilities to allow users to run other CPU's instructions under a Crusoe-based box? Perhaps Linus' involvement with that company could help gain support for such a unique opportunity.
Competition!
If VMWare wants the money of the people, it needs to provide a better product than that written by the people, for the people.
VMWare can support multiple architectures
VMWare can offer better performance
VMWare can offer more flexibility
VMWare can offer more supported devices
VMWare can offer better packaging and convenience
It's the issue that if a person is not satisfied by a commercial product, a person has every incentive to go out and code their own; it's very much a capitalist-freedom thing. If things don't work the way I want them too, I'm free to make something that does, and if I wanted to sell it to other people, I can, and if I want to give it away, well, I can do that too ^^
Geek dating!
GPL Deconstructed
There are other ways of doing this though. You can write a guest specific driver that is designed specifically to pass information to plex86 rather than to try and emulate an existing card. This may be more efficient, but means you have to write drivers for all your different OSes. VMWare does something similar with its video driver
One really nice idea (in certain situations) is to give a piece of hardware over to the virtualised OS entirely. No virtualisation is then needed - the OS running in plex86 accesses the hardware directly with just some I/O address translation done by plex86 (sort of equivalent to the difference between IP masquerading and transparent proxying). For something like a parallel port which holds little state, a device can be assigned to the virtualised OS temporarily, and then be claimed back.
I think someone was also working on allowing certain PCI slots to be given over to the virtualised OS. eg. If you have to NICs you can have Linux using one and your virtualised OS using the other directly. The same should work if you are lucky enough to have two video cards and monitors - display one OS on one monitor, and the other on the other, using the host drivers in both case (and therefore hopefully getting opengl/directx support etc. with no extra work). Of course this would have to remain as just an option if you happen to have spare peripherals.
VMWare no doubt have a pretty cluey team. They'll probably be able to use their collective knowledge to come up with some new clever emulator or other piece of software magic.
The real threat to VMWare would more likely come from someone taking Plex86, porting it Win9x and BSD and selling it as a bundled up package.
It's important to remember the cost/value of wrapping something in plastic and selling it. Think of Red Hat.
Thanks for bochs!
Fred
I'm an avid OpenBSD enthusiast, and I too am concerned that Plex86 run on the BSDs. Given that you may not have the resources to acomplish wide-spread support, could your team possibly provide api lists, indicating what APIs would nead to be implemented by a platform porter. Your documentation said that you would be migrating cross-platform code from the linux source. Perhaps by publishing the required APIs, you could encourage others to do this work for you.
i - This sig provided by
Do you see Plex86 as being a product that would allow users to make a more comfortable migration from other operating systems? Which would in turn make it easier to increase the Linux user base. Will it ever be easyeasy enough to setup that even Windows users' could set it up and get their old programs and OS running so they could run Linux too?
Will you try to optimize Plex86 on SMP systems? I believe some tricks could allow the virtual OS to operate more effectively and stable if, for example, one could dedicate one and only one CPU for its tasks.
what are your thoughts on making Plex86 into an para-OS that allows many OSes to be installed and run co-currently? do you see it as being plausible? or even possible?
---
I post links to stuff here
Why do some operating systems work under Plex86 while others do not? i.e., once you have a virtualized system why doesn't it run all operating systems right away? Do different systems use different processor instructions that haven't been handled yet?
----- "I'm still sane on three planets and two moons."
What is the likelyhood of being able to seal off a certain range of memory, ports, etc. that a certain piece of hardware uses and pass it directly to the Guest system? This would be great for hardware Linux does not yet support or which doesn't have all that great support. It could also be great for a second video-card reserved for that Guest (mainly for games) if it is at all possible. ;)
I can't see why it wouldn't be, but then I don't know how to make it reality either
This is one area where VMWare is rather limited at present.
Also, certain videocards emulated in the Guest modeled from existing ones (thereby having DirectX work from the get go, automatic support in most systems?) - That would be great. Matrox and/or Voodoo, perhaps?
Hmm, late time for this question. Wonder if anyone sees it?
Side remark: OS/2 support? How far away?
Regards,
I'm curious if you have any plans to include some set of virtual hardware that will be controlled with drivers running on the guest operating system, but will wrap APIs under the host operating system.
A good example of this is provided by UAE (the Ultimate Amiga Emulator) which has "hardware" build in that translates graphics access to a flexible frame buffer device based on the characteristics of your display window. The neat thing about that is that it works completely universally because there is a driver running under the emulator for this piece of "hardware", so all existing applications can take advantage of this more powerful graphics subsystem that didn't really ever exist on the amiga. It's very neat to have a 1280x1024 amiga desktop. (Before people flame me, there were lots of cool high-end video cards for the amiga, but i couldn't afford them)
So to make a short story long =:-), do you intend to do similar things in the future, so i could install the "plex86_fakecard OpenGL driver" for windows/qnx/whatever and run say 3D Studio and have that pass the 3D work to whatever native 3d hardware happened to be in my host system?
---
Play Six Pack Man. I
Here. Sigh.
Umm, the "true spirit of capitalism" ain't worth squat. If we held to the "true spirit of capitalism," about half the nifty things you could do with the stock market, but aren't allowed to, would be legal. The country had a huge fall because people before the Great Depression where following the "true spirit of capitalism" and investing all of their money (borrowed or real) in businesses. The outcome of that was that we got laws to limit "the true spirit of capitalism" in order to protect the economy. Economics is not about ideologies, or and cool catchphrases such as "the true spirit of capitalism," it is about creating a finely balanced machine that can handle whatever falls within its framework. OSS software is an unexamined phenomena. It was not planned for, and it has not been studied, and thus people must use extreme caution before going idealistic and spouting of the benifits of the model. It may turn out that it works and is healthy for the economy. Then again, it could turn out to be another dot-com disaster (or worse.)
A deep unwavering belief is a sure sign you're missing something...
Congratulations on the progress, and I wish you well with the project.
:-)
VMware have produced a very useful piece of commercial software for Linux. Plex86 does the same job, and since you are giving it away for free, you may well destroy the market for VMware's product on the Linux platform.
Is there a danger that you are sending a message to commercial software developers? In future, may VMware's experience mean that other software companies who may have thought about releasing software for Linux, will avoid the platform? I am opposed to OS monopolies, but I am happy to pay for Quake3 (commercial != evil).
I don't want to be too negative here, and I don't have a solution myself (apart from being good capitalists, and start charging for everything we write - not likely
cheers,
G
do you envision the Plex86 project as a useful platform for modeling and testing new Operating Systems? If so, what effort have you taken, or do you plan to take, to support this use of the software?
-
Just because it works, doesn't mean it isn't broken.
so, not only does "load page table base register" or "load gdt base" or "load ldt selector" have to trap, but so does "store page table base register" or "store gdt base" or "store ldt selector"..
In the 386 and up, Intel got 8086 virtual emulation right, but didn't get 386-mode emulation right. So the Plex86/VMware people have to stand on their head to make this work.
It's worth noting that the hard cases for Plex86/VMware, such as self-modifying code, are also the hard cases for things like the software part of Crusoe and for superscalar retirement units. Most newer designs, like the PowerPC, simply disallow self-modifying code. On the x86, it's fully supported; you can store into the next instruction, and it works. Assembly programmers used to do this for "performance". Today, you take a huge performance hit if you store into an upcoming instruction. Superscalar processors are brought to a screeching halt by such a store, which forces a flush of most of the pipelines and functional units. On Plex86/VMware/Crusoe systems, there's a trap and software emulation comes into play, which is even worse.
Fortunately, UNIX/Linux systems generally disallow storing into code. All this is a hack to make old DOS programs work.
Maybe I'm smoking crack but I'd think that's not a function of hardware (i.e. it is just an API that sits on top of the OS with the low-level shite being in kernel space). True, to get hw accel it has to talk to metal but then it does fall back to sw for a feature it can't find hw support for, just like OpenGL.
In other words I'd think that if windows ran then any windows program would too.
But then I haven't tried this (I keep a seperate machine for non-essential things like opening Office docs and playing Half-Life on. ;-) ), so I could be talkin' out my ass.
--
News for Geeks in Austin, TX
First, congrats for the fantastic work already done.
I would love to run OPENSTEP on plex86. Unfortunately, it doesn't even run under booch (but this was not such a problem, as an OPENSTEP running under boochs would be next to unusable).
* When would plex86 be up to the point where I can try to boot OPENSTEP ?
* How can you, or other plex developers, help me having OPENSTEP running on plex88, beside the fact that OPENSTEP is a proprietary OS with costly licenses not avalaible any more ?
* Do you want me to send you a couple of original OPENSTEP CDs ? Would it helps ? Is it legal ?
In a more general way, do you plan to run a few OSes with great support (by having special plex drivers for them etc, etc) or do you plan to have plex emulate standard hardware to run the most possible different OSes ?
Cheers,
--fred
1 reply beneath your current threshold.
As I understand it, a virtualized OS has any attempt it should make to access hardware intercepted and replaced with some appropriate emulated equivilent. I assume that Plex86 therefore simulates vga or vesa video (so that the simulated OS can think it is talking to a video card), and then represents what would have been the resulting image on a real screen, if it was talking to a real card, as a data structure that can be displayed, say, under X-windows.
:) ]. Can't we slackers ever get enough?!
What I would like to know is: what do you see in the somewhat immediate [that is, forseeable and not imaginary] horizon r.e. virtualization of other windows hardware access? A sound card certainly comes to mind, but of even more use would be, say, parallel port access [for printer drivers [or my nifty Dazzle DVC mpeg1 encoder]
Seriously, though, you've done an amazing job, and I can't help but proffer my enormous respect for the fact that you struggled on for so long on Bochs without -any- support. You are an ideal incarnation of the true hacker ethic; my kudos.
---
the pen is mightier then the sword. the sword is mightier then the court. the court is mightier then the pen.
First, a big thank you for making Plex86 possible.
Now the question...
One thing that I find cumbersome with VMWare and Win4Lin (and the plex86 screenshot that I saw) is that you have to display the entire Windows9x desktop to run even a single application.
Even back in the days of OS/2 2.1, they had a way of displaying Windows application along with OS/2 applications in the same (OS/2) desktop. They did this with a special Windows video-driver which would "burn a hole" in the OS/2 desktop to reveal applications running on the Windows desktop "running behind" the OS/2 desktop.
Here is an example of a Win32 application running inside the OS/2 desktop, and another example. It's sorta like running Exceed (or WinXfree86) and having an X application display over your Windows desktop.
What I'm talking about is (IMO) different than running a Windows application through WINE, because (with plex86) the Windows application is running inside a (logically separate) virtualized machine.
Would you consider offering such a feature, or at least an I/O hook in plex86 so that it could happen?
Thanks
Hi Kevin,
I reading this article on Slashdot the other day and came across an interesting comment:
i still dont see the point of virtual machines...
sure they're usefull for emulating a completely different system (as long as it doesnt need as many system resources as the machine you're running it on) but whats the point of emulating x86 on x86...
the emulated system runs a lot slower than it would natively, as does the system doing the emulation, plus, you're not saving a whole lot of time... i mean, when you start the new system, the virtual bios has to start, then whatever os you're running has to boot before you can use it. so the only time you're saving is shutting down the currently running system... *snip*
He/she certainly has a point about the emulated OS really not saving that much time. I guess you could see this as a shameless feature request, but I was wondering if there were any plans to support suspended state in Plex.
Many newer laptops have this feature, which saves all the relevant state information to a particular space on the hard drive. The laptop runs on almost 0 power, until you press a key to wake it up. After a few moments of churning, it wakes up and *poof*, you're computer is in the same state it was when you suspended it, open applications and all.
This feature is also popular on (much simpler) console game emulators.
Do you think that someday, a project like plex86 and a project like Bochs might combine in kernel space to produce a lightweight virtual machine that could run x86 code?
What do you think about the idea of dynamically generating native code in places where emulation is necessary instead of repetitively doing a loop that follows the below sequence:
I think he's referring to the fact that plex86 requires a linux kernel module to be loaded before it will work.
FreeBSD on x86 cannot load this module, and so it will not work.
I tend to break software development into two areas, computer science and software engineering. Voice recognition, code morphing, cracking mathematical problems and so forth are computer science. Writing a word processor or a monolithic operating system or even a virtualizer is more software engineering. It's not like new ground is being broken in writing an x86 virtualizer, the art is documented already. As the previous post commented, MATLAB is based on well known algorithms.
.NET has a few interesting ideas and whatever good pieces are in it hopefully will be appropriated by Open Source people to be put into GNU/Linux.
Open source projects tend to be better at software engineering projects rather than computer science projects. The GNU project did very well creating the GNU tools because that was software engineering. Building a serious operating system based on a microkernel is closer to comptuter science and so got bogged down. Monolithic kernels are software engineering and so Linux took off. Even Ogg Vorbis is really just taking the well studied field of compression and the focus is on sidestepping patents than trying for something oh wow and state of the art.
To my mind, this is where the difference between commercial and open source software should lie. The commercial companies should be pushing the state of the art and working on all this gee wow stuff that people will be willing to make money on. The Open Source people should see this and then promptly reverse engineer it as the state of the art trickles down to the level that it becomes software engineering and the commercial people should be plowing on ahead and finding better things to focus their money on.
Apple is trying to do it with OS X and their rewriting of the BSD kernel. They've done some fascinating things there with Quartz and display PDF that I really hope the GNOME/KDE folks are looking at to implement in their own systems, not to mention the GNU/Linux crowd with the innovations on folder bundling and moving all system resources into XML files. Apple is steadily innovating in their products. Microsoft's
Personally, I want to have a personal computer based on GPL'd software that has all of the functionality of a mainframe down to the virtual machines and scalable multiprocessor support, with all of the newer innovations that have cropped up like XML resource files, Display PDF for graphics, CORBA for handling widgets and so on. All of that is really more software engineering (yes, expensive in time and expertise software engineering but still that). The media players on the system should all be dealing with well defined media formats that anyone can write a free encoder or decoder to in GPL'd software.
All the money I should be spending on the system should be for things like voice recognition and things that I know are cutting edge and state of the art and require money to finance. My biggest beef with Microsoft is that they gouge out huge amounts of money and frankly there are very few technical innovations that they have spearheaded themselves. At least Apple goes and raises the standard for what one should expect out of a personal computer.
In the ideal world, the universities develop new ideas, the commercial companies take these ideas and turn them into money-making projects and after the newness of the ideas has worn off and their genuine value has sunk in, the open source people move in and incorporate it into widely available open source software, forcing the commercial companies to move on to something new. This is rough on the commercial software companies but no one said that life was going to be or should be easy on them.
Trying to keep on topic with the discussion, even if I am not asking a question, virtualization is a solved problem and goes back decades. Now that personal computers have reached the right level of performance to handle such things (as with other features of mainframes that trickle down when PCs get fast enough) it is only natural to start writing Open Source projects to implement it. VMWare folks need to find somewhere else to move onto, or to simply conceed to plex86 and start working on selling support of the project. They could look to see if they could combine something like VMWare with Transmeta's code morphing, perhaps even to virtualizing different processors on one machine. There are directions they can still go, there is still room for improvement. Or they can compete the way the rivals to XFree86 compete, with a wider range of driver support. In short, I feel little sympathy for VMWare. If they can't keep ahead of plex86, then they're doing something wrong.
Thanks
Bruce
Bruce Perens.
IBM's virtual environment (VM-ESA) works without the aid of a "host operating system." In other words, if you want to load (for example) Linux/390 into one of your VM's, you don't have to have the VM running inside OS/390 (the operating system formerly known as MVS). The whole mainframe is virtualized by VM-ESA before you start getting into operating systems at all.
What would be involved in making something like this run on the x86 environment? Could, for example, a thin VM management layer run on the bottom, with Linux and Windows running in parallel, instead of one on top of the other as both plex86 and VMware do?
Or is the PC so badly designed that there's no hope of doing VM's without a host OS?
--
Tired of FB/Google censorship? Visit UNCENSORED!
Would this approach work? If nothing else, could BOCHS used in OS X to install/run Windows from the new Apple OS a la VirtualPC?
-------------------
-------------------
This is my SIG. There are many like it, but this one is mine.
Hi Kevin,
I've been lurking on the development mailing list for quite a few months now, and I'm wondering where do you see Plex86 going in the future? virtualization of as many OSes as possible? graphics virtualization? or some other tangent that hasn't been discussed yet?
---
I post links to stuff here
What characteristics make a processor difficult to virtualize? What characteristics make it easy? I have more than a passing interest in this, as I'm currently a graduate student studying IC design.
The more detailed the answer, the better.
Some apps will "never" be able to run in Wine (Windows lets you do things that Linux knows are *bad* ideas). With this in mind, are there any applications that you would really like to see running in Windows (or whatever) on Plex86?
Everyone mentions running Microsoft Office when it comes to Wine; do you have any "milestone events" in mind for Plex86 (as the list of booting OS's continues to climb)?
Do you beleive that large scale virtualisation could be possible, like emulating 100 linux hosts on a big SMP box, getting the kind of virtualisation that the Mainframe guys enjoys ?
Cheers,
--fred
(And yes, we could have a beowulf on a single host)
1 reply beneath your current threshold.
I understand that you cant control open source developers, and tell them "You must work on xyz aspect of the code", but I was wondering this one question: Is the driving force to get a perfect Virtual CPU, is it to boot OS XYZ at any given time, or is it to boot as many OS as possible?
CK
---
Video meliora proboque deteriora sequor - Ovidius
Are there any plans in the near future to replace the Elpin BIOS with a Free implementation?
--
The need for large partitions in a Windows environment coupled with the file size limits in Linux and the more restrictive Windows licensing means this sort of support is critical to anyone wanting to run Windows on Linux with plex86.
--
If the authors of an OS want to cooperate with Plex86, so it runs more efficiently when virtualized, what would you recommend? What (expensive) operations would be best avoided? Will Plex86 have a API available for a faster alternative to emulation?
Deven
"Simple things should be simple, and complex things should be possible." - Alan Kay
I'm an avid FreeBSD enthusiast, and I'm disappointed to see that Plex86 doesn't look like it will run under FreeBSD any time soon. Bochs, on the other hand, works fine under FreeBSD, but lacks many essential features that Plex86 appears to have. I was wondering what you will be doing (if anything) to ensure the platform independence of Plex86. Will you be leaving Bochs as the multi-platform solution? Will the Bochs be abandoned in favor of Plex86?
...These aren't the droids you're looking for....Move along....
Hi Kevin,
/. cast of thousands help out?
What are the greatest needs in the Plex86 project? How can the
(Ok Kevin, here's your chance - you'll never get a better one to recruit new helpers!:-)
I know this is a way off, but do you see any reason why DirectX support would not be possible? Or would it just require too much manpower that it wouldn't be feasable?
A topic brought up on Slashdot a couple days ago had some interesting discussion that if Free solutions like Plex86 took off, it would destroy VMWare's business model, and show other businesses that you can't make money developing software for Linux because someone will undercut you with a Free solution. How do you respond to these fears?
NO CARRIER
While the ideal is that Plex86 will support all operating systems, I assume that you've made choices as to which ones you're going to work on first. Your site mentioned Dos, NT, Win95, Linux and QNX as OSes that PLex86 currently runs. As someone who tends to use FreeBSD when I use a free OS, I'm curious as to where the BSDs rate in your priorities and what about BeOS, Plan 9, etc...