LWN.net Logo

Windows support

Windows support

Posted Dec 7, 2005 0:11 UTC (Wed) by xoddam (subscriber, #2322)
In reply to: Windows support by rvfh
Parent article: Xen 3.0 released

I think you need a CPU with "IntelĀ® Virtualization Technology" (like the
IBM System/360 had 25 years ago or more) to let a lightweight platform
virtualisation tool like Xen fool an OS which expects to run on bare x86
hardware. Without it, the OS needs to be compiled to target the Xen
'platform', which means using Xen's get/set methods for low-level
hardware configuration so changes can be trapped.

Heavier-weight virtualisation platforms like Win4Lin and VMWare are
essentially optimised emulators (though, since this is x86, the details
are byzantine), using the real CPU to run the guest OS but preventing it
from executing privileged instructions.


(Log in to post comments)

Vitualization support in hardware

Posted Dec 9, 2005 18:13 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

IBM System/360 was 40 years ago, and the first virtual machine implementation on top of it came a few years later. The very first S/360 couldn't do virtual machines because it lacked virtual memory.

I should clarify that when I say "virtual machine" here, I mean the kind where the virtual machine has the same architecture as the underlying real one, so you can run unmodified software meant for the real machine on the virtual one.

But S/360 wasn't designed with virtual machines in mind. What made S/360 amenable to virtualization where IA32 is not is simply the fact that it cleanly isolated user mode, which it did for other philosophical reasons. For example, on IA32 if a program in user mode tries to update a control register, it traps. But if it tries to read a control register, the CPU doesn't recognize a significant security exposure, so it succeeds. On S/360, the read of the control register traps too.

Traps for stuff that is shared by multiple processes are essential if you want the processes to see separate machines, because they give the hypervisor a chance to show a different version to each process.

It worked great, but wasn't as efficient as it could be. After the market for IBM's virtual machine operating system took off (and not because people liked virtual machines; just because it was IBM's best option for an interactive computer system), lots of stuff was architected into future CPUs of the S/360 line specifically to help with virtualization.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds