Live data from Hacker News

Why can't computers boot instantly? (2013)

superuser.com

91–100 of 167 posts

Re: Why can't computers boot instantly? (2013)

#91
post #30

That is not a good answer. It's perfectly possible for computers to boot in a fraction of a second. The argument that computers need to go from a useless state S0 to a useful state S1 and that takes a long time is just bullshit. The question is, how close can you bring S0 to S1. This is a question of optimization. What happens is that S1 is different for different computer configurations, and processing needs to happ…

// What happens is that S1 is different for different computer configurations, and processing needs to happen.

The computer and OS config doesn't change often.

And it's doesn't seem slow to test that.

So caching at boot should work.

And caching is a low effort optimization. So it should have been implemented early.

But we don't have caching at boot, why?

Re: Why can't computers boot instantly? (2013)

#92
post #75

Earlier quoted context omitted.

I'd say that's essentially what suspend-to-ram means. Booting means throwing that state away and rebuilding it.

Right, or even just something like suspend-to-disk (or other storage) but for the pre-OS part of the boot (so that constant power isn't required). Why can this not work?

Would the pre OS part of the boot process need less than all the available RAM?

Hibernate (suspend to disk) used to be slow with spinning disks. Even with SSDs, if on a 6 Gb/s SATA bus hibernating my 32 GB laptop would take 32 GB * 8 / 6 = 42 seconds, probably more. And 42 s to resume. My laptop goes from power off to login and Gnome loaded in less than that time. Of course it takes much more to open all the programs I need. That's why I suspend to RAM. Push a button to suspend and less than 10 s to be working again. By the way, it takes extra seconds for the laptop to connect to the Wi-Fi access point or to the ethernet switch. IMHO it's not fully usable until then.

Re: Why can't computers boot instantly? (2013)

#95

The real answer: the cost (in developer time) of making computers that boot instantly is too high to justify the benefits.

Yes, but it's just one of the factors, and actually all major user-facing OSes do care about boot times. Other factors are the design by committee and platform fragmentation. Hardware manufacturers don't care about initialization times, and standard makers are issuing insanely complex specifications with lots of compatibility cruft and edge cases.

Re: Why can't computers boot instantly? (2013)

#96
post #87
post #40

Earlier quoted context omitted.

The fact that reboots happen mostly when software (kernels, system) is upgraded is part of it. It's simplest and most reliable to initialize the system from clean state (I've often had an idea it would be best to reinstall Windows+software for each reboot).

> reboots happen mostly when software (kernels, system) is upgraded is part of it Only if you never turn your machine off. Don't you power off your desktop every day when leaving work?

At most, I would expect most technical people put their desktops to sleep when they leave. Well really, I would expect most of us to have laptops where we just close the top and it just sleeps.

Re: Why can't computers boot instantly? (2013)

#97
All of the answers here are missing something. In the old days, the OS was often on a ROM that was simply mapped into some unified memory location. Thus the system went from a state of "off" to "ready to go" pretty much immediately. There wasn't a need to copy the data from the ROM to RAM and then execute some stuff to get into an initialized mode.

If you hunt around a bit for things like "atari 800 memory map" you can find diagrams showing how this all worked. In fact on some systems, you could selectively map certain things from ROM into the memory map to get more RAM if you wanted.

Today, the move to put the OS onto disk, the memory hierarchy, and virtual memory eliminate this approach. You basically have to let the virtual memory system map things from disk into some page space, and often things need to be copied into RAM, work their way up the cache hierarchy and be executed somewhere in order to set the system into an initialized state. I've honestly forgotten nearly all of the details so maybe somebody else can provide a better explanation.

So the reason computer can't boot instantly:

1) We have a complex memory system these days that prevent mapping the OS into the memory address space.

2) OS's aren't in ROM anymore. They sit on disk in a state different than when under operation.

3) Simple engineering willpower. Nobody wants to bother to figure it out because once the system is booted it doesn't really matter (with modern sleep modes and whatnot).

Re: Why can't computers boot instantly? (2013)

#98
Trivia: some compuers have a single level memory store, so there are no separate disk and ram concepts from se PoV. I think as/400 and maybe Multics are like this. But i don't know if they boot instantly from whete they left off, probably not. It would be within relatively easy reach though.

Re: Why can't computers boot instantly? (2013)

#99
post #91
post #30

That is not a good answer. It's perfectly possible for computers to boot in a fraction of a second. The argument that computers need to go from a useless state S0 to a useful state S1 and that takes a long time is just bullshit. The question is, how close can you bring S0 to S1. This is a question of optimization. What happens is that S1 is different for different computer configurations, and processing needs to happ…

// What happens is that S1 is different for different computer configurations, and processing needs to happen. The computer and OS config doesn't change often. And it's doesn't seem slow to test that. So caching at boot should work. And caching is a low effort optimization. So it should have been implemented early. But we don't have caching at boot, why?

The two hard things in computer science are naming things, and cache invalidation.

Remember; the computer could quite literally have been completely reconfigured out from under the BIOS. Testing that everything is the same from the computer's point of view is anything but straightforward.

Also, most recognizable boot time isn't spent waiting on BIOS and POST; it's spent waiting for either the boot loader, disk encryption, or the OS to spin up all the background stuff (graphics stacks, session managers, HAL's, message busses, desktop environments, network services... etc) it needs to offer for fulfilling the particular purpose the system is intended for.

Computation is amazingly fast, but by no means either free or magic.

Everything takes time. However, I make no excuses for Windows: They had 3-5 second boot nailed for a while. Then, they done bloated it to the point of unrecognizability.

Re: Why can't computers boot instantly? (2013)

#100

When I was in high school their Amiga would cold boot into a GUI within 3 seconds. It was the same for the Acorn Archimedes in the UK. These computers had the entire GUI OS burnt into the ROM. After that I remember the shock or getting a 386 and waiting minutes for Windows 95 to load. It was like the future had died and was buried by a conspiracy of silence in the industry.

386 and W95? Not a good combination. By the time W95 was out on the market P5 was the latest and greatest and a 486 was the low budget one. You might want to reconsider those memories. As for loading times it all boiled down on how many check-up you wanted or not in your BIOS. As a rule I've always did memory check by BIOS only one time when buying/putting together a new PC and after that I've check it off in BIOS, h…

There was a long time where the 486 was the sweet spot before Pentiums were commonplace. I didn't so much run Win3x/9x but did have both OS/2 and WinNT i486 (desktop and laptop) machines with up to 66 MHz 40 MB ram before moving off them.
Post reply on HN