Virtualization

A huge detour for MINI owners – in the huge=27″ way 🙂

1-1/2 years ago, I got an iPhone; shortly after that, I got my Macbook Pro. While the Macbook Pro was mostly an expensive toy and little more than a photo editor / iTunes repository and web browser, I did use it sometimes for work tasks when I was away. Enough to learn that running Windows is feasible when necessary.

Now, with the 27″ iMac, I’ve chosen to replace my #1 PC at work with a Mac (PC’s #2-#5 remain PC for now); this week I’ve been setting up the Mac to “play nice” at the office, and configuring it to run Windows programs, resulting in …

The screenshot shows Apple Finder and Windows Explorer both viewing the documents directory, our PCB design program which runs fine, and Apple and Windows versions of command line (CMD / DOS prompt, and Terminal).

I knew that the Apple iMac would be capable of running the Windows programs I need (PCB design, and code development in C, assembler for Freescale and Microchip parts, and Visual Basic Windows and DOS versions for customer and in-house test programs!); but I wasn’t sure what solution would be best – I’ve used Parallels on my Macbook Pro, but decided to test VMware Fusion and VirtualBox as well.

My test was to do something I do many times a day; compile the source code of our GP400 product (some 60K of compiled code for the Freescale HCS12X), and load it in to the processor ready to debug (using a USB debugger). On my current work PC#1, this timed 38s.

I liked VMware Fusion the most; it installs nicely, with a small menu on the top that gives access to Windows programs and the Start Menu, even when VMware isn’t running. It opens tidily and works well. Loading Windows XP from cold took 30s, and the compile/debug test time was 28s.

Parallels isn’t as tidy as VMware; it offers perhaps too many different screen modes and while “crystal” mode” gives a menu in the top bar, it opens not to a tidy list of Windows programs, but to a menu where you have to click “Start Menu” to call up the Windows Start Menu in Windows style. While in “crystal” you have to ALT-click to get to Parallels to adjust anything (while VMware puts it all in the one menu).
Parallels also isn’t as good at opening tidily; it does a lot of Windows screen resizing as it loads. It offers many “bells and whistles” (such as Maclook that makes the Windows look Mac-like), but it feels a bit less professional than VMware – maybe deliberately, if it’s targetted more to home users.
However, Parallels blazed the timing test, at just 22s (after taking 22s to load Windows XP)!

Finally VirtualBox, which offers the significant benefit of zero cost! It also offers few extras, which results in the fastest click-to-load time (Windows XP is up in 21s).
However from there, VirtualBox suffers – it’s especially slow at USB; while I was able to access the debugger, and a USB serial cable, communications over USB is very slow. The compile/debug timing test came in at 54s, twice as slow as the competition.
VirtualBox also is poor at graphics support – on my Macbook Pro I had tested it too, and it couldn’t run most Windows games. Finally, both VMware and Parallels can share Documents/Desktop etc between Mac and Windows, which VirtualBox can’t do.

Oh, not finally, since I did also temporarily set up and test BootCamp – it took 20s to do the compile/debug (fastest of all, not surprising really); however BootCamp quickly lost it’s mind and crashed, and I couldn’t be bothered to figure out why. Also in the typical Windows way, it takes 10s or so before Windows finds the Magic Mouse.

In conclusion, all three virtual Windows solutions work, and seemed reliable; while I liked VMware, the speed that Parallels offered was hard to argue with – basically running at within 10% of the theoretical maximum of BootCamp. As you likely noticed in the screenshots, I purchased Parallels V5.

Some time, I’ll have to look at native Apple code development – see if it’s possible to do the RS232 communications programs we use on PCs; but meantime, the Apple is the best Windows machine I have!

4 thoughts on “Virtualization

  1. Glad to see you’re coming around so nicely, Ian. 🙂 What version of Fusion did you work with? My observations on Parallels and Fusion pretty much match yours. Speed’s not so important to me (I do as little in Windows as possible), so I prefer Fusion’s more polished and “Mac-like” appearance, and they seem less erratic as a company. I haven’t upgraded to the version that came out a month or two ago, however. Parallels and VMWare seem to leapfrog one another every release cycle.

    Serial communications on the Mac is a piece of cake. It’s basically Unix with a pretty face, so everything’s a file, and device driver support is pretty good. I use the FTDI FT232R chip in a couple of different guises (both on-board the official Arduino product, and built-into a TTL-232R USB-to-breadboardable-socket cable) and I believe the drivers are built into the OS. These devices appear as serial devices, and I can talk to my circuits with Python scripts easy as can be. I don’t know how Windows does serial comms, but with Python and PySerial (and, really, any language under Unix) once the device is open, it’s just like reading and writing to a file descriptor.

    I’m getting comfortable with Eagle for designing PCBs (hope to etch my first board in a couple of weeks!), and they have a native OS X version. Doesn’t look as capable as PowerPCB, but it’s free. 🙂

  2. Good research Ian. I recently upgraded my Parallels to v5 and it works more than adequately for my needs (mostly flight software oriented, I guess pilots don’t use Macs?).

    I only have a Mac Mini though, but might succumb to the iMac with a bonus I am getting for filing a patent.

    Have a great Christmas.

Comments are closed.