Ushanka

Saturday, February 7, 2009

Windows 7 Internals

The folks over at Channel9 recently interviewed Mark Russinovich, a Technical Fellow at Microsoft. Mark shares some nitty-gritty details of the improvements they've made in the Windows 7 kernel - particularly with respect to performance. The interview is a bit slow at times but there are enough interesting tidbits to warrant a watch.


Here are some of the improvements that I found particularly interesting:

  • Scalability
    • Finer grained locks on dispatcher queue
    • Finer grained locks on PFN database
    • Support for up to 256 cores
  • Power Consumption/Battery Life
    • Core parking: putting cores into deeper sleep states by migrating processes away to more active cores
    • Socket parking: putting an entire socket into a low power state by parking cores on the same socket (this is really cool!)
    • Timer coalescing API
  • Virtualization
    • Integrated support for creating/mounting VHDs
    • Boot directly from VHD!
The timer coalescing API needs an explanation. Suppose you have two timers on your system firing every 5ms, except the first timer was set at t=0ms and the second was set at t=1ms. Then your timer interrupts have to fire at 5ms, 6ms, 10ms, 11ms, ... to service those timers. Since both timers have a period of 5ms, it would be more efficient to reuse the interrupt at t=5ms by advancing the first servicing of the second timer. This way, the CPU has more time between interrupts to go into a deeper sleep state or to execute other code.

In short, the timer coalescing API allows timers to share the same interrupt by adjusting the first timer event of a new timer.

Labels: , , ,