As a developer, and especially as a consultant, you always find yourself looking for some type of advantage when writing code. This is especially true when you are going cross-platform and are writing and testing code on multiple operating systems.
To overcome this dilemma, most developers create virtual machines (i.e. VM’s) and run these VM’s on their desktop. In the past, I’ve used Microsoft’s Virtual PC and found it wanting. The version I started out with was Virtual PC 2007 and it didn’t support USB drives and most other USB equipment. It also had a problem with recognizing .ISO files that were greater than 700 MB.
I then started using VMware for my VM environment. It’s nice but for the workstation version, it’s a bit pricey. With VMware Workstation, you run your new VM in a window as a guest of the host operating system. I have to admit, things work pretty well and if you have an ISO image of your operating system, you can use the free VMplayer to run your guest OS instead of using the Workstation product.
I’ve now moved to SUN’s VirtualBox software. SUN just came out with version 3 of VirtualBox and I’m very impressed. It’s seems a bit faster than VMware’s VMplayer and supports more than two Logical CPU’s. As a matter of fact, you can assign up to 32 Logical CPU’s to a guest VM.
VirtualBox is free for personal use and has a license fee for commercial use. Read the license agreement to decide if the constraints are reasonable enough for you.
VirtualBox’s graphics feel nicer and run faster as well. VirtualBox supports 3D acceleration so you can run CompWiz in Ubuntu if you wish. It also supports the sharing of USB devices so you don’t lose access to USB hardware in your VM.
I think the feature I like the most is the option to run your VM seamlessly. Typically, with VMware’s product or Microsoft’s product, you run your VM in a window. But when you run VirtualBox in seamless mode, you don’t see the window. I know this is hard to understand and as they say, a picture is worth a thousand words… So here is a picture of running VirtualBox in seamless mode.
Please click the image above to expand.
What you see are multiple windows from two operating systems. The host machine is Windows 7 64-bit. The guest machine is Fedora 11. Looking at the image above, you see the Fedora System Monitor and Terminal, and the Windows Internet Explorer and Windows Media Center. You also see the Windows 7 CPU and memory gadget. At the bottom of the image, you see two task bars. The one on the very bottom is the Windows 7 task bar and sitting on top of it, is the Fedora 11 taskbar.
All-in-all, it’s a real nice setup. About the only suggestion I have is to make sure you have a commonly supported graphics card so that installation goes smoothly. It’s easy to cut-and-paste text from Windows to Linux and you definitely feel like you are using one OS after awhile.