Thursday, January 12, 2006

Learning from the past

I've been reading about IBMs reasons for developing a Virtual Machine in the 1960s... and trying to read up on the current new technology from both Intel and AMD. It appears that we're learning from the past, and we might even have good chips with will allow full virtualization in our machines very soon now.

If a machine can be fully virtualized, the software running on it has absolutely now way to tell its not running on the raw hardware. This requires a piece of software known as a Virtual Machine Monitor. A good VMM implementation makes it possible to run a VMM inside of a VMM. The original reason for doing this type of recursion was to make it cheaper to work on new versions of the operating systems. Instead of having to have a real machine per developer (not cheap with mainframes), it was far more sensible to let them use a virtual machine.

The Pentium instruction set has holes which make it very difficult to fully virtualize. The new chips announced in the past week seem to include everything necessary to change this picture, and open up some interesting new choices.

If we can virtualize the main chip in a PC, then you can run as many virtual machines inside it as you like, setting whatever security rules and interconnections as you see fit, in a very safe manner. I'm amazed at how much you can learn just digging around the internet with google and some persistance. It's been quite fun.


No comments: