Download PDF version of this article PDF

Titling this month's editor's note "Virtually Yours" was irresistible—it's one of those names that's so bad you just have to use it. It reminds me of the hair salons you find in small towns: Shear Elegance, A Cut Above, you know the type. And believe it or not, hairstyling is not unrelated to the topic of this month's special report, virtual machines: they're both subject to the whims of fashion.

OK, so admittedly that's a reach (and a bad one at that), but don't take my word for it, ask Mendel Rosenblum. We did.

For those of you unfamiliar with the name, among other things Rosenblum is the cofounder of VMware (the little virtual machine company recently acquired by EMC for $635 million). He joined the Queue advisory board for a recent session to help us prepare this month's special report. As he spoke, the room grew quiet, and eyes grew wide. Umm, smart guy, yep. Rosenblum was kind enough to bottle his thoughts for wider dispersion in this month's lead article, "The Reincarnation of Virtual Machines." And it turns out that what's old is new again, again.

One of the ideas that always comes up when thinking about virtual machines is that of separation and boundaries, the idea of a safe "sandbox" in which to play. This turns out to be an area of some complexity as separation isn't necessarily a hard-and-fast idea; it's perhaps better understood in terms of a spectrum. Poul-Henning Kamp and Robert Watson, the implementers of FreeBSD Jail—a server-side sandbox of sorts with a semipermeable separation model—explore this spectrum in "Building Systems to Be Shared, Securely." They also take a look at why they chose the model they did for Jail and some of the trade-offs they made.

Of course, building systems to permit safe and separate execution is only one reason to build a virtual machine. Another (and many of you will be familiar with this one!) is to solve the problem of what to do with old code once the hardware no longer exists. As Bob Supnik explains in "Simulators: Virtual Machines of the Past (and Future)," simulation, emulation, and virtualization are in many ways different sides of the same coin (and for those of you keeping track, I know there's no such thing as a three-sided coin!). Supnik is the principal developer of SIMH, the computer history simulation project, which emulates more than 20 systems from IBM, DEC, and others, so he knows of what he speaks.

And, of course, no special report on virtual machines would be complete without a look at that other type of virtual machine—the runtime interpreted environment, a la Perl, Python—and perhaps most famously—Java. James Gosling, creator of Java, sits down with Queue advisory board member Eric Allman and reveals that the Java Virtual Machine, in terms of how it comes at problems of separation and emulation, isn't all that different from the systems explored by our other authors.

One last thing: I would be remiss if I didn't mention that a couple of additional articles in this issue are definitely worth checking out. First up is Vanderbilt University's Douglas Schmidt and company with a great look at application frameworks: What are they? What do you gain by using them? What do you give up? If you're considering an application framework for an upcoming project, be sure to read "Leveraging Application Frameworks" before making any decisions.

And for those of you who just can't bear yet another stern, finger-wagging warning about buffer overflows, John Viega and Matt Messier of Secure Software have just the thing. "Security Is Harder than You Think" argues that the real problem with security today is that it's just too hard for anyone but nonspecialists to implement correctly. These two have some particularly scary things to say about SSL (Secure Sockets Layer). And I mean scary. Enjoy!


Originally published in Queue vol. 2, no. 5
see this item in the ACM Digital Library


© ACM, Inc. All Rights Reserved.