VMware version 1.0 released
SkyHigH wrote in, along with quite a few others, to alert everyone to the fact, that yes, VM Ware v1.0 has been released-and it's Saturday, so the congestion should be lower.
← Back to Stories (view on slashdot.org)
How is the VMware speed now in relation to the betas? I assumed they've stripped all the debugging code out of it they said they would?
And to the poster of the expensive bit, $99 really isn't all that much, but think of the KILLING they'd make if they lowered it to $49.95, and had a LEET-o online ordering system? they'd make much more of a killing, me thinks. At $99, I may buy it (or get work (an edu institution) to buy it, at $49 i'd definitely buy it, but VMware's gotta make their money somehow. Thanks for your contributions VMware folks!
VMware's web page indicates that their virtual platform technology is patent pending. I wonder if the freemware people are aware of this?
What the people in VMWare have got that I didn't ? PhDs? I'm a PhD student.
Remember, exactly because of the nature of the task, trying to virtualize tne x86, is again very much like trying to find a mate in 4 moves in a chess position ; and not like trying to write a beautiful poem or not exactly like inventing transistors.
You just have to sit, take a pen, a paper and the PentiumII specs (available at www.intel.com), and analyse how each concept and instruction can be virtualized ; how each mechanism can be used for virtualisation ; and how, for instance, the kernel behave in level 0 mode. This is a logic exercise.
- Phase 1: consider only the Linux kernel (this is necessary to gain the insight necessary to someone that hasn't considered virtualization before). Starting directly from "Intel Architecture Software Developer's Manual, volume 3: system programming guide" is an alternative.
- Phase 1.1: analyze what exactly wouldn't work. Assume first the that virtualized linux kernel is run in a block of memory of some Linux process.
- It is immediatly obvious that the instructions that are the most problematic at first sight, are those manipulating the memory management (GDT,LDT,...). Those can be trapped be the kernel redirected to a monitor, and emulated in software. Thus the rule 1: any instruction that can be trapped by the kernel can be virtualized (albeit maybe at a performance cost). For MM, the x86 wouldn't allow processes to change memory mapping because it would be a huge security hole. Thus the instruction themselves should be virtualisable.
- Now the problem for memory: is it possible to have a memory mapping in the Linux process such as a) the kernel code can run without may traps b) at least the process of the virtual Linux kernel would run without too much traps ? Answer: probably: when you trap the MM instructions you can put whatever you want in the LDTs of your virtual-linux process (including aliasing pseudo-physical pages), at each context switch (from virtual-kernel to virtual-kernel-process and back).
- Interrupts, and access to pseudo hardware. Software-generated goes to the actual kernel of the running process, so you might be able virtualize them. In/out instruction are trapped too. More problematic is access to memory mapped devices. But then if it is memory mapped, you can traps read/write where.
- Now maybe is it time to look in the Intel for a) non-virtualisable instructions b) implementation "details" that fail miserably c) exhaustively analyze Linux kernel source code to see what it exactly does (only part of the kernel is tricky).
- A first list of the problematic instructions is in Intel Manual 3 section 2.6 "System instruction summary" (with indication about whether they are "protected from application")
Note that like in chess it is possible that a small fact will ruin your all edifice. This is expected. But then you start from the killer problem and analyze how to solve it ; the insight you have gained will be very useful.Maybe I would take more than one week full-time to figure out ; because experimenting to see how real code behave could take time. But then it is almost impossible that given enough time the/some solutions can't be found. The only problem would be if they were using undocumented features of processors (but they shouldn't, VMWare works on K6 as well as Pentiums+).
Maybe people already know how to do this in theory for x86, so you're maybe asking "what the guys at Vmware have that others haven't ?" : well, they have been doing virtual machines for years, they have done research about this (SimOS), it is logical that they were the ones that started VMWare (or were hired there). Now if you show me an identical effort with enough financial support that would have failed, you would have a point.
Note that on Microsoft OSes, it is sometimes Microsoft itself that go and copies (see Netscape, Real Networks).
Im not against paying for linux software at all. I still buy all my copies of linux instead of dloading them so i can help out the various organizations. What really pisses me off though is that someone is going to release a warezed copy of this product, which happens to e a damn fine piece of software.
Well the reality is more complex than that. Kevin Lawton has been trying to make an x86 emulator for longer than the Vmware start-up existed (and I actually booted Linux kernel one year ago with Bochs), so this is on the plus side for him. On the other hand he is attempting to basically kill Vmware business (by providing a free clone), while trying to keep his own business alive (x86 emulation with dynamic compilation), which is a lot less cool. Maybe you should consider that this is like "Netscape releasing source code of Mozilla to compete Microsoft", or "Microsoft releasing IE for free to compete with Netscape", depending on your point of view.
Freemware has certainly not an ideal as pure as the FSF or Linus, but it's not exactly a "reverse-engineer, and rip-off" effort.
Coincidentally, today my girlfriend purchased a GMAT study CD that only runs under Windoze. So I decided to try out VMWare. Needless to say I am very impressed. The GMAT study CD runs great (save for sound) as does every other windows app that is not DirectX. Performance is quite zippy for everything except processor/memory intentsive operations. For instance, MSVC came up fine and was very responsive for editing, working, etc. However compiles took a very long time (30 seconds native Windows 98 vs. 4 minutes under vm ware). :) You can reboot Windows under Linux.
BTW I am using an AMD K6-333 with 128 mb of ram running under RH 5.2 with KDE.
Installation was a snap!
I really like this product. Hopefully they will support direct x and game ports in a future release to satisfy the gamer in me, but for an introductory cost of $75 this product is a steal. I would never pay money for a Virtual95 like product because Bill G gets my $$, but with VMWare that does not happen.
Overall, I recommend VMWare for everyone except hardcore gamers and developers. Anyone else (like Quicken, or Office users) should take notice and purchase this product. Just imagine, never reboot your machine under Windows again
I hope VMWare gets direct x working sometime in the future and there is not too big a speed hit. However this company has done an incredible job already and should be commended for cutting down many office's barrier to entry: no MS office on Linux.
There's more to VMWare than running MS products. I've often wondered what other distributions were like, or maybe try FreeBSD someday. With VMWare I can (and have in some instances).
I'll probably buy it when it supports OS/2. I have almost no use for 'Doze, but I have VisualAge Java and Entrepreneur on my OS/2 partition. I sure wouldn't mind accessing them from Linux.
Of course, even better would be IBM waking up and porting VAJ to Linux....
Posted by Lulu of the Lotus-Eaters:
Don't steal any IDEAS!? The word steal tries to bias the thing, but even so the comment is strange.
Not that I agree with the possibility of software patents anyway, but let's just assume we are talking about ideas that are not subject to patents (prior art, insufficient originality, etc.). Taking ideas from products in the same area is one of the major inspirations for making any product better. It is not about "stealing code", but just about doing what winds up working well.
Just a trivial example. I think that the idea of creating a real-time markup spell-check flags in a word-processor is a pretty good idea. It can be implemented better or worse, of course; but it is sometimes useful to see an unobtrusive mark (like a special color underline) by words that are possible misspellings. Sad to say, the first product that I know of that did this was MS-Word (There may well be a prior example that I am not familiar with). It is hardly WRONG for WordPerfect (which I actually use, and is better than MS-Word in many ways, including its implementation of this feature) to implement this same useful feature. Corel may well even have gotten the idea from MS's implementation of it.
Further, it would not be wrong for me to add this feature to an Open Source editor that I wanted to contribute to. If the idea is a good one, more power to whomever wants to implement it. That leads to software innovation, and generally improving products.
I think you're right. I thought so the first time "freemware" was announced.
I doubt it'll get anywhere. I mean look at Bochs... an interesting concept, but one thousands of CS students have done. Lots of people have written emulators for a lot of different platforms. Hacking away in their dorm room, there's probably a lot who threw in ways to dynamically convert the code to native code.
Bochs isn't technically anything more impressive than the Mac emulators, Amiga emulators, and so on all the way back to PDP-11 emulators and (my favorite) Atari 8-bit emulators. And its a whole lot less useful.
I think you're exactly right about the motivations of the project precisely because of how completely different the two projects actually are.
I think the other posts saying this project is damaging to VMware are correct in its intent, but not in its reality. This is vaporware, nothing more. Patents aside, whats the odds that this'll turn into a useful program that can actually compete with VMware? Slim. Probably wouldn't be too far off saying none.
And at a (completely reasonable) $99 cost, why bother?
Freemware will serve as an education tool. With the source code available people can learn more about virtualisation. It's not a matter of someone wanting to go out and drive every commercial project out of business people enjoy writing code and VMware is good and writing it will be an interesting experience for those involved and would look great on a CV ;)
Also it will have these advantages:
1) If someone wants to port it to an unsupported OS (e.g. FreeBSD) they can as they have the code. With VMware you need to use Linux or NT (well NT is going to be supported) as the host OS. No code means you can't change that.
2) As with all open source projects bugs tend to get fixed faster.
3) It is competition for VMware. VMware will have to continue to deliver a cutting edge quality product as Freemware improves. If no competition then VMware may never improve (it's good now but not perfect).
I support VMware and Freemware. I believe it's the right of any company to charge for their product. I'll probably buy it. I'm not against proprietry software and I encourage it on the Linux paltform. However having an open source solution will help a lot of people.
--
http://www.vmware.com/products/linuxpricing.html
For those who want to buy the product before 14 July 1999 they've got a special price of $75.00 instead of $99 for non-commercial use. Download the evaluation license, try it out for 30 days and if you're happy order the product and if it's a huge success at this discounted price then they masy make that the permanent price.
--
Well, as long as you don't get any ideas from the VMWare product, fine.
But if you do steal ideas and/or code from VMWare, I'll personally do whatever I can to see that they sue you into oblivion.
This seems like a deliberate effort to undermine the work that VMWare has done - and probably expects to be paid for - and unfortunately will have the effect of causing other companies not to bother supporting Linux.
As a programmer, I have several ideas that I think may turn into commercial products, and planned on supporting Linux. But this, and other efforts to clone commercial products (that are charging very reasonable prices) have definately changed my mind.
If this is how the Linux community treats companies that invest enormous amounts of time and effort building great products that support Linux, then to Hell with Linux, I'll stick with developing for WinBlows...
Dream
Dream
What I'm more interested in is what hardware specs have the largest effect on this.. Would a K7 with a full load of cache (8mb max) be faster than a K7 with 512kb because the emulation code is more likely to be in cache, or is it more a brute CPU speed problem?
As far as I know, it's software MMU... vmware simply swaps the registers in, runs for a few milliseconds, swaps out, repeat. Maybe the K7's branching logic / prediction will help here, but you still have the latency of memory swap. Unless you can make your main system memory as fast as the CPU L1/L2 cache, you won't be operating at 100% efficiency. Period. That's why dynamic compilation holds more promise...
--
Er, steal the idea? The VMWare idea isn't even remotely new.
The first Microsoft product was BASIC for the Altair. Bill Gates & Paul Allen didn't have an Altair -- they implemented the product on a virtual machine on a PDP-(something).
Intel built support for virtual 8086's able to run 8086 operating systems directly into its 80386. Software support for such machines is already included in OS/2 2.0+, Windows 3.0+, and all Unicies that run DOSemu.
Java uses a protected, virtual Java machine, which also is available in hardware implementation.
VMWare is simply a software implementation of a virtual 386 machine. While complex to execute, it isn't exactly a new idea -- there have been lots of 386 system emulators out there.
386-on-x86 is somewhat rarer -- but there have been attempts dating back almost to the day that the 386 was released.
In short, saying that people shouldn't try to make a open source vmware clone is like saying that people shouldn't work on KDE and Gnome because CDE is already available for Linux.
Sounds like a nice project. I hope you guys think about coordinating with the Mac-on-Linux people, who are creating the equivalent thing for running MacOS on Linux/PPC. (They already have something running, too.) I realize that quite a lot of this stuff is processor-specific, but I would hope that there is a fair amount that generalizes, too.
If a thing is not diminished by being shared, it is not rightly owned if it is only owned & not shared. S. Augustine
I don't think there is any justification for creating a monopoly here, thank you very much.
If a thing is not diminished by being shared, it is not rightly owned if it is only owned & not shared. S. Augustine
I was in the process of downloading the latest beta to check it out when the files got yanked and 1.0 put up. Weird. Checked out 1.0 on the 30 day license. Might as well have been a 30 minute license. I was sold. VMware is all that and a bag of chips (SIMMs, DIMMs, etc ;-) Best $75 I've parted with in ages. I'll be up all night repartitioning, installing, etc. Wheeee! Where else can one simultaneously run apache, MySql, php, Ghostscript, GNOME, etc. side by side with Quicken 99, Taxcut, Outlook, and MS Greetings Workshop. Unlike many folks who tend to be OS elitists, I am an OS whore. Bring em on. Can't wait to play with DOS 3.3 again. I wonder if I'll be able to install Fusion (a MacOS emu) in a VMWare DOS box. How fun! Now if X only supported multple monitors. I suppose that's worth giving up until XFree86 4.0
Jason Dufair
"Those who know don't have the words to tell
Jason Dufair
"Those who know don't have the words to tell
and the ones with the words don't know too w
The idea of virtualization is far from new.
IMHO your comment would be valid if it was a new innovative idea - then the company would need as much support as it could get from the Linux community.
Also, FreeMWare is not just being written because people like the idea of VMWare but don't want to pay cash for it. FreeMWare being an open source product gives greater flexibility: it has the potential to be very useful for developing and/or debugging operating systems as developers can tinker with the source code to make it fit their needs.
I'm far from against people creating software for free but what is going to drive comapnies to release software for linux if someone just goes out and copies what they are doing? Im not against paying for linux software at all. I still buy all my copies of linux instead of dloading them so i can help out the various organizations. What really pisses me off though is that someone is going to release a warezed copy of this product, which happens to e a damn fine piece of software.
"Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
If you're interested in helping out with an
open source vmware clone project, check
out the freemware project at:
http://www.freemware.org
news://news.redhat.com/redhat.projects.freemware
Discussion on implementation is under way.
Thanks,
Kevin Lawton
http://www.bochs.com