Oct 23 2005
Virtual Machines
One thing I really like about the x86 architecture is the availability of so many cool virtualization technologies.
At work, I run Debian. I don’t even have a graphical interface configured; all the machine does is provide a place to store files, host databases, execute long-running processes—it’s a server, essentially. However, it is a 2.4 GHz Penium 4 with 512MB of RAM, which makes it a fast enough machine for doing reasonably interesting stuff with.
For example, the release of VMWare’s Player application opens up a number of opportunities. While it cannot create a virtual machine image, it can play an existing image. This means I can do a number of interesting things, and letting others take part/play along is no longer a difficult thing.
- The CSCS group is interested in Linux. I’d love to provide a VMWare image that lets them load a Linux image on a Windows machine, without them having to actually build the machine.
- Similarly, the CSCS group expressed an interest in learning some things about Linux security. I’d rather they were doing such experiments on a VM, and not a machine that I use for my research.
- I’d like to experiment with different *NIXes, but I can’t afford the time to be nuking a machine (constantly) to install them. Having a VM allows me to easily install (say) Ubuntu. Or Suse.
- It would be incredibly useful to have a Windows machine around, as I occasionally encounter something for a handheld device, small robotics platform, etc., that only comes as a Windows executable. However, I don’t have any desire to actually use Windows every day, nor do I want to replace my rock-solid Debian server. A VM would, however, make my life easy.
- Related, it would be great to have a Windows XP, Windows 2000, and Windows 98 installation so that the Transterpreter could easily be installed and tested on a clean machine every time we made a new release. Also, there were some genuine difficulties handling environment variables under XP, and neither Christian nor I had one—we both have Linux machines next to our desks. Makes it kinda difficult to guarantee portability of a binary installer for an OS you don’t actually have or use.
- Occasionally, I’d like to be able to play a game or two—nothing cutting edge, mind you, just some old games I grew up with. These are rarely available for the Mac, and almost always available for Windows. A VM running Windows 98 would be perfect in these situations.
OK, so the last item isn’t exactly work related, but it is at least honest. Point is, having a machine where I can store a number of 5-10GB disk images would be great. The Linux images could easily be provided to students for them to download and experiment with, and the Windows images would make it so much easier to occasionally boot “Windows-in-a-Window” to use an old or specialized piece of software that, otherwise, would be a real pain.
I’d love to wait until Apple releases an Intel box to build a machine that does this. The thought of being able to run OSX in a dual-boot configuration with Debian or Ubuntu, and therefore be able to run VMWare on the Linux side, is really quite exciting. It is even possible that VMWare will release an OSX port of their virtualization software, meaning I can possibly use OSX as a VM host for Linux and Windows. That, really, would be wonderful.
In the meantime, I have to wonder if it is worth building a small machine that can do all of these things (so I can take the machine with me after I leave Kent), or if I just want to ask the department for a drive and another gig of RAM to give it a go, and do some cool stuff related to my work and teaching.