People love bashing MS, and as such, also love bashing their newest OS. Uneducated types will tell you that Vista is nothing more than glam and polish on an otherwise bloated XP-but-more-bloated OS.
Those people are wrong.
Vista brings more kernel enhancements than you can shake a stick at... I/O threading that didn't even exist in XP, process per-CPU cycle-level threading and prioritization which is WORLDS better than the generalized and often flawed XP/2003 process threading method, a new driver model that is far more stable, event logging breadth and granularity that goes far beyond what's available for XP/2003, and a much needed overhaul of memory management and paging functions.
And if you notice, DX10 didn't even factor in to my list of Good Shit (TM) in the Vista release. Sure, DX10 should be good stuff for gamers eventually, but DX10 is a side-effect of more good stuff underpinning the whole OS.
So let's take all of those Good Shit (TM) things I just mentioned and put some reality behind them:
IO threading that didn't exist in XP
Ever defrag a harddrive on a single-core CPU and then try to run 3DMark at the same time? It's worthless. Thrashing the drive shouldn't require your machine to grind to a halt, the CPU really isn't that busy. Vista finally brings the ability to thread actual IO requests, not only to your drives (the most obvious) but also to NICs, video cards, audio cards, IEEE busses (USB / Firewire) and a ton of other things.
Along this same line, both XP and Server 2003 will allocate
all IO threads to the first logical ACPI-enumerated processor on the box. Meaning if you've got a server with a 10Gbit nic and an iSCSI fiber connection to a big-assed SAN and that box suddenly starts taking a huge amount of network traffic and disk traffic, it will completely peg-out the first processor and thus effectively bottleneck the whole box because of the IRQ traffic. Vista threads this IO across all available physical and logical processors, which obviously allows a machine to fully leverage it's available bandwidth without killing processor capacity.
CPU cycle-level threading
XP and 2003 performs threading at a general timeslice scale -- it makes semi-educated guesses about when a task starts working on a CPU, which it then uses to pre-empt that task off. However, that processing model doesn't account for context switches and IRQ events, which means XP might think a process had 200 cycles of CPU time, when in fact the disk was horribly busy (see above) and it only had access to 10 cycles. Too bad, it's had its time, it gets pre-empted off the CPU and another thread gets to start.
Not anymore. Vista threads at the level of individual CPU cycles, meaning it accounts for IRQ events and context switching overhead. Threads actually get the time they truly are allotted. Further, Vista allows for "high priority" process elevation for things like streaming video: Need to play a 1920x1080 @ 60hz raw movie? You'll need a shit-ton of CPU, disk and GPU resources. The new threading model allows for a whole chain of individual threads to be collectively elevated when needed, so that the flash advertisements on your web-browser and AIM chat sessions aren't intruding on your PC's ability to play that video file without hiccups (within the raw capacity of your actual hardware, of course)
New driver model
This goes along with the first two -- the ability to thread IO as well as individual processes, and the ability to both multitask and cleanly shut down runaway processes. It requires very specific performance metrics to be sent back, both from the hardware and also the driver (software) level. This allows Vista to be able to see when things are going more slowly than they should, and to ensure both process and IO threads are being handled appropriately and in the proper priority.
Enhanced event logging
Want to know why Vista is booting slow? Check out the new Performance Event Log. It will tell you when your video driver took 76 seconds to initialize when it should've only taken 15 seconds. It will tell you when your NIC card made your shutdown 41 seconds longer than it needed to be. It also gives you historical information on how your machine performs, down to individual applications and drivers, today versus 30 days ago.
All logged events are now all in XML format and can be universally parsed for pertinent data; great for sysops who need to datamine for a specific issue across a ton of machines. There are a ton of other smaller enhancements to this function as well, and most are too small to individually mention but together are worthy of note.
Memory management overhaul
Other than the obvious ability to seamlessly swap video and system memory, you also get other nifty stuff such as intelligent application precaching and battery-saving technology such as "smartboost" -- no, this is not extra memory from a FLASH device as some websites have suggested. It is a write-thru cache that can be used for quick read-back data. Example? How many times does your system need to read shell32.dll? A lot. Howabout rather than seeking the drive every time, we instead read from a piece of flash media? One less drive seek = that much more seek-time available for something that actually needs it. Now multiply that one saved drive seek times the number of little bullshit DLL's and SYS and other nonsense files that your applications continually reference, and you suddenly start getting far less drive seeks for BS and more drive availability for things that matter.
Ok, that's a lot of shit to think about. How about the bottom line?
Do you really NEED Vista? Nope. The biggest problem now is drivers; there is a LOT of hardware out there that doesn't have drivers. And because the driver model is so new, even hardware that
does have drivers isn't likely at full performance.
DX10 games are also still relatively far off on the horizon -- the first few aren't due out until the end of this year. Those will also come with a DX9 path as well, which means XP folks will still be able to play without issue. It's quite likely that the DX9 and DX10 paths will look near-identical; most of DX10's new featureset is geared towards efficiency rather than true "new fancy graphics." However, that extra efficiency may enable you to use higher visual settings than would be comfortable on a DX9 platform, so you may be able to argue it either way.
I like the thought of Vista, and I definitely will be upgrading my home rig with it. However, I'm still waiting on good drivers for my Envy24 before I jump. I finally found good drivers for my Promise 20276 raid controller, so I'm almost there...