The open source, by VMware, Inc. And from Connectix are applications that virtualize or emulate the x86 hardware, allowing you to run multiple operating systems on top of a “host” operating system that these three applications run upon. This means that you will be able to run Linux or FreeBSD or other supported “guest” OSes under Windows, Linux (or Macintosh), inside a window or fullscreen.
The software lets you quickly install your new disc drive with wizards that guide you through the processes of creating and formatting partitions on your disc drive, transferring data, and backing up your data. Formatting a Large Drive Greater Than 32GB with a FAT32 File System Using Seagate DiscWizard v22. How to Recover an Image Backup in.
![]()
But which one delivers the best performance for the money? And what about the free Bochs? Runtime Vs Emulation First off, we need to clear out an issue that many people are confused about or just do not fully understand. VMware Workstation & VirtualPC are not emulators as Bochs is. They deliver the same output, but the way they work is different. Bochs emulates the x86 hardware and some of its peripherals, which makes it able to be easily portable among a number of platforms & architectures.
Its emulation is also the reason that it is many times slower than both VirtualPC and VMware Workstation. Technically speaking, VirtualPC is somewhere in the middle of VMware Workstation and Bochs.
Some large parts of VirtualPC 4.03 for x86 are emulated, while other parts are virtualized. VirtualPC 5 under Macintosh is quite different from its x86 counterpart, as it is 100% emulator, as with Bochs. VMware Workstation only emulates certain I/O functions and the rest is all executed through its x86 runtime engine. What that means is that when the guest OS is requesting a certain instruction or action to be executed, instead of trying to re-invent the wheel and emulate them, VMware Workstation will try to “pass” the request to your actual hardware and ask it to execute it instead. For example, the VMware Workstation display driver or the 24-bit VESA on VMware Workstation will “pass through” its execution requirements to your real graphics card, instead of trying to emulate. VMware Workstation buys speed with its runtime engine, while Bochs and VirtualPC buys portability. It is a trade-off game.
Overview So who should use VMware Workstation and VirtualPC and most importantly, who really needs them? Many people were not happy with the price bumping VMware Workstation introduced last year for version 3.0.
However, these users do not understand that these two applications (especially VMware Workstation) are not intended for end-users who most of the time are trying to kill time installing operating systems or simply acting geekish (as in my case;). VMware Workstation is targetting the enterprise and large software houses. For example, Microsoft or Red Hat could be big customers for VMware Workstation because they are able to test and develop their operating systems with it.
This comes in handy, especially if you need to test internationalization of the product. Instead of spending hours installing 50 OSes where their only difference is the language, a virtual machine can greatly help and accelerate development or testing.
VirtualPC is closer to the end-user. The bumped up UI, the fewer debugging or advanced options, and the shorter guest OS support list, plus the whole direction of the company reveals that they equally care for the end-user and the larger corporations. VMware Workstation can run on Windows 2000/XP and on Linux. VirtualPC runs on Windows 9x/ME and with different binaries also runs under NT/2k/XP, OS/2 and MacOS 9/X. Bochs runs under many additional platforms, including.BSD and BeOS. When it comes to the “guest” OSes list, VMware Workstation wins hands down, by providing support for more Linux and FreeBSD versions.
However, VirtualPC has another (geek) feature: It plays nicer with non-supported operating systems. For example, OpenSTEP runs (slowly, but runs), BeOS runs (as long you initialize its VESA while in fullscreen with VPC). Bochs only supports some specific versions of operating systems, and it is very unstable when it runs in VESA or VGA mode. Installation The Bochs package is only 2 MB, while both VirtualPC and VMware Workstation’s packages are a bit less than 20 MB. The commercial packages come in an easy to use installation wizard, while Bochs is distributed in a.zip file, and requires manual, painful tweaking of the configuration file before use. Bochs is not for everyone, as users must know a bit about their hardware.
VPC and VMware Workstation will also install network drivers on your host OS, in order to allow the guest OSes to access networks and/or the Internet. I had trouble with VMware Workstation because the AMD networking card it emulated did not work on Red Hat out of the box. I had to get down dirty with the command line and bring the device “up” manually (the GUI Gnome networking tools did not work either). VirtualPC worked fine in this regard with Red Hat Linux 7.2 as the guest OS. I did not like the way VirtualPC handles the CD-ROM and the floppy. You need to constantly, manually handle these peripherals by “grabbing” and “releasing” them. For example, I inserted the first installation CD and went for dinner.
When I came back and inserted the second CD as per instruction of the Red Hat’s Anaconda installation, the virtual machine could not “see” the CD. A new user would be extremely confused why the CD is not visible under the virtual machine, while the previous CD was.
The trick is to grab again the CD-Rom (or floppy) device from the VPC menu and then Virtual PC would publish the device insider the virtual machine. The problem is that it is a bad interface and it is extra work for the user, especially if you have to deal with lots of floppy disks or CDs. VMware Workstation will constantly use and publish the floppy/CD as long you have requested to do so in the Guest OS settings window but also provides the option to release them on request.
Performance My PC is a dual Celeron FPGA 533 MHz (no SSE support). I would normally rephrase the previous sentence as “My PC is a lowly dual Celeron”, but I won’t. According to this, my PC’s speed is among the majority of the PCs today. So, I do expect a certain performance level to be delivered. Bochs is the worse of the three speed-wise, but on the other hand, you probably won’t be using it to run graphical OSes. Bochs is a developer’s tool through and through.
So as long it gives you back the debug information you need, Bochs is as good as it can be. The real battle on performance for modern and widely used operating systems is between VirtualPC and VMware Workstation. On my tests, VMware Workstation won every test, except the text mode rendering speed and the installation speed on RH 7.2. For example, it took 3.5 hours to install 1800 MB from the two Red Hat CDs, while it took about 2.5 hours on VirtualPC. I believe the reason for this lag from VMware Workstation was the fact that it was running at VGA mode during the installation, while VirtualPC was running either in VESA or with its S3 Trio64 chipset it emulates (possibly VESA though). As for the text mode speed, VMware Workstation need to get their act together, because doing an “ls -l” on the / directory, I could see it making waves updating the screen.
VirtualPC was very smooth in this regard when it comes to text mode rendering. The roles were completely reversed when I launched the now installed Red Hat and later when launched X11: It takes 228 seconds(!) to get Red Hat to the login text mode prompt with Virtual PC. It takes “only” 94 seconds with VMware Workstation’s identical Red Hat.
VirtualPC under X11 is plainly unusable – I was not able to run KDE at a bearable speed. For example, I had to wait 30-40 seconds to launch Konqueror, 4-5 seconds to view a menu and was getting a frozen cursor when something was really CPU intensive. VirtualPC seems to require more CPU resources than VMware Workstation, so if you leave the virtual environment for a while, you will notice that the host OS also feels pretty sluggish. With VMware Workstation, KDE and Gnome is very useable indeed. I could run it with very acceptable speeds even at fullscreen or window at 1280×1024. With VirtualPC anything above 800×600 comes to a crawl, while Connectix “dares” to ask on their system requirements 266 MHz CPU with a 500 MHz CPU as recommended.
I got a dual 533, and it is just not tolerable. I even tried VirtualPC at the dual 450 PIII under Win98 with 512 MB of RAM, with OpenSTEP as the guest OS, but it was equally slow. The only problem I had with VMware Workstation in graphics mode was that sometimes the mouse cursor disappeared.
It did not happen because of a certain CPU load, it was pretty random, therefore I think that I hit a bug and not just a known limitation. The reason of VirtualPC’s slowness may be the fact that they are emulating the S3 Trio graphics card, while VMware Workstation “passes through” the actions needed, via their special virtual graphics driver that is serving a graphics chipset that does not exist in real life. What is nice with the VirtualPC Virge emulation though is that by emulating and supporting a standard card that exists, they have better chances to support other operating systems (unsupported by both VMware Workstation and VPC), like BeOS, QNX, OS/2 etc.
Indeed, my tests showed that BeOS was behaving better with VPC than VMware Workstation (under VMware Workstation I noticed 24bit VESA problems, IDE problems while there are known wrong timings). However, other tests showing that SkyOS was extremely slow on VPC, while it was usable on VMWare Workstation. AtheOS (after some tweaking) was successfully loaded on VMWare Workstation as well. Under MacOSX, on a similar machine to my 533 Celerons, a G4 Cube 450 MHz with 448 MB of SDRAM, Virtual PC delivers a better performance than under its PC counterpart version. However, I hear that a lot of code is different under the Mac and PC versions, so probably comparison wouldn’t be too fair. Also, under MacOSX, VirtualPC supports sound emulation, while under PC, I did not have sound with either VPC or VMware Workstation.
Emulating a sound card is tricky business anyway because of the timing issues involved. On the stability issue, I had VirtualPC already crashing 3-4 times the last few weeks, but I still have to see a VMware Workstation crash. As for Bochs, crashes are a daily treat (either due to an error in Bochs itself or a misconfiguration on my part).
Conclusion In my view, when doing application development, VMware Workstation or VPC is the choice. But when doing low level system software development (like say, writing an OS or maybe a compiler), Bochs is what you need. You need to know the exact timings or state of the emulated hardware after you executed your source code via Bochs, not the passed-through result of your real hardware. This is why many hobby OS developers prefer Bochs over VPC/VMware. The problem is, Bochs is still very buggy and slow, and Pentium support is problematic. It requires recompilation for P5 support, plus it does not emulate Pentium efficiently – and it can’t emulate anything more than Pentium anyway. However, it can do 2 and 4-way SMP emulation, which is a great feature when in OS development.
As for Connectix’s VirtualPC, it is possibly acceptable only when running text mode OSes. But I would not recommend it for use with demanding graphic/modern OSes, no matter if you are running on a faster machine than the one I have. The Macintosh version is not too bad at all, in fact it is acceptable on newer G4 machines. But the PC version needs lots of optimization. If I had to pick a winner, it would definitely be VMware Workstation. There is still plenty of room for improvement on VMware Workstation, mostly in the PC compliance area (for example, supporting IDE and VESA better). This would enable VMware to boot successfully a lot of other niche OSes.
But even as it stands today, VMware Workstation is the best option for most users and professionals out there. Overall Ratings VMware Workstation: 8.5 / 10 Virtual PC: 7 / 10 Bochs: 6 / 10 Test Configuration: Dual Celeron 2×533 MHz Abit BP6 motherboard, BX chipset, latest BIOS 3Dfx Voodoo5 64 MB AGP 256 MB SDRAM main memory IBM 80 GB 120GXP drive on standard IDE ATA-33 Matshita 4x DVD-ROM SBLive! 4 3Com 3c509-TX PCI network card Host Operating System Windows XP PRO Guest Operating Systems Red Hat Linux 7.2 (was given 128 MB of RAM and 3 GB of virtual partition space) BeOS 5 OpenSTEP DLX-Linux AtheOS SkyOS.
Remember me from Be days? (maybe not) Only one point to quibble with: In your article blurb, you state that “Bochs are applications that virtualize the x86 hardware” Well, I know that you clarify that in the article, but the blurb is incorrect, since Bochs is really a full-blown emulator, not a “virtualizer” like VMWare. I wish it were! What’s up with Plex86, anyway?
Anyhoo, thought you might want to know that I was able to install, boot, and RUN BeOS R5 in VMWare 3.5 beta. Only a few glitches, such as no color (stub VGA as expected), and wrong CPU speed ID (probably a loop during the boot process, gets hosed by the VM), so it reports my Atlon 1.4 as about 60 MHz, and of course the BeOS system clock runs like I’m in a future-going time machine. I suspect that VMWare doesn’t handle very well the MSRs that BeOS uses for high-resolution timing? I added the “or emulate” blurb, but there is not a real issue, because I do clarify it later in the article.
What’s up with Plex86, anyway? AFAIK, it is dead, right after Mandrake laid off Kevin.
BeOS R5 in VMWare 3.5 beta Unfortunately, I don’t have access to this unreleased version. I was able to boot the BeOS installer with VMWare 3.1, but BeOS could not see the virtual hard drive. I was more lucky by booting it directly from my real hard drive, from its BFS partition. But it is extremely slow for the reasons explained in the article and in the comments here.
Have you every thought of submitting you articles to newspapers or magazines? Not with my grammar. VMWare doesn’t work in windows 98, right? No, it does not make sense to support a FAT32-based OS. Even VirtualPC has different binaries for Win9x/ME and for NT/XP/2k. You see, you can’t have more than a 2 GB file under FAT32, which means that if you want to install Red Hat 7.3 which is 5 CDs or XP which will need 3-4 GB to work efficiently with it, you are out of luck with Win9x/ME.
Plus NT/XP/2k support more features and stability, something that VMWare supports and welcomes. We should not forget that VMWare is mostly a professional tool, it is not directly destined for end users. I’m currently running NT 4.0 Workstation (SP6) under Slackware Linux 8.0 with a 1 GHz PIII with 256MB RAM with VMware Workstation 3.1 and it runs quite nicely. The only problem I’ve encountered is some weirdness with going to full-screen modesometimes it takes a few tries at the button to get it to actually switch. Setting up VMware under slackware is a bit weird thoughdue to the different init file layout.
Basically, you have to make an init.d directory under /etc/rc.d and then populate it with rc0.d to rc6.d directories, then install VMware. To have VMware’s startup actually run on boot you need to add /etc/rc.d/init.d/vmware to one of your startup scripts (rc.local is a good choice). All this is documented on VMware’s site as well. To those of you who have Windows (any version) running as a guest OS: Would it be possible to have a Linux or BSD box, running a few copies of Windows (in different X sessions), piping the output via VNC (or TightVNC) to other machines on the network? I’m hoping to migrate from a Windows 2000 Server (running Terminal Services) to a Linux or BSD based box. At this stage there is only one application that I cannot replace with an open sourced solution.
Crossover Office (Or Transgamings WineX) is my next hope until/if there is a native Linux/BSD version of this accounting package. (I’ve actually offered to port the OSX version to BSD & Linux for free, yet they still give me the brush off “Linux is not part of our plans right now” because “there is no market for it” response. I feel an online petition coming on). Has anyone of you been successfull at running win98 games over VMWare and the likes? All I want is an emulator. There’s those games (like Final Fantasy VII, Star Wars Pod Racer and Soul Reaver) that just won’t run that well over win2k or XP. I tried emulating win98 with VMWare 3.1 I think, but in the end I couldn’t get it to emulate the environment properly.
I don’t care how much ressources I have to waste to get decent emulation, today’s computer exceed the minimum requirements by as much as a whole gigahertz, an extra 460mb of ram and the likes. So, is there anything out there that would let me run old DirectX games in emulation? I just hate to have to reboot everytime.
Great Review! I needed a quick way to test something with Linux without having to have a dedicated machine to do it, so my choice went over vmware 3.1 ‘Real Machine’ Specs: AMD Athlon XP 1700+, 256Mb RAM, 2 Intel NICs, WinXP PRO ‘VM Machine’ Specs: 128Mb RAM, 2 NICs, RedHat 7.2 I’m running 1 VM NIC bridged with public IP from my ISP and the other to my intranet. KDE runs very fast and with sound Currently this VM is hosting a DirectConnect Hub Server with 450 users witch translates to 450 open connections and 60+ KB/s upload modem traffic 24/7. No crashes for a month testing now. The only problem I had was the logfile vmware uses: 5,7Gbs in 4 hours? Some fast text log to screen from DCHUB caused BitBlk errors in vmware.
No option to disable logging?! Well, I haven’t tried windows games. I also don’t know DirectX compatible the emulated graphics cards are. Unlike the article says, VirtualPC does not emulate a s3 Virge. It’s indeed a s3 card, but not the Virge. It’s some kind of 2D card. Maybe there are other solutions fitting better for you.
1.) Check Maybe you find help there. 2.) The games you mentioned (Final Fantasy VII, Star Wars Pod Racer and Soul Reaver) are also avaiable for PlayStation. Maybe you should give PlayStation emulation a try. Check and eMail me if you need more help. Thnx for the nice article. I’ve been running VMWare for quite a while with great success. When faced with the choice of which os to be the ‘Host’ and which is to be the ‘Guest’ os, my own views might help some of you.
The issue is that with the typical desire to run NT and a.nix system together on th same hardware, one sees that VMWare is purchased as one of two different binaries: as a Win2k/NT ‘Host’, or as a ‘Linux’ host. For at least two reasons one is.strongly. advised to use the Win2k/NT version of VMware as the Host system, and then to install one or more linux/unix’s, etc, as guests. The reasons follow: 1) With Win2k/NT as the ‘base’ ie, ‘host’ system installed, one finds that nearly all hardware is available at ALL times.
We love linux, but the fact is we have hardware that just will not run.yet. in that environment. (Eg: Nikon 4000 filmscanner, which is a pure ‘firewire’ device). Working in Linux (guest system) lets me immediately switch back to the host NT5, and i’m golden. I get full support of all hardware whether linux drivers exist or not.
The.host. system MUST support what you need in order for the guest system to have any chance of accessing it.
2) All instances of MS os’s installed (as guest or host) must have costs a license fee. I think that having NT5 as host satisfies any inclination to add multiple ‘guest’ NT systems to a Linux host.
(yea, this is a ‘soft’ reason, cuz ya might never dream of having two MS os’s) I use NT5 (Win2k) as host on this 512meg dual PII with very satisfactory results. Photoshop 6, the Nikon scanner, 8 USB ports, digitizer, dual monitors, and a mix of scsi and ide drives (including CDR and a CDROM-DVD disk) all work fully under the Win host. As an example of what i’ve said, DVD drives are not supported in VMWare yet, but i can use it fully in NT. (unfortunately, VMWare does not support SMP!) I’m nearly always in my trusty linux (SuSE 7.3) which i manually upgraded to the 2.4.18 kernel. Today i effortlessly started that Suse virtual machine and caused it to boot from the new SuSE 8.0 cdrom disk (the nice SuSE DVD disk is useless in this system, as i said.) The upgrade was a snap: kde3 is great, kmail is beautiful, and so far it’s a ‘go’. (afterthought: re: dual monitors: the full use of dual monitors for each os (NT and Linux) needs comment: my host NT fully supports both ViewSonic flatscreens.
If i booted a purt linux boot, (which i can do via SystemCommander) then linux, too, sees both monitors fine. However, booting to the NT5 host only lets the NT use both monitors fully. Linux guest starts up in an NT5 window, which can be dragged to either of the 2 monitors and behaves fine. However, guest os’s run much faster in ‘Fullscreen’, and if that linux window is popped up to fullscreen, it instantly comes up.only. on the first monitor, no matter where it’s ‘windowed’ instance existed. A little quirky, but in no way a problem.
When fullscreen on monitor 0, the rest of the NT desktop is seen fine on monitor 1. I’ve tested both VPC for Windows and VMWare. From my experience VPC is more compatible with most OS. Most OSs I tried installed and detected the hardware (including the sound card) without glitches. The list of OSes: 1.
Linux – Mandrake 7.2 thru 8.1, Trustix 1.5 2. OpenBSD 2.9 3. Windows 98, Windows 2000 Server 4. Dos 6.22 (to run Master of Magic ) Contrary to the review, I find the GUI performance in VPC is actually better than VMWare. Overall performance is not that great, sometimes it will stall for a while (probably due to disk I/O). The latest VPC 4.3 has a built-in remote desktop feature which allows you to use VNC client to view your client OS’s output.
I have VirtualPC for Windows, and sound emulation is pretty good (but by no means perfect). First off, sound emulation under Linux has known problems and is very difficult to get working. I’ve been trying for a while and still can’t get it to work. Under Windows it is good. Under DOS it is surprisingly good.
All you need to do is add the SET BLASTER= line to your autoexec.bat and nearly everything works. For some reason, however, none of Creative Labs SB16 (the sound card VPC emulates) drivers detect the card.
But this does not matter, as most (if not all) DOS programs/games do not require drivers to be loaded. There’s this program called QVPRO (quickview pro?) or something.
It runs under plain DOS and plays nearly all types of media (MPEG, AVI, DIVX, QUICKTIME, WAV, MP3, etc). Under VPC, every type of file I could find and test worked perfectly. You can download a 30 day free trial, if you didn’t know.
I got onto the virt pc bandwagon the day the beta was publically announced (or so). And ended up picking it up for a reduced rate a month later. I knew that vmware was a much more mature product, but I also know that vmware and bochs were dead slow. To me, virtual pc blew away vmware in terms of ease of use, price and speed.
For the cds and floppies, can’t you “bind” them to the virt pc? Vs sharing them with the host?
I run all my system now through virtual pc — because I use a type of home-grown “ghost” imaging of the base os installs of win95, win98 and freebsd although I haven’t had to re-install the freebsd:- Basically, my 900mhz laptop running virtual pc hosting freebsd is FASTER than my 500mhz celeron running freebsd native. So, anyway, my current laptop has 512mb ram, next will have 1 GB. Disk is 20 GB or so, next will probably be at least 30. So with this much ram and 128mb to each virtual, I can run everything I need from one machine. I see vmware as a much more mature product and ready for use in business for server farms and the like and probably both vmware and virtpc would be good/great for home use. I simply liked the easy of the interface and speed of virtpc. I would have liked to see a comparison with Netraverse’s Win4Lin product ( ).
I have been using their 3.0 version for a while to test different browsers on win98. The 3.0 version only supports win98 and 95, but the newer version 4.0, now includes support for ME and additional hardware support. It is definately more virtualized than VMWARE, and application performance seems better based on my limited experience with VMWARE. For comparitive sakes though win4lin might be better compared to the former VMWARE “Express” version. I believe I paid $80 bucks for my copy.Brandon (I have no affiliation w/ netraverse, other than being a reasonably happy customer).
I am running VPC under eComStation (OEM version of OS/2) as host and a variety of operating systems as guest. I do not see the CD/floppy drive problem you described. We have tested VPC on a variety of hardware. The “slowless” you experience might actually be caused by the dual processor (don’t remember if you were runnign NT as host, or Linux as host). The current version of VPC does not take advantage of SMP and having it around might actually slow things down. In any event, I would not recommend using the sub-1GHz processors to run it. My thinkpad T22/900 is ok for a demo machine but things become very usable on my Athlon 1900+ system.
We are doing a number of things to boost the performance of runing VPC under eCS. You didn’t mention if you are using the shared folder feature of VPC but we found that performance is generally much better by not using that feature. In fact, if you can minimize or eliminate local I/O, you will get a tremendous boost in performance. For instance, we are running the host diskless – remote booted from the server and the Guest “thinks” that it has a local hard drive but all I/O are actually networked I/O – cached at the server.
As I understand it, VPC’s method of virtualization makes it more compatible. We have been throwing all kinds of operating systems that we can find at VPC and everything works.
The only one I didn’t get to try is BeOS (I don’t really have a need for that). I have no way of comparing VMWare to VPC since VMWare does not support OS/2 but I find VPC very usable – given the proper hardware.
Comments are closed.
|
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |