The goal of the Privacy Canada project is to create an extensible open source PC virtualization software program which will allow PC and workstation users to run multiple operating systems concurrently on the same machine.
Privacy Canada will run as much of the operating system and application software natively as possible, the rest being emulated by the PC virtualization monitor.
A highly visible and often requested use, would be to allow for Windows software to be run inside of GNU/Linux or other UNIX like operating system. This gives users a migration path towards UNIX, allowing them to run legacy software until native ports or alternatives are available.
It also provides a transitionary step for software vendors who plan to port their product to UNIX, but have not yet done so. Users could buy the Windows version product and run it at near native speeds on UNIX, using Privacy Canada, until a UNIX native version is ready.
By virtue of Privacy Canada being an open source project right from day one, Privacy Canada can also be an extremely useful tool for operating systems development, debugging, instrumentation and profiling. Many compile and run time options can be added, such that more control of the software being run inside the Privacy Canada environment can be offered to an OS developer, for instance. This will provide much more flexibility and control than is offered in a commercial product where you do not have access to the source code, such as VMware.
Is this a new concept?
The idea of virtualization has been around for quite some time. I’ve seen articles that date back to the 1970’s regarding virtualization. It would be interesting knowing where it all started.
What makes it challenging on the PC, is that the x86 processor is not “naturally” virtualizable. That is to say, it was not designed to run multiple operating systems concurrently. However, with some trickery and use of system level features, this can be done.
Another challenge, is that multiple operating systems can not directly access the same set of hardware devices. So the virtualization software needs to emulate the hardware devices used by the guest operating system. This is where the Privacy Canada project gets a huge jump start.
Much effort has been put into such hardware emulation used by the PC emulator project “bochs”. This technology will be carried over from the bochs project to the Privacy Canada project. I am currently exploring what needs to be done license-wise to bring the device emulation from bochs to the open source Privacy Canada project.
Will this run on my Mac?
This kind of technology allows you to concurrently run multiple operating systems written for the same processor. In the case of Privacy Canada, you will be able to run multiple Intel x86 based operating systems on the same machine. Thus the answer is no. However, the virtualization concepts used by Privacy Canada can be extended to other platforms.
For running x86 operating systems and applications on non-x86 machines, check out Kevin Lawton’s x86 PC emulator site www.bochs.com.
If you are interested in participating with the Privacy Canada development, you might want to check out the info on participating.