WIndows XP vs 2000

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,204
126
Originally posted by: bsobel
Ummm, what? W2K has no issues with hyperthreading.

W2K does not support hyperthreading. The scheduler does not support it correctly and W2K does not provide the additional API's that XP does for license compliance (for apps licensed to physical cpu's). Do a search if you want to see the zillions of threads already covering this.

Bill

OH no, not this again...

I should have replied to that last thread. I instead waited for kylef to read his own suggestion, and correct his replies, but apparently he never did.

The Google search that kylef suggested to do - well, guess what the first result is? A copy of Microsoft's very own whitepaper on their support for HT in their OSes.

And it backs up everything that I said in that thread about W2K and HT, and even mentions the issues with the worst-case poor performance scenario that you mentioned, if the platform vendor does not list the CPUs in the MPS tables in the order that Intel recommends, just as I detailed.

It also specifically lists the improvements that MS made to the scheduler in W2K in SP4, specifically to support HT. The did change the scheduler slightly, and contrary to kylef's assertions, MS regularly does issue fixes for the OS kernel files, both in hotfixes and service packs.

So you, kylef, and anyone else that somehow belives that "W2K does not support HT", are wrong, and the information to prove it is "straight from the horse's mouth" - MS themselves.

The licensing is a seperate issue - it does not in any way affect the technical functionality of HT in W2K. But MS does use it as a marketing tool to "push" people to choose XP over W2K, that much is true.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,204
126
Originally posted by: fanboi
XP can do pretty much everything 2K can and more.

Well, except for supporting USB mouse polling intervals as low as 1ms, as according to the USB standard. XP arbitrarily limits polling intervals for USB mice to 8ms. This affects low-latency mouse inputs for things like FPS gaming. It's unfortunate, really, and indeed is one arguement against the popular opinion that "XP is better for gaming".

More information here and here .

There are further issues that increase input latency, like the fact that the system "mouse" and "keyboard" devices are emulated using the DirectX APIs under XP, whereas their hardware drivers are enumerated directly under W2K's DirectX support. Your game would have to support the (so far, proprietary to XP) "RawInput" APIs. In practice, most commercial game developers stick to the DirectInput APIs due to being compatible across Windows' OSes, and ignore specific support for RawInput, because it is more development work only for XP. Thus, gameplay inputs under XP suffer from higher latency than under W2K.

MSDN RawInput docs
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,204
126
Oh yes, more good stuff about Hyper-threading, this time with bugs in XP's support of HT.

First off, MS's official KB article with the patch for HT issues under XP SP1. Note that the article was updated recently, and no longer mentions anything about HT.

However, if you do a Google search , or look at a couple of the original articles that came out when it was released, it's pretty clear that the update was released to patch XP SP1's "broken" HT support.

Here are the articles, from Neowin.net , NTCompatible.com , and last but certainly not least, especially in terms of credibility, the Tech Report article. Interestingly enough, it has benchmarks, and after the fix, HT runs slower on XP SP1 than it did before. Go figure. (No W2K numbers there, unfortunately.)

As for the W2K and XP HT MS whitepaper, click on the first link from this Google search . I believe that is the original version. Current version here .

