The Tadpole Sparc notebooks would dump all of the state machine to
either a special file or swap (can't recall which) and then just load
that machine image. It would, I believe, tell each device to
shutdown. On reload it would reinialize everything. I'm pretty sure
it flushed all its buffers before trying this so the state wasn't
totally chaotic. Open files were still open, however, and programs
still running were still running. This was done on SunOS 4.1.x and I
think Solaris later.
Warner