I have been spending the last week locked up in Building 20 here on Microsoft Campus, learning about the upcoming Windows 7 and Server 2008 R2 releases from a developers perspective, I didnt know there was any other perspective :).

My main mission was to learn about what made 7 better and why it should care, some people might say this is very key release for Microsoft and its domination of the home and work desktops.

One of the major changes is in the kernel, now the mums and pops crowd out there are not going to understand what is or think they care but they will because they will see noticable speed changes and gives an improved framework for stability so this will address the percieved problems of vista.

This rearchitecture has reduced the memory footprint by 50% so that will mean that you will get better perfomance on older hardware. The registry has also had some changes at it has been moved from mapped files to paged pool this brings better performance since it now avoids the mapping and unmapping issues that exists today.

Another major change is the way that it now allows multiple threads to simultaneously modify data structures, hmm better use of our multicores is a good thing, this has been done by the removal of the dispatcher lock. This is not the only other lock to get the axe, the others include the memory manager PFN (Physical Frame Number) lock, cache manager virtual address control block lock and object manager type lock.

User Mode Scheduling (UMS) is new and solves thread state problem by separating user-mode thread and kernel-mode thread so concurrent runtimes like Visual Studio will take advantage of UMS.

One change that will see lots of bang for the buck is trigger stated services so services can now specify specific start and stop conditions such as device class arrival and removal, IP address arrival and removal, domain join and unjoin to name a few. So typically now services run from startup to shutdown, that also means slower starts and shutdowns because thats when things are starting and you may never even use them. So the services for your bluetooth connection only fires up when you make a bluetooth connection.

Windows 7 also introduces the concept of Timer Coalescing, basically it will smart align timer events so in the past developers what to fire a cycle event we would specify the time, most of the time if that event fired a couple of milliseconds later we dont care. So developers can now specify a tolerence so 7 will align to work smarter it if it can align the timer events to save trips to the shops then it will making everything sweet.

Plenty of other things to talk about over the next few posts and if you want to learn more then go talk to your PAM or DPE person to get yourself on the metro program asap.