First off - the official word from Microsoft on HT support in W2K:
All versions of the Windows 2000 operating system are fully compliant with HT and should run without error on HT-enabled systems.
Required platform support features:
The BIOS is responsible for starting up the logical processors. A list of all of the logical processors that have been started is created by the BIOS and provided to the operating system in the Multiple APIC Description Table (MADT). ... Windows will attempt to utilize the logical processors in the same sequence as the BIOS listed them in the MADT. ... It is critical that the BIOS list the logical processors in the recommended sequence for systems that run Windows 2000.
Licensing issues:
... neither Windows 2000 nor any of its service packs support the identification of HT processors. ... Windows .NET Server and Windows XP use the CPUID instruction mechanism to identify HT processors. As a result, the licensing model is truly HT-aware.
(Note the phrase "HT-aware" is describing the licensing model, not support for HT systems in the OS - that is automatic for any system that is properly designed to Intel's guidelines for SMP systems.)

Optimizations:
* Note: Windows 2000 supports the performance features described in Section 5.2, ?Aggressive HALT of Processors in the Idle Loop,? and Section 5.3, ?Using the YIELD (PAUSE) Instruction to Avoid Spinlock Contention" later in this white paper. These features help to boost the performance of Windows 2000 running on HT-enabled machines.
* Windows 2000 will also HALT logical processors that are spinning in the idle loop, although not as aggressively as Windows XP and Windows .NET Server. This feature improves performance for Windows 2000 running on HT-enabled systems.
* The kernel spinlock code in Windows XP and Windows .NET Server executes a YIELD instruction on each spinlock loop. YIELD, which is functionally equivalent to the PAUSE instruction on the Xeon HT-processors, causes the logical processor to pause for a short period of time (approximately 50 clock cycles), and allows the other logical processor access to the shared resources on the physical HT processor. This feature is an important performance enhancement and can provide significant performance increases on HT-enabled machines.
* The YIELD instruction is also supported in Windows 2000 kernel spinlock code. This feature improves performance on Windows 2000 running on HT-enabled systems.

More informative articles from: ExtremeTech , Intel (whitepaper) , Intel marketing paper, hosted by Dell
(Note that Dell is a buddy to Intel, and Intel's position is that licensing should be per-physical-processor, which is why they promote Server2003 over W2K Server. But the guidelines they list as required for supporting HT, are mentioned as supported by W2K in MS's HT whitepaper.)
* Minimize cost of thread synchronization
* Use PAUSE instruction in spin loops
* Halt idle threads
* Pipeline spin locks to prevent contentions
* Minimize data movement paths

 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,204
126
Originally posted by: Canterwood
XP is not a good deal more stable than 2000, and doesn't suffer huge compatibility problems.
I agree that XP is stable, I never said it wasn't, but its no more stable than 2K. Thats a fact.
Interestingly enough, I once had a bit of a disagreement with, I think, Smilin, over the stability of Explorer.exe as an example of differences between XP and W2K. Well, lo and behold, I came across this XP patch - 329692 - Explorer.exe may generate an application error when you close a folder . To their credit, they released a patch for it, but it definitely wasn't my imagination that Explorer.exe seemed to crash more often under XP.

I've also come across some other interesting issues, that seem to indicate that W2K is superior to XP in vague low-level ways, such as this article talking about severe "lag" issues with PunkBuster, and predominantly NF3 systems, although apparently they can happen with other ones. The only consistent thing appears to be that it happens with XP, but not with W2K.

Without any futher analysis, I suspect it has something to do with low-level changes with how XP's VM subsystem manages page tables. I seem to recall reading somewhere that W2K pre-allocates them, whereas XP does so dynamically, in accordance with requests. I'm a bit fuzzy on that though, without the source code to look at I couldn't say for sure. But that would seem to make sense, because if PunkBuster's service or driver or whatever, attempts to map the target processes' memory in order to scan it for "cheat code strings", then it would necessarily, using a JIT page-table allocation scheme, have to allocate quite a few page table entries all at once, especially if the user has a large quantity of RAM installed. It could also interfere with the GART driver's allocation of page table entries, possibly. It could also explain the "delayed write failure" issue oftened experienced by users of ATI video cards and XP, if the cause is exhaustion of available system page table entries.
 

DaFinn

Diamond Member
Jan 24, 2002
4,725
0
0
Originally posted by: VirtualLarry
Originally posted by: bsobel
Ummm, what? W2K has no issues with hyperthreading.

W2K does not support hyperthreading. The scheduler does not support it correctly and W2K does not provide the additional API's that XP does for license compliance (for apps licensed to physical cpu's). Do a search if you want to see the zillions of threads already covering this.

Bill

OH no, not this again...

I should have replied to that last thread. I instead waited for kylef to read his own suggestion, and correct his replies, but apparently he never did.

The Google search that kylef suggested to do - well, guess what the first result is? A copy of Microsoft's very own whitepaper on their support for HT in their OSes.

And it backs up everything that I said in that thread about W2K and HT, and even mentions the issues with the worst-case poor performance scenario that you mentioned, if the platform vendor does not list the CPUs in the MPS tables in the order that Intel recommends, just as I detailed.

It also specifically lists the improvements that MS made to the scheduler in W2K in SP4, specifically to support HT. The did change the scheduler slightly, and contrary to kylef's assertions, MS regularly does issue fixes for the OS kernel files, both in hotfixes and service packs.

So you, kylef, and anyone else that somehow belives that "W2K does not support HT", are wrong, and the information to prove it is "straight from the horse's mouth" - MS themselves.

The licensing is a seperate issue - it does not in any way affect the technical functionality of HT in W2K. But MS does use it as a marketing tool to "push" people to choose XP over W2K, that much is true.

