The Good and Bad of Using Virtual Machined

Started by Donald Darden, March 16, 2008, 09:55:21 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Donald Darden

Virtual Machine development depends upon a host operating system (OS), after which you can install one or more Guest OSes.  Each OS can have its own applications and data, but you can share folders (which can be whole drives), and network with each other and with other computers.

It is somewhat awkward to try and use a single monitor, keyboard, and mouse to work at both the host and guest levels, but a little practice, and it becomes easier.  It might be possible to try and work between two guest OSes, or two guest OSes and the host at the same time, but reasons for doing so do not really come to mind.  If your host is Linux, and your guest is Windows, or vice-verse, you pretty much cover the field of possible needs, so what other OS would you be trying to use at the same time?  Now if you had a Mac, then set up Windows and Linux on top of that, you could possibly argue the need for three OSes, but it would still depend upon a specific circumstance to see where you need all three at once.

Multicore technology offers us a chance to see multithreaded OSes enacted in a more efficient manner.  This hasn't happened yet.  It also means we may see VM become second nature in future OSes, but that stage has not been reached yet either.  A third net gain would be if the core OS were developed to provide basic services to guest OSes that might be installed.  These are possible directions for future development.

VMWare's products offer a substantial lead in this area, but my experience with VirtualBox shows that they have at least one worthy competitor.  VirtualBox is also free for the individual, and the company has been acquired by Sun Microsystems, which suggests that the technology involved will move on.

The OS, applications, and data that become part of a guest OS all reside on the virtual C: drive that gets created.  The virtual drive is actually a file on an existing hard drive partiton.  In virtualBox, these are called Virtual Drive Images, or VDIs for short.  The name veeDee-eye is becoming commonplace as a way to reference these.  The website www.veeDee-eyes.com now exists to encourage others to share their VDIs, or to get a VDI that reflects different Open Source OSes and available software packages.

VDIs can be rather large, perhaps 2 to 4 GB in size.  This makes it difficult to upload or download one.  Consequently, most are compressed into archives that may run a half gig or more in size.  But storing and transferring files of this size is still a burden, and one alternative is to buy a DVD with the VDI burned to it.  These sell for at little as $3.99 per set.  For those that want to download a VDI, the use of torrent is possibly the best approach, since it spreads the work among a number of different PCs for hosting and transmitting the data.  It can be very slow, and some sites are now offering subscription services as a paid alternative, promising high speed delivery as their chief benefit.  Such sites may offer other types of content as well, such as videos and movies.

If your Windows PC is using FAT partitions, this will cause a performance hit whenever you boot up into Linux.  Whenever Linux sees a FAT partition, it calls DOSfsck to make sure the file system is clean, and it takes awhile to run the check.  This would be about the same as running CHKDSK under Windows every time Windows booted.  If you convert your FAT partitions to NTFS volumes, Linux will no longer check these when booting up, and it will load much faster than Windows.  You can disable the checks in Linux if you want, and when installed as a guest OS, Linux does not check because it only sees the FAT drives as network shared drives (if you set them up that way).  And of course, for Windows 9x/Me, you do not have support for NTFS, so it is all a matter of what works best for you.

If you are going to have multiple installs of Linux on your PC, you may have some issues with the /etc/fstab table entries.  If any entries use UUID= to refer to partitions, you will have a problem every time a partition gets reformatted, because the assigned UUID for that volume will get changed.  It would be better to replace the UUID= entries with the device name found in /dev, such as /dev/sda1.

There are many Linux and other Open Source distributions available, and of course most are free for the download.  You can create VDIs using proprietary and licensed OSes, but you are legally at risk if you attempt to share these with others.  Still, they can be very beneficial on your own PC, and I have created several using Windows 2000 Pro and XP.  Others have put Vista into VDIs, or even DOS and earlier versions of Windows, such as 98 or Me.  In general, my experience is that Windows behaves better and works faster in a VDI as a guest than it does if it owns the whole machine.

Going forward, the VM approach can make many issues with which primary OS to use become moot.  Any OS running as guest is isolated from the real world, and is only as exposed as you permit it to be.  You can trash an instance of a guest OS and resurrect it at will from a stored copy, and because it is running in virtual space, it is less vulnerable to many attackes.  Since you have choice of guest OSes, you really do not need to concern yourself with the primary as much.

I've argued that a Linux host is better than a Windows host for the reasons that Linux is smaller, allows more freed memory for the guest OS, and also is less vulnerable to attacks, since it is not as widely used, and thus less of a target for abuse.  But it is really all a matter of degree, and if you have good security in place, and your PC is up to the demands put on it, then you might prefer to have Windows as your host OS.

If you sit and think about all the things you know about Windows, and how long it took you to learn these, then you may dispair of ever learning as much about Linux.  Not to worry, you did not start off knowing Windows that well, yet you were able to begin to make good use of it quickly.  The same pattern will repeat under Linux.  You will quickly learn a few key things to make your computing easier, and after that it will feel almost like being home.  I feel very comfortable in Linux now, and yet I know only a fraction of the things that I learned under Windows.  But it is enough, and I can always learn more when I need to.
  •