4 ms·
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. Compared t
by jasomill 14y ago
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. 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. If you’re not familiar with hibernation, we’re effectively saving the system state and memory contents to a file on disk (hiberfil.sys) and then reading that back in on resume and restoring contents back to memory. Using this technique with boot gives us a significant advantage for boot times, since reading the hiberfile in and reinitializing drivers is much faster on most systems (30-70% faster on most systems we’ve tested).
Source: Microsoft, "Delivering fast boot times in Windows 8", Building Windows 8 blog, September 9, 2011 [1]
[1] http://blogs.msdn.com/b/b8/archive/2011/09/08/delivering-fast-boot-times-in-windows-8.aspx http://blogs.msdn.com/b/b8/archive/2011/09/08/delivering-fas...
- josteink 14y agoThat's certainly interesting, and thanks for proving parts of my argument wrong. I do appreciate being corrected. However OP made the following claim: Windows 8 lies to you when you "Shutdown." Windows 8 actually hibernates instead of shutting down for real; and you can get the same effect by enabling hibernation on Windows 7 Note the part that where he claims that you can get the same speedup on Windows 7 by enabling hibernation. This is provenly false and anyone who has tried it would know.
- jasomill 14y agoYou are correct that "enabling hibernation" should have no effect on Windows 7 startup or shutdown performance, though I have no idea how quickly Windows 7 can enter and wake from hibernation with no user sessions open. While this would be easy enough to test, I also don't care: Windows Server 2008 R2 cold boots to a usable desktop in twelve seconds on my machine, which should be fast enough for anyone.
- UnoriginalGuy 14y agoIf you hibernate in Windows 7, and then boot, it takes approximately the same period of time as "booting" in Windows 8 (with "Fast Startup" enabled). I have tried it. I do know. In fact if you measure it "to desktop" then Windows 7 full hibernation beats Windows 8's fast startup, because Windows 7 caches user programs in additional to Microsoft's side (i.e. registry, services, kernel, etc).
- jasomill 14y agoInteresting. Now allocate 20GB of non-paged pool and try again.
- UnoriginalGuy 14y agoThat's a fairly obscure scenario. Plus, if that allocation was within a service or driver then both Windows 7 hibernation and Windows 8 Fast Startup would have to page it to the Hibernation file.
- jasomill 14y ago"Interesting" was my main point; the non-paged pool comment was mostly kidding. Interesting in that it could indicate a "de-hibernation" process that's nothing like the "inverse of hibernation" one might naively think it should be: while hibernation must write 100% of allocated physical RAM to disk, "de-hibernation" need only restore non-paged pool plus whatever else is necessary to reinitialize the virtual memory subsystem (including whatever drivers are necessary to support it, of course). This done, the balance of the hibernation file could effectively be treated as a page file.