Live data from Hacker News

Why can't computers boot instantly? (2013)

superuser.com

81–90 of 167 posts

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

#81
post #8

A bigger question for me is, why can't monitors boot instantly? So annoying that a monitor that went to sleep can sometimes take 10-20 seconds longer to wake up than the computer it is attached to.

10 to 20 seconds? What monitor do you have? All decent monitors have a maximum of 5 seconds.

Unfortunately the very best LCD monitors currently all take pretty long to start up.

The Asus PG27UQ (regarded as the current-best consumer 27" 4K LCD) takes almost 20 seconds to start up, presumably to initialize a bunch of state for its FPGA.

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

#82
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…

It depends on if you consider the Arduino and other related devices “computers”, but their init routine takes a fraction of a second before control is passed off to the user’s code

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

#83
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?

Isn’t that what “hibernate” is?

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

#84
post #33

Earlier quoted context omitted.

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…

All that PCIe enumeration takes much less than a second, in my experience. The current boot on the machine I'm using to type this took only 2.3 seconds for the kernel part (source: systemd-analyze).

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

#85
This is a good question, and the "answer" avoid it by essentially saying "it can't be zero."

Why does boot time take ~10 seconds? CPUs run in GHz, meaning 10^9 operations per second. That means that booting takes around 10^10 operations. Why that order of magnitude and not any other? Obvious answer is "that's where the optimization efforts stopped", but could it be 10^9 or 10^8?

Obviously booting time isn't just (or mostly) CPU, but the question extends to other peripherals: Harddrives access is in the 10^8 B/s range. RAM is 10^9 B/s. USB ~ 10^7 B/s. Wifi 10^6 B/s. etc. Why does booting, with all it's internal sub processes still take ~ 10^1 seconds and not any other OoM?

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

#86

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…

I remember 100 MHz 486 with 12 MB RAM being the point when Win95 was nice to use. With 8 MB it would just swap too much.

Of course it'd run with much less.

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

#87
post #40
post #33

Earlier quoted context omitted.

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?

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?

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

#88
post #64
post #60

Earlier quoted context omitted.

If it's really 10-20s, I'm guessing it's because it's because it's cycling through the various input sources looking for a signal.

But it could just look at all of the input sources at the same time. And anyway, these are solid state electronics, not hamsters and flywheels. Taking seconds to send "give me electrons" and for the other side to say "here are some electrons" is bonkers.

Being able to observe all inputs sources at the same time requires extra hardware(more utilisation of the FPGA resources), considering only one input is connected to the display at a time. So it's probable that the check is sequential.

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

#89
I remember when Ubuntu was first becoming popular. At the time, Windows boot times were long--I don't have timings, but my memory seems to say something like 5 minutes. And Intel processors were in the middle of their highest-energy-use period, so they ran hot, meaning you couldn't just leave your laptop on all the time. So reboot time was a significant part of my experience as a Windows user. When I first booted Ubuntu, the boot time was fast, something like a 1 minute, and later I tried Xubuntu which was closer to 30 seconds. This was an advertised advantage of Ubuntu, and it was a big part of why that was "the year of desktop Linux" (if only for me).

In the following years, I noticed significant improvements both to boot times in Windows and to their "sleep"-type features. I suspect this was motivated at least in part by competition from Ubuntu.

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

#90
post #75

Earlier quoted context omitted.

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?

Isn’t that what “hibernate” is?

I would say no because I can’t reuse that state: all implementations that I’ve used discard the hibernated state afterwards. If there was an OS that reused those saved snapshots then I would argue that it does count as “booting”.

It would be even more interesting to do this on a per-application basis. Atom does something like this to cope with long startup times, for example.

Post reply on HN