More news on Windows 8. This time around, Gabe Aul, a director of program management in Windows, blogged about the changes Microsoft has made to Windows 8’s boot process. The results are impressive – a boot time not much slower than waking from sleep on current Windows 7 and Mac OS X machines. This is, of course, a vital component of getting Windows NT ready for tablets.
Windows 7 can already boot pretty fast as it is – I never timed it, but on my SSD-equipped workstation, booting Windows 7 is pretty fast. Of course, the BIOS takes a lot longer to load, and for some reason, ever since I installed the SSD, I get another detecting screen thingie which adds another few seconds to the process. However, the loading of Windows 7 (or Ubuntu 11.04 for that matter, even though Ubuntu is on a regular hard drive) is pretty damn fast.
But, this process can still be made faster. You might be wondering at this point – why bother? Doesn’t everybody sleep and hibernate by now? Well, as data gathered by Microsoft suggests – not really. Most people still prefer full and clean reboots and shutdown/boot cycles. They found out that 57% of desktop PC users and 45% of laptop users shutdown their machines instead of sleeping or hibernating them. Common reasons cited by users is that they don’t want their computers sleeping since it still draws power, draining the battery and upping energy usage. On top of that, many people prefer the idea of a ‘fresh start’.
So, Microsoft still set about to improve boot times in Windows 8, and they did so in a fairly clever way. Most likely due to the componentisation of the lower levels of Windows NT, Microsoft can now actually hibernate only the kernel. In Windows 7 and earlier, when you initiate a shutdown, all user sessions are closed, and in the kernel session, all services and drivers are closed so you have a complete shutdown.
In Windows 8, things are done differently. All user-related stuff is still properly shutdown like before, but everything related to the kernel goes into hibernation. “Now here’s the key difference for Windows 8: as in Windows 7, we close the user sessions, but instead of closing the kernel session, we hibernate it,” Aul explains, “Compared to a full hibernate, which includes a lot of memory pages in use by apps, session 0 hibernation data is much smaller, which takes substantially less time to write to disk.”
It also takes substantially less time to boot. “It’s faster because resuming the hibernated system session is comparatively less work than doing a full system initialization, but it’s also faster because we added a new multi-phase resume capability, which is able to use all of the cores in a multi-core system in parallel, to split the work of reading from the hiberfile and decompressing the contents,” Aul adds, “For those of you who prefer hibernating, this also results in faster resumes from hibernate as well.”
Microsoft also uploaded a video of the boot process of a laptop running Windows 8, but they do not detail the specifications of this machine. It most likely has an SSD, and they note it has UEFI as well. My new media centre computer has UEFI as well, and it sure rocks by a heck of a lot faster than BIOS.
While this all looks fine and dandy, the real tests will come outside of controlled environments. The diagram above does list the time between winlogon and desktop-ready, but this period will be different for everyone, depending on how much crap you have installed.
For whatever it’s worth, it’s an interesting way to improve boot times.