MS, Intel "Goofed Up" Win 7 XP Virtualization 315
clang_jangle writes "Ars Technica has a short article up describing how Microsoft and Intel have 'goofed up' Windows 7's XP Mode by ensuring many PCs will not be able to use it. (And it won't be easy to figure out in advance if your PC is one of them.) Meanwhile, over at Infoworld, Redmond is criticized for having the 'right idea, wrong technology' with their latest compatibility scheme, and PC World says 'great idea, on paper.' With Windows 7 due to be released in 2010, and Redmond apparently eager to move on from XP, perhaps this is not really a 'goof' at all?"
2010? (Score:2, Insightful)
Hardware Virtualization needed. (Score:5, Insightful)
AMD has placed this support in almost all of their recent chips, but Intel has been more stingy with it.
It's necessary to use 64-bit guests in Virtualbox, but VMWare can make due without it.
I've tried it (Score:0, Insightful)
The machine I am typing this on is a Lenovo X200s machine and right now I am on Win 7 7100 RC with an XP mode VM up running and it works brilliantly.
Difficult? (Score:5, Insightful)
I suppose it depends on your definition of "difficult" -- it's not particularly hard to find out if your processor supports virtualization extensions.
The Ars Technica is terrible -- it implies that it's a complete mystery why a virtualization system would require processor virtualization extensions to function.
I'm also not entirely sure it's reasonable to call a logical design decision you disagree with a "goof". I would hazard a guess that requiring virtualization extensions is intentional, not a mistake.
I hate to ask the obvious (Score:5, Insightful)
The reason I am confused is because this would have been great for the Vista transition, and seems to be old technology. Over ten years ago Apple included this capability in OS X, allowing OS 9 application to run in the classic environment. Apple also included bundles to allow the transition from 68K to PPC, and later PPC to Intel. Why did MS not do the same, and why are the including a hack solution at the last minute.
Who Cares? (Score:5, Insightful)
Re:A minor update (Score:5, Insightful)
That suite of applications that you're testing doesn't accurately represent the target population for XP emulation.
XP Emulation is primarily geared towards businesses with legacy/custom business applications which have not been re-written for Windows Vista/7. Not to mention, some of those vendors for those business applications will charge large hefty upgrade fees to get their software compatible with the newest versions of Windows.
Why ARE there new Intel CPUs without VT-x? (Score:3, Insightful)
What I wonder is why there's still NEW processors coming out from Intel WITHOUT the VT-x extensions? These extensions have been around at least since the original Core Duo days; shouldn't they be standard on all Intel CPUs by now?
I boggled when I learned there were still new CPUs being sold without the extensions. It's not like it's something that's hard to implement; the work is already done.
Re:Why ARE there new Intel CPUs without VT-x? (Score:4, Insightful)
Disabling that feature is an easy way to make an otherwise adequate product unsuitable for corporate buyers(IIRC, some of Intel's "Active Management" sauce either depends on, or is bundled with, VT extension support). By disabling the feature on some chips, they can capture more of the surplus value. Pretty much the same reason that all versions of Vista aren't Ultimate.
Re:Who Cares? (Score:3, Insightful)
Re:Hardware Virtualization needed. (Score:5, Insightful)
Apple did this, not once but twice. Why is Redmond so afraid of trading out the basic underpinnings?
And what's Apple's market share? What's Microsoft's?
You say it yourself: "they used that very stick to beat OS/2 into the ground."
I would say that the single biggest reason that Windows is as prevalent as it is today is that to a very large extent, MS has maintained backwards compatibility at almost any cost. I can only think of a couple exceptions: transitions to the NT line stopped some old DOS programs that access sound cards and stuff directly from working, XP SP2 made a few similar strides (I don't know details), Vista makes a couple more, and x64-based Windows drops support for 16-bit programs (but this is largely the fault of AMD/Intel rather than MS, who would have had to work around processor limitations since 16-bit instructions aren't available in 64-bit mode).
But even with Vista 32-bit, my experience is that each of the three or four DOS programs from the mid-80s still ran. There are few systems that can claim this lineage. So it's no wonder to me that MS doesn't want to give it up.
And it's only recently that the pile of compatibility hacks and inability to make fundamental design decisions has caught up to MS and been harming them from the market's point of view.
Re:Difficult? (Score:4, Insightful)
Are the slashdot editors getting desperate? (Score:5, Insightful)
Seriously, this Windows 7 stuff is getting silly. That Slashdot isn't a pro MS site is fine. How about more Linux news, less MS news then?
It gets tiresome to see all these bullshit "OMG Windoze sux!!!1111one" stories any time a new version is coming out. Just leave off it already. If you don't like Windows 7 that is totally fine, but that isn't any reason to try and spread FUD about it. Make no mistake, that's what all this is too. They are trying to find minor things to pick on and make them out to be major problems. They are trying to say "Oh this will be a horrible OS!" They are trying to seed fear, uncertainty, and doubt.
Also I kinda think it shows the opposite: If all you can find to report bad are extremely minor things, then I guess it really isn't that bad, is it? I mean let's see what criticisms they've tried to blow up lately"
1) Windows doesn't show extensions by default.
2) Windows 7 isn't all that much faster than Vista SP1, and the release version of Vista was slower than XP.
3) An optional Windows 7 addon, that most people will never download, requires a CPU addon that not all CPUs have.
Oh gee wow, what a problematic list. I mean really, if that's all you can come up with, if that's the worst of the worst, the stuff that's headline worthy, I think really that shows that 7 is a good OS, not a bad one, because it's all a bunch of BS. As a quick example for each point:
1) So what, every version of Windows since 95 has been like this, and in Linux, anything can be an executable. You can have any extension or no extension and run it.
2) This is a fake comparison. Vista at release was slower than Vista now, a better comparison is Windows 7 to XP directly, in which case 7 does pretty well. Also, new OSes are usually a bit slower, due to new features, what else is new? DOS is screaming fast, but rather worthless.
3) Very few people will ever get this, because it just isn't needed. Native compatibility is extremely high in Windows 7. This is for businesses who have some odd old apps. It is just a nice, free, addon is people want it.
So please, can we stop with the FUD? If there's real news worthy 7 stuff, post it. If not, then just ignore it, because right now it seems like they are grasping at straws to try and find things wrong with 7.
Re:Hardware Virtualization needed. (Score:3, Insightful)
Eternal backward compatibility is an inevitable result of Microsoft's "Every current Windows user needs to buy a new OS from us every 3 years" cash-flow model. Look at how lackluster the adoption of Vista has been, when it's just the lack of any clear advantage from upgrading. Now consider what purchasing decisions will be made when the cost analysis is choosing between "continue using our existing OS and applications" and "Upgrade to the new version of Windows and replace every single application we're using" -- the benefits to be achieved from upgrading will have to be very significant to justify a complete replacement of all applications, with the attendant problems associated with legacy data and applications. Not to mention that the lead time on releasing a new OS that broke backward compatibility would need to be much higher to allow application developers to get the development tools for the new OS and build compatible applications.
Re:How to figure it out (Score:4, Insightful)
cat foo | grep ...
seriously?
I don't think the city is at fault (Score:3, Insightful)
Meanwhile, over at Infoworld, Redmond is criticized...
Whenever people refer to Microsoft as "Redmond" it sounds so condescending and ignorant. They're called Microsoft. They're located in Redmond, WA. But Microsoft != Redmond.
Re:Difficult? (Score:1, Insightful)
Boot any Linux, such as any Live image on a CD or USB memory device, or any Linux install DVD or CD in Rescue mode, and look for " vt " in the cpu flags [Intel CPU]: grep " vt " /proc/cpuinfo
Well said. (Score:1, Insightful)
The problem is one of naive, us-vs-them mentalities. Weak minds hold to such things because it is cognitively easier to deal with black and white situations. Like-minded people congregate together, and chant these half-truths over and over until they become their perceived reality. This self-perpetuation blows up small problems to huge proportions. The enemy is perceived as having a flaw, and every chance this happens is yet another chance to collectively say, "ha ha, unwashed masses using the wrong operating system!" and pat themselves on the back. Worse, the moderation system rewards such behavior. Such posts are often rife with logical fallacies, hand-waving, or a lack of technical information.
Go ahead, claim that there are individual people on Slashdot. There are. (This is always the complaint when these things come up.) But this stupid collective opinion, often with little logical basis, still manifests itself too often. Vista apparently still has horrible, horrible file copy performance according to many people here. Apparently, MS was lying about the service pack fixes. Thankfully, we have the all-wise population of this site to set us straight and tell us how it really is. I'm sure the tech world makes it a bit hard for these people. After all, Apple will probably include Bluray support in OS X 10.6. What does that entail? Oh, right - DRM in the OS itself. How will all of these people maintain intellectual honesty with Vista's DRM being horrible and OS X incorporating it?
Anyway, when you have a readership that is proud of the fact they comment on stories in which they haven't read, what can you expect? Ignorance is a virtue here.
(I'm the worst kind of troll - I tell the truth.)
Re:Hardware Virtualization needed. (Score:5, Insightful)
I would say that the single biggest reason that Windows is as prevalent as it is today is that to a very large extent, MS has maintained backwards compatibility at almost any cost.
Curious. At home, I've got a large collection of children's educational and gaming software written for DOS through Windows 98 that utterly fail to run properly in Windows XP or Vista. I haven't experienced this compatibility of which you speak.
Re:2010? (Score:2, Insightful)
Don't get too excited. Microsoft still had decent growth in 2008 and is selling into a terrible economy right now (making it a little silly to attribute the entire drop in revenues to Vista).
Re:Difficult? (Score:1, Insightful)
It's not difficult to check if the hardware you already have has these capabilities. What's hard is finding out if the machine I'm trying to buy has these capabilities.
Why MS made this decision (Score:3, Insightful)
The ArsTechnica article makes an interesting point: could Microsoft have done an XP mode that works on all CPUs?
PC virtualization has been around for years, and predates the special instructions. There is a hack called Binary Translation (BT) where a VM system patches the memory image of the guest program to cause a trap where the guest program uses any difficult-to-virtualize instruction.
http://en.wikipedia.org/wiki/Full_virtualization [wikipedia.org]
The new Windows Virtual PC feature is based on the old Microsoft Virtual PC. Microsoft Virtual PC does not require the virtualization instructions; it can run using BT. So, the point ArsTechnica asked is: why did Microsoft require the virtualization instructions?
I'll try to answer that question. But first, I'm going to rant.
Microsoft has made this much weirder and more confusing than necessary. The new feature is "Windows Virtual PC" and the old, rather different feature, is "Microsoft Virtual PC". In three years, will we have some new third thing that is completely different and is called "Microsoft Windows Virtual PC"? I'll use some abbreviations: I'll call the shiny new Windows 7 virtualization solution, Windows Virtual PC, "W7V" (Windows 7 Virtualization). I'll call the old Microsoft Virtual PC "VPC" (Virtual PC). My first draft of this article was full of "Microsoft Virtual PC" and "Windows Virtual PC" and it was hard to keep track of which was which. Also, Microsoft has broken their web site: links that used to go to VPC are now redirected to W7V. If you are trying to get information on VPC, ha ha! You lose. I was able to find the download page for VPC 2007, but all the links for information now redirect to the W7V page. <end_rant>
So, why did Microsoft require virtualization instructions for W7V? I'm just guessing here, but I think it's pretty obvious.
Take a look at the comparision page for Windows Virtual PC:
http://www.microsoft.com/windows/virtual-pc/features/compare.aspx [microsoft.com]
W7V adds some new features over the old VPC. Smart cards work, USB devices work, storage drives can be shared. This means that Microsoft did a nontrivial amount of work for W7V. I'll guarantee you that it was easier to just require the virtualization instructions than to try to use BT hacks across the whole Windows XP infrastructure; and this requirement slices away a whole bunch of old computers that now don't need to be tested for compatibility with the new W7V features.
So, the work to create W7V was easier, and testing and support costs reduced, by this decision. Since only the very cheapest new CPUs don't have the virtualization instructions, and this feature was chiefly aimed at corporate customers (who usually don't buy bargain-bin hardware), this decision was likely viewed as a no-brainer.
VPC is still available; customers who have old hardware and don't need the full features of W7V can just use VPC. And VPC remains a free download [microsoft.com]. (Of course, those customers could also switch to Ubuntu and run their old apps in VirtualBox [virtualbox.org]. I'm just sayin'.)
steveha
Re:Ask Slashdot (Score:2, Insightful)
And they would be wrong. Disk caching in memory has a significant impact on performance.
This is even more true in a virtualized environment. (My data is a little old (based on pre-VT Vmware) and I'm doing a lot of inferring of how things should work, but I don't have much reason to believe that what I describe changes much with a VT-based hypervisor.)
If your OS is on the bare metal, when a program makes an I/O request, there's a syscall trap that goes to the OS which issues an I/O instruction to the hardware; when it returns, the OS sees the interrupt, schedules a task to copy the data to userspace, and then upcalls to the userspace.
If your OS is virtualized, when a program makes an I/O request, there's a syscall trap which goes to the guest OS which issues an I/O instruction; but then that I/O instruction is trapped by the VMM, and the instruction is emulated. Similarly, when the interrupt comes back, I think it should be the hypervisor that receives it (though maybe not), which then simulates an interrupt in the guest OS, which then upcalls to the originating process.
So basically, the VMM adds an extra layer to each I/O operation. If you're doing a lot of I/O, this can become significant. (It's worse under old (non-VT) Vmware, because the syscall the user application issues is then caught by Vmware which simulates a syscall in the guest OS which issues an I/O instruction which goes back to Vmware, so there are TWO extra layers compared to the bare metal.)
Re:I have a dream... (Score:1, Insightful)
Microsoft would get creamed for anti-trust.
Re:Hardware Virtualization needed. (Score:3, Insightful)
Re:How to figure it out (Score:3, Insightful)
Actually I think that's a common artifact of a process of gradual refinement.
You start with:
To get an idea what the contents of the file are like.
Then you figure out something to search for, or to exclude. A quick way of doing that is to recall the previous history line (up arrow), and tack on grep on it:
Then you refine it further, with another history recall and tack another command at the end:
Then sometimes you copy/paste that into a shell script and earn another "useless use of cat" award.
Starting with grep is uncomfortable because you have to grep for something, and you often don't know what that should be before seeing the file's contents. Unless you realize you can grep for '.*'.
Re:Why ARE there new Intel CPUs without VT-x? (Score:3, Insightful)
Objection, m'lud! The Q8600 is not a "low-end CPU". It's not as high-end as a Q9600, but it's no Celeron, and it doesn't have VTX instructions.
Re:Hardware Virtualization needed. (Score:4, Insightful)