I'm wondering how hibernation works. Obviously it writes the contents of RAM to disk, but is there anything else? does it save/restore CPU state? cache state? anything else?
Hibernation is the same as switching off the computer, as far as devices go. It saves the CPU and RAM, so processes will pick off from where they were, but there is no guarantee that a suspended device activity will continue to work (example if you were copying from cd and the cd weren't there at wake-up).
Hibernation mode tells your computer to:
- Write everything in RAM to disk.
- Turn off the monitor and hard disk.
- Turn the computer off.
Hibernation mode is essentially switching off the computer, except it is able to restore the OS by reading back into memory the contents of the file it wrote before going into hibernation.
Yes, it saves CPU state too. Device states are partially saved, partially discarded, and I don't remember anything else that exists not in memory or storage.