Thanks VirtualLarry. I was too lazy to dig this up... I've setup several W2K machines w. HT and they work just the same as XP boxes. I think most of the zillions of threads bsobel refers to are BS, because the zillions of threads I have read are in line with VirtualLarrys findings.
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
And it backs up everything that I said in that thread about W2K and HT, and even mentions the issues with the worst-case poor performance scenario that you mentioned, if the platform vendor does not list the CPUs in the MPS tables in the order that Intel recommends, just as I detailed.
It also specifically lists the improvements that MS made to the scheduler in W2K in SP4, specifically to support HT. The did change the scheduler slightly, and contrary to kylef's assertions, MS regularly does issue fixes for the OS kernel files, both in hotfixes and service packs.
So you, kylef, and anyone else that somehow belives that "W2K does not support HT", are wrong, and the information to prove it is "straight from the horse's mouth" - MS themselves.
The licensing is a seperate issue - it does not in any way affect the technical functionality of HT in W2K. But MS does use it as a marketing tool to "push" people to choose XP over W2K, that much is true.

Interesting, I never noticed the SP4 changes (and when I talked to MS about Jackson, at the time they made it clear it would be XP and above only).

However, you do need to bear in mind it is not fully supported. The two issues remaining are:

a) License compliance (probably not an issue for most single proc desktop users).
b) Requires a correct bios to work properly (while XP and above manage this for the user)
c) Need to be on SP4 (most users should be anyhow)

Thanks for finding this, I'll be sure to only point out these issues in the future.

Bill

 

Canterwood

Golden Member
May 25, 2003
1,138
0
0
Originally posted by: VirtualLarry
Originally posted by: fanboi
XP can do pretty much everything 2K can and more.

Well, except for supporting USB mouse polling intervals as low as 1ms, as according to the USB standard. XP arbitrarily limits polling intervals for USB mice to 8ms. This affects low-latency mouse inputs for things like FPS gaming. It's unfortunate, really, and indeed is one arguement against the popular opinion that "XP is better for gaming".

More information here and here .

There are further issues that increase input latency, like the fact that the system "mouse" and "keyboard" devices are emulated using the DirectX APIs under XP, whereas their hardware drivers are enumerated directly under W2K's DirectX support. Your game would have to support the (so far, proprietary to XP) "RawInput" APIs. In practice, most commercial game developers stick to the DirectInput APIs due to being compatible across Windows' OSes, and ignore specific support for RawInput, because it is more development work only for XP. Thus, gameplay inputs under XP suffer from higher latency than under W2K.

I can agree with this one. I've definately had issues with usb mice and FPS games on an XP box.
Feels 'laggy' when playing. There was a registry fix that killed mouse acceleration in XP, but it still wasn't as smooth as gaming in 2K or 98 at the time.

As far as Hyperthreading and 2000 go, well its not as optomized on 2000 as XP.
Games, seems to be an issue, where a HT enabled 2K box will take a significant performance hit over a non HT box running most games.
There's other apps that do get a good performance boost from HT on a 2K box.
I think its really based on what you want to do (application wise) as whether you enable it or not.
Servers seem to get better performance from HT on 2000, than a desktop would running 2000 pro with a wide variety of apps and games.

Edit: Hit reply without typing anything. Duh!
 

doornail

Senior member
Oct 10, 1999
333
0
0
I'm perfectly happy with Win2K. I wont use XP because product activation is repugnant. Yes, I know I could "get around it" but I don't want to. I simply don't like having ask permission to use something I paid for -- nor do I want an operating system with a built-in fail switch.

I know it's not a big deal to some and hey, that's their choice. I'll pass.
 

KoolDrew

Lifer
Jun 30, 2004
10,226
7
81
Xp is much better, It is basically ther same thing as 2k just with some added stuff and with some proper tweaking it is much faster.
 

Squally Leonharty

Senior member
Oct 5, 2004
237
0
0
Originally posted by: vegetation
Originally posted by: sil3nt t0rnado
Does windows 2k have any incompatability issues? And it uses less resources right?

2K will install and run decently with very old systems; I have a P166 with 64mb running 2k for a weather station and small web server. Works great.

Same here, except that it uses Pentium 200MHz.

As for choosing the OS, I'd go for XP, because of its flexibility and reliability. Whether an OS gets unstable or not depends on the user: over time the PC gets filled with malware and spyware because of internet, hence you see people complaining about OSes being unstable, but if they mention that their OS has been installed for a very long time, then that's not surprising at all.
 
Aug 26, 2004
14,685
1
76
xp is too damn happy....like hi i'm windwos xp, click me!

i like 2k, myself...my main complaint against xp is the interface, and before you all start in on me, i know you can turn off the eye candy....too happy out of the box...an os for (L)users...not to say you XP users are, but o nm you all know what i mean...

now i have the least intelligent post for why i prefer one over the other
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |