12.18.7. Software Suspend
Software suspend enables the possibility of suspending a machine. It doesn't need APM. You may suspend your machine by either pressing Sysrq-d or with swsusp or shutdown -z (patch for sysvinit needed). It creates an image which is saved in your active swaps. By the next booting the kernel detects the saved image, restores the memory from it and then it continues to run as before you've suspended. If you don't want the previous state to continue use the noresume kernel option.
Software suspends may even be better than hibernate, because now I can suspend my Linux system, boot into Microsoft Windows, perform a few illegal operations and be shut down, and then restart my Linux setup exactly where I left off! This is something that cannot be done with hibernation, since that always restores the last state that you suspended from, be it Microsoft Windows or Linux. So if I want to switch to Microsoft Windows to play games or do anything else, I can leave my Linux desktop exactly as it is and return to how I left it.
In recent 2.6 kernels SoftWareSuspend is part of the kernel. You may find it in the section Power Management. But there are also backports to 2.4 available.
Since the original Software Suspend code was written by Gabor Kuti and Pavel Machek back in 1998, three different implementations have been created for the 2.6 kernel, all forks of the same original codebase. Here is a quick comparison between the two that still exist .
Software Suspend 2 has a long feature list, including the ability to cancel a suspend by pressing Escape, image compression to save time and space, a versatile plugin architecture, and support for machines with Highmem, preemption and SMP.
* License

