Helping people with computers... one answer at a time.

Hibernate and standby are difficult to get right because there is a lot involved in shutting down and recovering a computer system.

Why is it so hard to hibernation and suspend write? That is, if all it's really doing is dumping the memory to disk and then loading it back when the computer wakes up, why all the mishaps and instabilities and generic problems?

In this excerpt from Answercast #81, I look at some of the difficulties involved in standby and hibernate that have made it rather unstable in the past.

Hibernate and standby are difficult

Well, in a way, you've kind of led me to the answer right there.

Hibernation and standby are in fact, a lot more than just loading the memory to disk and loading it back from disk.

In fact, when you think about it... think about all of the hardware that's associated with that machine: your keyboard, your mouse, your video, your hard disk. Think about all your other accessories that are installed on that machine; the BIOS and the power management hardware that's actually associated with the very hibernation and standby functions we're talking about.

Recovering from standby

All of that hardware (which of course is all very different from machine to machine) has to have the ability to recover from standby and hibernation the correct way. That means they might adjust the ability to initialize, as if they're starting from boot, but they also need a way to restore their state to what it was when the hibernation or standby was initiated.

And you know what, as it turns out... that's kind of hard! I'm not saying it shouldn't be possible to do it one-hundred percent correctly - but over time, the device driver manufacturers found that it just wasn't as easy as they thought it should be.

In concept, it's very simple. In practice, the devices and the interfaces to them are sufficiently complex that it's fairly easy to get it wrong. As a result, hibernation and standby can be a little unstable - at least in older machines.

Newer machines hibernate easier

The good news is that we've progressed... as hibernation and standby have been around for so many years now.

The device drivers, and the hardware associated with it, are getting simpler and getting more robust. Newer machines tend to do a much better job in this area than some of the older machines and the older BIOSs.

So the bottom line is that it's a lot more involved than simply writing memory out to disk and bringing it back. It's fairly complex. It's just something that has taken apparently several years to mature as all of the software gets all of the kinks worked out.

(Transcript lightly edited for readability.)

Article C6168 - December 23, 2012 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to http://askleo.com/ask to ask your question.