Looking at the past
Many would argue that string theory was gasping for air in the late 1980s and early 1990s. Mathematical physicist Edward Witten breathed new life into the field when he postulated that the five then-separate string theories were really just different ways of looking at the one true Theory of Everything (TOE).
Over the last few years, the popularity of virtualization has been reaching the same fever pitch that string theory did in the 1980s. Evidence of this is apparent by the many implementations of virtualization such as
But the enterprise space is very different from the consumer marketplace. Despite the fact that companies like Dell and Apple sell servers, they live and die by their consumer product line. Unless virtualization finds its own Edward Witten, it may be destined to follow in the paths of OS/2, BeOS, the LS-120 drive, the Turbo Grafx-16, the Lynx -- great technologies ahead of their times that could not quite find their niche in the consumer market and died a slow, and sometimes fast, death.
Besides being a summer full of hurricanes, the summer of 2005 will also be remembered by my co-workers and me for another reason. That was when Steve Jobs announced that Apple would be moving away from the PowerPC chip architecture that had become so synonymous with Apple to one of the two companies that most Apple geeks would not touch with a 3.048-meter pole, Intel. From June until January the question on everyone's mind was: Will the new Macs run Windows? When the first Intel Macs started shipping in January 2006, hackers everywhere began to blast Windows XP onto their new Macs. At first there was a collective sigh of disappointment when it was learned that the new Macs did not use a BIOS, but rather EFI (Extensible Firmware Interface), which seemed to prevent the possibility of installing Windows XP on the new Intel Macs. On January 22, OnMac.net started a grassroots movement that would reward the group or individual that provided a method of installing and running Windows XP on an Intel Mac. Around March 15, a hacker known by the alias "narf" devised a solution known as XOM that could be used, albeit with some trickery, to boot Windows XP on an Intel iMac.
Why is it that a community traditionally known for its anti-Microsoft viewpoints is more interested than anyone in getting Windows to run on Macs? The answer lies in the reason the members of this community use OS X to begin with: elegance. OS X is the most aesthetically and functionally elegant piece of software in the world today, and it has attained this position by not sacrificing form for function or vice versa. No other software can lay claim to such a magnificent accomplishment. Users of OS X cling to it for the simplistic and beautiful way it enables them to accomplish complex tasks. Sometimes the complex task is to figure out how to gain access to a Windows PC to run a Windows-only application. More times than not, an application is developed as Windows-only because a company cannot justify spending the money on developing an OS X version of the same product.
The most pointed example of this situation may be Microsoft Outlook. There are alternatives to Outlook, such as Microsoft Entourage, but none of them are equals to Outlook. The Apple community has worked hard to get Windows and Windows applications to run on its Macs so that it can have one computer that satisfies all of its needs.
Then, to the shock of the Apple community and the rest of the technology community, on April 5, two weeks after the XOM Windows-on-Mac hack was released, Apple released BootCamp a program that makes it almost seamless to install and dual-boot Windows XP on a Mac. The roller coaster ride continued the next day on April 6 when Parallels Inc. announced Parallels Workstation 2.1, a virtualization product for Intel Macs that can run Windows XP at near native speeds. Diane Greene, president of VMware, confirmed shortly thereafter that her company is also developing a workstation product of OS X.
What's coming for virtualization
I offer though that while these third-party products are exciting, they're nothing compared to what I think Apple has up its sleeve. I am talking about side-by-side operating system installations with OS X. I am not describing running these operating systems as guests in virtual consoles like Parallels Workstation or VMware Workstation might allow, but rather as roommates like X11 on OS X. The difference is that a guest VM is suspended and resumed manually when needed, a process that interrupts the normal workflow. This new type of VM will act more like a roommate; it will always be there, transparently appearing when needed, causing no disruption to the previous task at hand. (I have had four roommates, so I know that this example of the perfect roommate is not true in reality, but isn't it a great fantasy?)
How this will be accomplished remains to be seen, but I can offer some possibilities.
I must respectfully disagree with Robert X. Cringley that Apple will implement the Win32 API in OS X Leopard (10.5). Cringley wrote, "I'm told Apple has long had this running in the Cupertino lab -- Intel Macs running OS X while mixing Apple and XP applications." He concluded from this that Apple is working on its own implementation of the Win32 API. I have no doubt that his sources are correct, that OS X is running Windows applications, but I do not think this is because any part of the Win32 API has been implemented inside OS X. I have lived inside the labyrinth of the Win32 API for almost half my life, and I cannot imagine that Apple engineers have any desire to travel that maze when a much simpler solution exists.
Travel back in time to 2001 when Steve Jobs first announced OS X. Many of you worried that you would lose the ability to run your plethora of OS 9 applications. Apple thought it had planned for such an occasion -- OS X was designed to let OS 9 boot and run alongside OS X. OS 9 could run as a separate process within OS X, meaning that Microsoft Outlook 9, a far better way to access Microsoft Exchange than Microsoft Entourage X, was still able to be run inside the new OS X.
Fast-forward five years to 2006. Apple has made the transition to the Intel chip, a processor that now includes the aforementioned Intel Virtualization Technology (VT). Intel's VT will make it easier for any operating system to act as a virtual machine monitor. The role of the VMM is one that is currently played by software such as Parallels Workstation or VMware Workstation. It is the responsibility of the VMM to allocate a host system's resources to a virtual machine (VM). The first Intel Macs were released on the new Intel Core Duo and Core Solo processors. These processors include Intel VT.
I suspect that Apple is working right now to implement a VMM inside OS X Leopard (10.5). Apple's yet-to-be announced VMM will undoubtedly include:
- A network manager that allows OS X to present one of the following network options: Bridged, Network Address Translated (NAT), Host-only, or a specific Virtual Local Area Network (VLAN). The NAT option will be the default, enabling a roommate installation of Windows to talk to the outside world, but not letting any of the hackers in that world talk to Windows.
- Direct access to the system's graphics card. One of the largest problems with VMs running on desktops today is that they do not have direct access to a system's graphics card. Instead, their graphics are stripped down, handled by the VMM's emulated graphics driver. I predict that Apple will abolish this barrier, giving way to roommate installations of Windows that can run Half-Life 2 at an amazing 60 frames per second (FPS).
And these are the features that a VMM from Apple should include:
- Monitor drivers for Apple's lines of Cinema Display HDs. I am typing this article on an Ubuntu Linux desktop hooked up to a 20" Apple Cinema Display HD and a 17" Apple Cinema Display. Neither monitor is recognized by Ubuntu or my dual-boot Windows XP installation. There are third-party information files (INF) files in Windows that will help, but if Apple is to truly position OS X as the one OS to rule them all, it will need across-the-board driver support for Windows and possibly even Linux.
- A keystore extension for roommate OS installations. One of the nicest features of OS X is also one of the least utilized, Keychain Access. It allows the storage of sensitive account information in one secure repository. Windows has something similar, but it is split between certificate management services and its fuzzy password memory feature. GNOME and KDE both provide their own keystore implementations as well. It would be a huge win in the security space for Apple and the consumer if roommate OS installations were able to take advantage of OS X's Keychain, providing an OS-agnostic central repository for sensitive information.
Roommate operating systems are almost certainly Apple's next step into virtualization. They keep OS X free of other-OS code, they divorce Apple from having to maintain thousands of lines of other-OS code and they open up the possibility of running future operating systems with OS X as well. I believe Apple will pursue this path because it is the most elegant one available to the company. And elegance is not only how consumers perceive Apple, it is how Apple defines itself. Apple is in the best position to become the new leader in a world of consumer virtualization. And they will do so with style, simplicity and elegance.
Andrew Kutz has been professionally involved in the technology sector for 11 years. For the last six of them, he has worked with the latest technologies while employed by the University of Texas at Austin. Two years ago, Kutz started his own consulting firm and development house, l o s t c r e a t i o n s. He is an avid fan of VMware, .NET, open source, Terminal Services, coding and comics. He graduated from the University of Texas at Austin, BA in Ancient History and Classical Civilization. He currently lives in Austin, Tex., with his wife Mandy and their two puppies, Lucy and CJ.