Comiczoner
Contributor
Contributor

Question about 64-bit on x86 OS

Jump to solution

Hello all,

Quick question that I wasn't able to find out from Google-- WHY is Vmware able to run a 64-bit operating system from a 32-bit OS?

Is it because VMWare is able to access the processor without going "through" the OS? Does anyone know?

0 Kudos
1 Solution

Accepted Solutions
admin
Immortal
Immortal

The key to your answer is what we call the "software world-switch." To run a 64-bit OS, the 64-bit VMware hypervisor is invoked from the host OS. When switching from the world of the host OS to the world of the hypervisor, the vast majority of the CPU's supervisory hardware state is transitioned from the control of the host OS to the control of the hypervisor. And the same thing happens in reverse on return from the hypervisor to the host OS. It may be helpful to think of the hypervisor as running beside the host OS as an equal partner, rather than underneath the host OS as a typical application. The guest OS then runs underneath the hypervisor.

View solution in original post

0 Kudos
5 Replies
mikepodoherty
Expert
Expert

VMware is designed so that the OS detects the processor type - for example when installing Solaris 10, if you are on a 32 bit server, then the 32 bit version is installed. If you are on a 64 bit server, then the Solaris install defaults to 64 bit.

Comiczoner
Contributor
Contributor

Thank you for your reply!

I do think I need to rephrase my question, though--

See, I'm running Vista (64-bit) inside of XP (x86). It was my understanding that, once inside of an x86 operating system, the processor would begin emulating 32-bit, and nothing inside that OS would be able to operate in 64-bit. Why is VMWare able to access my 64-bit processor when I'm running it in a 32-bit OS?

0 Kudos
mreferre
Champion
Champion

There have been some posts on this board done by VMware engineers that explained this into the details. Off the top of my memory the point is that it boils down to the VMM (Virtual Machine Monitor) capabilities .... which is the process that handles the Guest itself. The VMware VMM is pretty flexible and does support a broad range of execution environments.

Massimo.

Massimo Re Ferre' VMware vCloud Architect twitter.com/mreferre www.it20.info
admin
Immortal
Immortal

The key to your answer is what we call the "software world-switch." To run a 64-bit OS, the 64-bit VMware hypervisor is invoked from the host OS. When switching from the world of the host OS to the world of the hypervisor, the vast majority of the CPU's supervisory hardware state is transitioned from the control of the host OS to the control of the hypervisor. And the same thing happens in reverse on return from the hypervisor to the host OS. It may be helpful to think of the hypervisor as running beside the host OS as an equal partner, rather than underneath the host OS as a typical application. The guest OS then runs underneath the hypervisor.

0 Kudos
Comiczoner
Contributor
Contributor

Thank you guys! I appreciate it.

0 Kudos