dwillis45 said:
Do PC's really "hibernate?" My Mac just sleeps! Anyway, I generally keep the sleep function off. I've read user reports suggesting that certain external devices (especially Firewire) are not recognized when exiting sleep mode. I use a MOTU 828 firewire interface and it tends to be picky about startup procedures. So, for this Mac user, no sleep.
That -should- be wrong.... Firewire devices should always be recognized after waking from sleep, barring bugs. Now if you had said USB devices, I wouldn't be at all surprised. USB provides no GUID guarantees, and thus they can be more of a crapshoot under certain circumstances (e.g. distinguishing between two USB devices of the same brand that don't happen to have a hardware serial number). But I digress.
Anyway, the point is that if your firewire interface doesn't show up after sleep, make sure you're running the latest drivers (and if there are firmware upgrades for it, install those, too). You shouldn't have to go without sleep. It's just not natural.
Hibernating, BTW, is different from sleep in that the computer is actually off. If I understand correctly, with Windows hibernation, the contents of RAM get paged out to the backing store, along with the current CPU registers. Upon powering on, the file containing those registers is detected, the CPU registers are restored, along with any pages that were previously marked non-pageable (e.g. the memory maps for all the processes, socket/pipe/whatever state). Then, execution of the kernel continues, probably at the return address of the top stack frame. As execution continues, memory gets paged back in from disk as needed, and everything just sort-of-magically works.
By contrast, with sleep, the CPU registers get shoved out to RAM and the contents of RAM doesn't get paged out. The CPU sends a message to the PMU (power management chip) that says to start sleeping, then halts itself (like it does when the machine shuts down). Then, the PMU shuts off power to the CPU while maintaining power to the memory controller portions of the northbridge so that memory is maintained. On wake, the CPU loads its instructions from a serial ROM/boot ROM/whatever. One of the first things it does is poll the PMU to see it is already active. If so, it doesn't continue booting, and instead, loads its registers from RAM, culminating (I think) with a jump to the return address on the top stack frame.
Of course, this is only my rough memory from having read discussions of the process on various Linux-powerpc lists. I don't deal with the PMU much (except in the distant past, mucking with the pseudo-ADB side of it on laptops), so I can't guarantee that it is even remotely accurate. Just a rough approximation of what happens.
There are two main differences: 1. waking from sleep is almost instant, while waking from hibernation takes a few seconds and the system is slower while everything gets paged back into memory, and 2. hibernation uses no battery power, while sleep requires some battery power.