The release of Virtual PC for Mac Version 7 holds significance in not just one, but two Microsoft Corp. product domains. As the first all-Microsoft version of the PC emulator—and the fifth application in the new Office 2004 Professional suite—VPC 7 signals a commitment to the Mac platform in the enterprise.
But Virtual PC 7 also plays a role in Microsofts virtualization strategy. Microsoft, of Redmond, Wash., acquired the emulator from Connectix Corp. in February 2003 along with Virtual PC for Windows and Virtual Server (then called Virtual PC Server), which was then in a pre-beta stage of development. Three different groups at Microsoft are now in charge of the three virtualization products. Each provides different solutions to three different target markets. What they have in common is the ability to provide multiple virtual machines on one box, enabling customers to consolidate hardware.
“Virtual PC for Mac fits in well with the virtualization trend, though in a different way,” said Michael Silver, vice president of Gartner Inc. “It lets an enterprise provide its Mac users with a Windows environment without giving them a PC.”
Of the three, Microsoft has said that it was most interested in Virtual Server. It adds to Microsofts growing arsenal of server products and enables Redmond to compete with VMware Inc., a leader in server virtualization.
“From customer demand, weve seen that the largest interest has been in using virtual machines in a server environment,” said Eric Berg, group product manager of Microsofts Windows Management Division. “However, weve found value in both the client and server. We have a comprehensive strategy for each platform.”
Both the Windows client and server can be used for migration. “You can move to new hardware and the latest copy of Windows,” said Berg, “while keeping a copy of Windows 98 or Windows NT for a legacy application that only runs on the older version of Windows. The legacy software also gets a performance boost from the new hardware.”
Virtual Server, however, plays a bigger role in server consolidation—the virtualization of multiple servers on a single box.
“A lot of customers want to consolidate servers and server workloads, such as Exchange, file servers, and custom applications,” said Berg. Virtual Server is also used in software development and testing.
“Customers can get better utilization of the hardware by installing multiple configurations on one physical machine.”
Berg said that customers also use the Virtual PC for Windows client for testing new software on multiple OS configurations, as well as training and demonstrating software. By contrast, Virtual PC for Mac has always had a completely different role, that of enabling Macs to run legacy Windows software.
For a period, it was uncertain what plans, if any, Microsoft had for the Mac version. It was the last of the trio that Microsoft rewrote, shipping 18 months after Microsoft acquired it. With a solid Mac version now on the shelves, Gartners Silver said there is no longer any doubt. “The release of Virtual PC 7 signals that the Mac Business Unit is serious about maintaining a Mac version and didnt just buy Virtual PC only for the server version.”
Technical Hurdles
Presumably, moving from a third-party developer to the designers of Windows has benefited all three of the virtual machine products. Silver thinks this includes Virtual PC for Mac.
“Microsoft has the source code to Windows, and even though Mac Business Unit is autonomous, it has access to resources that outside people might not.”
But Virtual PC for Mac is a different animal from the Windows versions and doesnt benefit as much from Microsofts Windows expertise.
“We thought about Virtual PC for Windows and Virtual Server in an integrated way. Theyre pretty tightly related and share a common set of engineering resources,” said Berg. “Theres not a lot of technology to share with the Mac version.”
Virtual PC for Mac is a more complex piece of software than the Windows versions. In addition to providing multiple virtual machines for Windows to run in, Virtual PC for Mac must emulate the processor and the graphics subsystems. Like the versions that preceded it, Virtual PC 7 doesnt emulate a specific processor but emulates a set of x86 instructions as would be executed by an x86 processor, including any Pentium. The x86 instructions are only simulated, since the actual instruction set Virtual PC uses is for the PowerPC processors. This worked fine for the PowerPC G3 and G4 processors for a number of years, until the G5 came along and stopped Virtual PC 6.1 dead in its tracks
The reason for the incompatibility has to do with the order in which bytes are stored. PCs using x86 processors store bytes using a method called “little endian.” Macintoshes traditionally use a byte order called “big endian.” However, the G3 and G4 processors offer a feature called “pseudo-little endian mode,” which is what Virtual PC used to get better performance for Windows. The G5 processor eliminated pseudo-little endian mode, which required Microsoft to significantly rewrite large portions of Virtual PC.
In addition, Microsoft revamped the graphic subsystem in Version 7, supporting Mac OS X graphics frameworks as well as graphics hardware. The result is faster, smoother graphics and better user interface responsiveness, particularly with Windows XP.
Although the graphics system is still emulated, Version 7 adds support for graphics hardware acceleration. Before Version 7, Virtual PC completely emulated the graphics card; the Mac processor was burdened with all the computations usually handled by the graphics card. The old Virtual PC 3, released in 1999, did support a few graphics cards. But with graphics cards changing every year, it was hard for Connectix to keep up, and it gave up graphics hardware support with VPC 4.
Microsofts Virtual PC 7 can use graphics cards that support Mac OS Xs Quartz Extreme. This includes all Macs shipped today. Microsoft also used Apples implementation of OpenGL. The result is that Virtual PC 7 can use graphics hardware to “move data from the PCs emulated screen buffer to the Macs video display, resulting in higher update frame rates,” according to a Microsoft spokesperson.
There is still room for improvement in Virtual PC for Mac. The next challenge may be to support the second processor in dual-processor Macs, a capability that Virtual Server already has.
“Virtual Server can support a multiprocessor box with 4 or 8 CPUs,” said Berg. “It can take advantage of all that processing capability by managing the resources of the total CPU bandwidth.”
What happens next to Virtual PC is in the hands of the Macintosh Business Unit. The fact that there is now a Virtual PC that is a fully Microsoft version could help increase the use of Windows on Macs. “I think it is a factor,” said Silver.
Check out eWEEK.coms Macintosh Center for the latest news, reviews and analysis about Apple in the enterprise. And for insights on Macintosh coverage around the Web, check out eWEEK.com Executive Editor Matthew Rothenbergs Weblog.
Be sure to add our eWEEK.com Macintosh news feed to your RSS newsreader or My Yahoo page