Live data from Hacker News

Why can't computers boot instantly? (2013)

superuser.com

41–50 of 167 posts

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

#41
post #33
post #25

Earlier quoted context omitted.

They can. But the more software you need to initialise the slower it is. And modern machines run a lot of software.

But then the questions are, why does it need to initialize? Why doesn't it start in an initialized state, what factors make it impossible to determine that initialized state beforehand and storing it? How close can we get?

Hardware has lots and lots of pieces of memory, not only block-ram, but also many registers. The needs to be initialized after power-off.

As for the software: Hibernate is storing that initialized state.

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

#42
You can do warm boot images (Sony's Linux-based Alpha cameras do this, for example), but these have to be tailor-made for each model... feasible for a camera manufacturer, impossible for a Linux distribution.

But I do wonder why WBI generation and automatic usage upon first boot isn't more common (or possible at all)...

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

#43
post #33
post #25

Earlier quoted context omitted.

They can. But the more software you need to initialise the slower it is. And modern machines run a lot of software.

But then the questions are, why does it need to initialize? Why doesn't it start in an initialized state, what factors make it impossible to determine that initialized state beforehand and storing it? How close can we get?

As an example, consider the PCIe bus controller. Say it had some non-volatile memory so that when it powers on, it just reads the bus configuration from the NVM instead of enumerating and initializing the devices on the bus. Lots of time saved.

Well that wouldn't really work without the PCIe devices also storing the configuration in NVM. If I plug a x16 device into a x4-only slot (as is typical for the third PCIe x16 slot on motherboards that have it), the device needs to know it has to only use 4 lanes, not the full 16.

Ok, so say the controller has some way to tell the devices to save their state, and when powering on they all read from NVM and can just go on talking with each other right away, no further initialization required. Yay!

Except then you power off your machine, and swap that GPU for the new one you bought from your friend. Now the new GPU has the configuration from your friends motherboard, and your bus controller has no idea about this new card... so this is doomed to fail.

Of course this could be worked around by querying the bus for the devices we expect to be there... except that's the initialization step we were trying to avoid in the first place...

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

#44
If computer makers put the OS in ROM memory rather than RAM and had a well defined way of overlaying the two so the ROM state could seem to be modified by writes to RAM, you could get instant boot. Early PCs worked that way like the Commodore64, right?

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

#45
post #44

If computer makers put the OS in ROM memory rather than RAM and had a well defined way of overlaying the two so the ROM state could seem to be modified by writes to RAM, you could get instant boot. Early PCs worked that way like the Commodore64, right?

The Commodore didn't copy itself from ROM to RAM, but that was a trick you could do yourself to speed up BASIC execution - the RAM was faster than ROM

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

#46
post #33
post #25

Earlier quoted context omitted.

They can. But the more software you need to initialise the slower it is. And modern machines run a lot of software.

But then the questions are, why does it need to initialize? Why doesn't it start in an initialized state, what factors make it impossible to determine that initialized state beforehand and storing it? How close can we get?

It's not impossible, just increasingly expensive. Modern software practices tend move a lot of the things that used to be done at compile time to initialization time or runtime. A lot of modern tooling is built around that idea. You gain a lot programmer productivity in exchange for increased memory usage, startup time and battery drain. Is that worth it? The market seems to says yes. As much as people complain about the battery life of their devices, in aggregate, they prefer apps with even the slightest usability improvements over apps with great performance. In the battle of delivering more tiny little features, programmer productivity trumps all other concerns.

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

#47

Windows is a bloated mess, so it's obvious there. As for anything POSIX, it's because UNIX is shitware; it took a long time to boot decades ago and it takes a long time to boot now, because more garbage has been piled on top. It's possible for a good operating system to boot in less than a second, however. People have simply been conditioned to accept this unacceptable state of affairs, no different than a TV that ta…

I still remember the day I got a new TV (despite old CRT working) for my parents and see their faces the first time time we turned it on. Now they are used but at the beggining the boot time was difficult to grasp: it used to be negligible with the obsolete tech..

There is now a boot time for my kitchen mixer… about 2-3 seconds. It’s horrible and I always forget.

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

#48
post #36

The link in the answer titled "state machines" is a bit misleading, since it directs to the Wikipedia entry about Finite-state machines. But most computers (the ones we are talking about here) are Turing complete rather than being a (computationally much more limited) finite-state machine.

I want to live in your world with its infinite memory.

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

#50

Windows is a bloated mess, so it's obvious there. As for anything POSIX, it's because UNIX is shitware; it took a long time to boot decades ago and it takes a long time to boot now, because more garbage has been piled on top. It's possible for a good operating system to boot in less than a second, however. People have simply been conditioned to accept this unacceptable state of affairs, no different than a TV that ta…

I have a GUI linux, and it boots in 3s on stock xps 13.

Magic trick? Open RC + no crapware + lightweight DE

I use no preloading daemons, prelinkers, gold, or malloc hacks

Post reply on HN