Working with Software Suspend
Deep Soft Sleep
Nearly all motherboards have a power management feature designed to power down the computer and put it into suspend mode. In real life, this feature does not always work. Linux has a software-based workaround for the dysfunctional suspend.
The theory behind Software Suspend is simple: Linux writes the memory content, and other memory buffers such as the graphics memory, out to the swap partition, and then switches the computer off. The next time the computer boots, Linux checks the swap partition, discovers that the computer operating system was not shut down in the normal way but was, instead, stopped by Software Suspend, and restores the memory from the existing files. The approach mainly ignores the BIOS and its power management system, so there is no need to worry about BIOS errors. This is good news for users whose computers do not support internal APM or ACPI-based suspend. In a perfect world, software suspend would work perfectly – wouldn’t it be great if life were that simple? The biggest obstacle for the operating system is capturing the memory data. To do this, Linux needs to launch a new process that actually changes the memory content. In other words, the system needs to be in as stable a state as possible before you put it to sleep. And there are some drivers that refuse to cooperate (for instance, the NVidia and ATI graphics adapter drivers).