Hello everybody. I wanted to ask what does exactly Win7 do with their so called xp mode. As i have seen from various clips, this "mode" is actually just a virtual machine that runs win XP. Am i right?

If the answer is yes then how come not all processor can support the "mode"? I mean, a virtual machine is just a program that creates/assigns virtual resources for a process, isn't it? What is so special then about this xp virtualization that not all processors can support?

Secondly, when a distinct program is run from xp mode (but without xp's desktop) does it still run virtualized? Is it still XP's program, or they use a different technick (like emulating the xp's environment . Ex wine for linux) ?

And thirdly, concerning the CPU(this is less related to Win7 particularly ), OS virtualization != CPU's virtual mode... isn't it?

By cpu virtual mode i mean the ability to expand the limit of memory addressing . For example 8086 real mode can address to 1 MB of memory while virtual mode - 1 GB (if i'm not mistaken).

Recommended Answers

All 13 Replies

The CPU Virtualization support, is a new set of calls that the CPU can support that will allow it to perform more efficiently when running tasks belonging to a virtualized environment. Previously, it was *possible* to run virtual machines on PCs, but it was done at a great cost of performance, and resources. With the new extensions supported in the CPU, it allows them to function more efficiently without having the "emulate" the other system. Linux's "wine" and similar technologies are a special type of emulation, but again, it comes at a high cost of resources, and lacks a lot of native features. The CPU Virtualization support allows for applications to make the most efficient use of the processor for virtualized environments.

thank you, blud. You made many things clearer to me. But the second question from my first post still remains unanswered. I also want to understand the application that seems to run on win7 desktop, but through xp mode, is it still XP's? Is it still using xp's API? I imagine that the answer is yes. The os will still run in the backround, but maybe just a small portion of it that only the application needs.

What do you mean by "a new set of calls that the CPU can support"? Is it the instruction set that the cpu can recognize?

The new set of calls, is basically a new instruction set in addition to their original. VMware Fusion and Parallels Desktop have been doing what vista is doing for a long time, basically they are "hiding" the virtual machine from you, and allowing just the application to show up. In Parallels it's called "Coherence mode". The application belongs inside the VM, but the virtualization software is using that extended set of instructions to "split it out" of the VM, and make it look like it's running on your current desktop.

Yep, the reason not all processors (annoyingly the core-duo in my laptop cant but the old P4 in my desktop can....) support the "mode" is because they have H/W virtualisation support. This is also required for Hyper-V on windows server (which i guess is what MS based xp mode off of?)

Thank you guys. It looks like the whole virtualization is another set of instructions that can make "virtual resources" of the prezent hardware.

My conclusion is that the virtual xp mode is not the same as Sun VM(for example) and defenetly not the same as cpu's virtual mode.

My conclusion is that the virtual xp mode is not the same as Sun VM(for example)

Sun xVM can make use of HW virtualisation too. or it can perform CPU emulation (so it can work on processors without that feature). Its just that the former makes for greatly increased performance.

commented: good point.thx +2

The PC manufacturers ship laptops and netbooks with HW virtualization technology turned OFF, and sometimes there is not way to turn it on. I found this while trying to install XP Mode on Windows 7 Ultimate on Acer AO751h. So even though Microsoft advertises XP mode which supposed to be compatible with Windows XP, you will not be able to run it unless you have (1) Windows 7 Pro, Ent or Ultimate edition AND (2) CPU that has a VT Mode enabled! If you are interested in XP Mode, follow my struggle with it on Acer: <url to users blog snipped. please read the rules. its forbidden to refer to sites you own or are affiliated with>

Yeah, its normal for it to be turned off on most motherboards. And intel, for example, deliberately disable it on their lower end CPUs (even although they are physically from the same die) in order to target the lower-end of the market with a cheaper price, while advertising it as a premium feature for higher end users. This is common practice (e.g around 15% of Pentium 4s were actually server-grade Xeons with the majority of their cache disabled (by means of lazer cutting) which normally sell for around 5 times the price) AMD are a bit better. Only thier cheaper sempron range seems to not support H/w assisted virtualisation.

If you cant do HW assisted virt using XP mode or hyperV you can still use classic paravirtualistion via VMWare or virtualPC 2007 etc.... its just that you wont get a free xp licence to run on it. I mean, all XP "mode" is is a fully licenced copy of XP SP3 being run in Virtual PC whose applications can appear to be run inside windows 7, when really they are being streamed using the new features of Remote Desktop in vista and above.

you will not be able to run it unless you have (1) Windows 7 Pro, Ent or Ultimate edition

They make it very clear that that is the case. MS always do this (e.g a copy of Server 2008 with Hyper-V-enabled CALSis about $2000 more than a standard copy, and it is forbidden in the EULA to emulate Vista home using virtualisation technology, whereas you get a free licence with the pro versions)

Just a quick note that Vistual PC is no longer available from Microsoft. MS's Virtual PC site will be forwarding you to Windows 7 XP Mode forcing you to buy Windows 7 in a hope that Windows XP will be supported on your PC...

commented: bother looking before going on an anti-microsoft rant -4

Just a quick note that Vistual PC is no longer available from Microsoft. MS's Virtual PC site will be forwarding you to Windows 7 XP Mode forcing you to buy Windows 7 in a hope that Windows XP will be supported on your PC...

You clearly didnt bother looking very hard!

Click download and on the side of that page it says

"Looking for Virtual PC 2007?

Running Windows Vista or Windows XP? Learn more about Virtual PC 2007."
http://www.microsoft.com/windows/virtual-pc/support/virtual-pc-2007.aspx

Likewise, its second in Google Search and Virtual PC 2007 SP1 comes up first on the MS download centre when you search for "Virtual PC".

Sorry my fault regarding Virtual PC 2007, however it still does not help since this version of VPC does not work on Windows 7.

Yes you can. http://blogs.msdn.com/virtual_pc_guy/archive/2009/08/19/running-virtual-pc-2007-on-windows-7.aspx

I can't recommend my customers to intall a product that is not officially supported by Microsoft. As you can see the that link, the side effects of using Virtual PC 2007 on Windows 7 may include but not limited to "wiping out VPC during Windows 7 updates" (see the comments on the blog your referenced). Also there is no guarantee it would work properly on Windows 7 final release. Note the VPC guy was testing it on Windows 7 beta.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.