Sunday, November 13, 2011

Idea: Sleep-Start Multi-OS Handling

Please, tell me if you've heard this one before: I think we need a way for a CPU to be able to go to sleep in a particular OS paradigm, and then wake up in a different OS Paradigm.

I.E. Given a Dual-Boot Machine (How about my trusty old NW9440?), with Linux and Windows installs selectable from the MBR (Grub, in this case): In order to make a context switch, I must either shut down or hibernate the current OS -- gracefully or otherwise -- and re-boot or 'wake from hibernate' into the desired OS.

This is getting old! Though most hibernate functions have a cost 1/10th of the full-boot/shutdown options, that's still not fast enough for me;)

What am I missing, here?

Idea: by being able to ensure that there is as little time as possible spent in my context switch, I may also have the ability to rapidly integrate the opposite 'sleeping' OS into a new VM inside the 'awake' OS.

If I could make sure that the hibernate process only integrates my sleeping OSs to disk, I may have a shot at dual-boot nirvana, where a sudden-power-off condition will be even more-rapidly recovered than before.

So: I would need to find out just how a specific OS goes to sleep versus invoking 'hibernation,' and then see if I can use something, perhaps a micro kernel or tiny VMC to encapsulate these OSs with a MINIMUM of recurring overhead (let the penalties come as they may in the boot up cycles).

After minimal research, the Xen.org VM may have all of these capabilites, but at what cost? I don't belive I am talking about hot-swapping between live kernels in a hosted environ...


Thankfully, the Advanced Processor Arch. class I am taking now, as well as the 'OS' class next semester, should provide both background, and illumination to the problem.

MTF.