Lab Breakthrough Brings Instant-On Computers Closer
blog.wired.com
blog.wired.com
The entire concept of "booting" is idiotically obsolete. RAM should be treated as nothing more than a cache of disk, and only a single 0..N byte address space should be visible to software. The acts of software installation and loading into memory become identical. A 1960s mainframe was organized like this. Why aren't modern PCs? Orthogonal persistence is entirely logical and trivial to implement in hardware.
Uh, that's already how software loading works. Shared libraries and executables get mapped into memory space and can be lazily loaded (though that's not always a good idea) through bog-standard VM systems. You'll note this has not solved the boot problem. It doesn't matter how cleverly disk-mapped memory is implemented if your critical path is 100MB of stuff that must be pulled from the disk before your system can be used.
If the 100MB is stored as a contiguous array of bytes, the process would take no more than a few seconds. Other inefficiencies are at work here.
Also: do you ever wonder why the BIOS takes so long to initialize devices? There is no solid, watertight reason for it. It just so happens that most BIOS (esp. extension card ROM) vendors do not give a rat's ass about initialization speed.