[cs_content][cs_section parallax=”false” separator_top_type=”none” separator_top_height=”50px” separator_top_angle_point=”50″ separator_bottom_type=”none” separator_bottom_height=”50px” separator_bottom_angle_point=”50″ style=”margin: 0px;padding: 45px 0px;”][cs_row inner_container=”true” marginless_columns=”false” style=”margin: 0px auto;padding: 0px;”][cs_column fade=”false” fade_animation=”in” fade_animation_offset=”45px” fade_duration=”750″ type=”1/1″ style=”padding: 0px;”][cs_text]The goal of the Plex86 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.

Plex86 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 Plex86, until a UNIX native version is ready.

By virtue of Plex86 being an open source project right from day one, Plex86 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 Plex86 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.[/cs_text][x_custom_headline level=”h2″ looks_like=”h3″ accent=”false”]Is this a new concept?[/x_custom_headline][cs_text]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 Plex86 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 Plex86 project. I am currently exploring what needs to be done license-wise to bring the device emulation from bochs to the open source Plex86 project.[/cs_text][x_custom_headline level=”h2″ looks_like=”h3″ accent=”false”]Will this run on my Mac?[/x_custom_headline][cs_text]This kind of technology allows you to concurrently run multiple operating systems written for the same processor. In the case of Plex86, 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 Plex86 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.[/cs_text][x_custom_headline level=”h2″ looks_like=”h3″ accent=”false”]Wanna help?[/x_custom_headline][cs_text]If you are interested in participating with the Plex86 development, you might want to check out the info on participating.[/cs_text][/cs_column][/cs_row][/cs_section][/cs_content]