Messages in this thread |  | | From | (Axel Boldt) | Subject | The end of booting as we know it | Date | Wed, 22 May 1996 22:38:18 -0700 |
| |
1. The Status Quo =================4
Every day, I boot my machine. The bios checks the memory for the thousandth time, lilo loads the kernel for the thousandth time, the kernel probes the hardware for the thousandth time, all the daemons are started for the thousandth time, the X server is started up for the thousandth time, emacs is started for the thousandth time. And I thought computing was all about saving time! What is worse, if I want to switch to the other OS on my machine, I have to reboot again! This sucks rocks.
Some neato laptops have a suspend/resume feature where you hit some magic button and the bios saves the whole RAM on disk and shuts off the machine. If you switch it on again, BIOS loads everything in and you are right back in the Emacs/X session. This is good, but not good enough.
2. The Ideal World ==================
The suspend/resume feature should be available on every Linux machine, without BIOS support. This would mean that on single user systems, one would only very rarely have to go through a full boot cycle. It should also be possible to save several RAM images to disk, so that one could seamlessly switch between OS's, without rebooting. Just save the current memory state to disk and slurp in the last state of the new OS. Could be done with one hot button.
3. From Here to There =====================
We need a standard format for files that contain a complete memory image. Every participating OS should have two new shutdown options: either save the current state to a specified file and do an reboot/halt, or save the current state to a specified file and slurp in another state from another specified file. In the case of Linux, this would mean that the shutdown command sends a special signal to the kernel, which would cause the kernel to flush the buffers and then save the memory state to disk. The boot loaders should also know about this format; it should be possible to use lilo or loadlin to slurp in a memory image. The memory image filenames for the various OS's would be given to lilo in the lilo.conf file, and lilo decides at boot time whether to do an ordinary boring boot or to slurp in the memory image. After having been slurped in, the image file must immediately be marked as "outdated" to prevent it from being used ever again. Same goes for loadlin.
4. Problems ===========
Some hardware needs to be initialized. One could either try to be ambitious and save state information or bring the problematic devices in a well-defined state (well-defined across OS's, that is) before writing out the memory file, or do it the simple minded way like the laptop BIOSes.
Axel
|  |