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.
