[...]My conclusion:
Vista is lightyears ahead of XP in terms of security and reliability. The performance is lagging a little due to mainly the new driver frameworks (User Mode, Kernel Mode, and Graphics) which Driver vendors are still struggling to perfect and some of the quality issues with some "version 1.0" platforms in Windows Vista. [...]
I don't think your information is very accurate.
Both UMDF and KMDF predate Vista (and both have been available as betas for a long time). UMDF has been final since October or so of 2006 (and is supported back to XPSP2), and KMDF has been finalized for much longer (in fact, Vista ships 1.5, with 1.1 and 1.0 being previous releases available months before Vista). KMDF is supported all the way back to Win2KSP4.
I remember hearing extensive details about both of them at Driver DevCon on the order of two years ago. These are not brand new technologies, and they aren't even Vista-specific. The driver development community has been aware of them for quite some time.
I can't think of any way that using KMDF could possibly reduce performance in a driver to any noticible way. KMDF essentially just wraps the complicated state machine logic required to correctly support things like Plug and Play and power transitions (e.g. sleep, hibernate). These are not performance critical paths, and KMDF's wrappering is quite light.
UMDF does introduce some very minor additional request latency for context switching, but for most USB devices (e.g. bulk transfer devices or one-way isochronous devices like webcams), this is unlikely to be noticible. For devices that have extremely strict latency requirements, there is nothing preventing USB drivers from being written against the kernel instead of in user mode.
As far as what's good about Vista, aside from the improved user interface (personally, I find the on-by-default integrated search as a much more efficient way to start programs; saves you from having to use the mouse), and the flashy graphics, there are quite a lot of beneficial changes under the hood:
- Built-in ASLR (although PE images must be marked with a new flag to enable randomized based relocations, which partially reduces the effectiveness on third-party binaries). All of the binaries shipping with the OS are marked ASLR-aware, however, which is a non-trivial improvement over previous versions. Even the relatively light set of possible randomizations on that Vista's built-in ASLR applies is enough to make it significantly more a "shot in the dark" to successfully deploy something like Blaster in an automate, wide-scale fashion. Due to some clever tricks relating to relocating individual image pages when they are paged in, Vista's ASLR has a minimal memory footprint.
- Significant improvement of the memory manager's locking model (many of the old "hot" locks have been either minimized or factored out entirely).
- A number of hardcoded address space related limitations (such as the desktop heap) have been factored out entirely. You might have run into problems with this on previous Windows versions, where if you had opened hundreds of windows simultaneously, you'd have menus and child windows start to fail to appear or draw correctly.
- A significantly more multiprocessor-scalable network stack (among other things, new (NDIS6) NIC drivers can service interrupts on any CPU instead of just a single dedicated CPU on multiprocessor systems). The new filtering model is also much better performance-wise than old style NDIS IM drivers (used for things like firewalls or NATs), which would often result in packets being unnecessarily copied several times in their lifetime. Both of these changes are especially important with gigabit and 10-gigabit adapters, where traditional NDIS5/NDIS4 miniport and IM drivers typically run into performance walls at gigabit (and especially 10-gigabit) data rates.
- Baked-in APIs for supporting transactionalized registry operations, and atomic/transationalized complex (multi-read/write) filesystem operations that could be leveraged by programs to provide database-level reliablity relatively easily.
- Expanded set of APIs for dealing with NUMA (i.e. AMD's HyperTransport) memory allocations in NUMA multiprocessor systems (most AMD multi-processor-package (not multi-core) systems utilize HyperTransport to better partition RAM across processors for performance reasons).
- Significantly improved software (user mode and kernel mode) and hardware (i.e. MCE/MCA) error reporting mechanisms, that are now exposed to ISVs as well as Microsoft.
This is hardly an all-inclusive list, and is primarily just an overview of many of the kernel-level improvements. A number of these changes are things that produce a better platform for software developers and will need third-party applications written against them in order to really shine from an end-user perspective.
Now, certainly, not everything about Vista is going to be welcomed by everyone. There is, however, a significant amount of new value for developers (and ISVs) that Vista adds as far as new capabilities baked into the platform itself (you might check MSDN to get detailed information on some of the new additions).
From a developer perspective, Vista is absolutely the biggest change to Windows since Win31 to 9x/NT3, or 9x to NT/Win2K.