If I understand the description of VMWare correctly, it is a virtual machine running on Linux, on which you can run another protected mode operating system. They claim that this is done in an efficient manner. I don't see how you could do this without having the virtual machine be a part of the kernel. In order to execute priveleged instructions (such as those for initiating disk I/O), you either have to run them on the processor directly (and thus need to be running in kernel mode) or the virtual machine needs to trap the instructions and use some sort of system call to execute them on behalf of the OS that is running on the virtual machine (i.e. "emulate" them). It would be incredibly slow to run an entire operating system in this manner since all priveleged instructions would cause a trap to the the kernel that the virtual machine is running on.
However, as Chris Pimlott pointed out we'll never know the answer to that.
So how do you propose that it be done as a user-mode application Otto?
If I understand the description of VMWare correctly, it is a virtual
machine running on Linux, on which you can run another protected mode
operating system. They claim that this is done in an efficient manner.
I don't see how you could do this without having the virtual machine be
a part of the kernel. In order to execute priveleged instructions (such
as those for initiating disk I/O), you either have to run them on the
processor directly (and thus need to be running in kernel mode) or the
virtual machine needs to trap the instructions and use some sort of
system call to execute them on behalf of the OS that is running on the
virtual machine (i.e. "emulate" them). It would be incredibly slow to
run an entire operating system in this manner since all priveleged
instructions would cause a trap to the the kernel that the virtual
machine is running on.
However, as Chris Pimlott pointed out we'll never know the answer to that.
So how do you propose that it be done as a user-mode application Otto?