16

Computers have been around for quite some time. So what is stopping us from making computers boot instantly like regular home appliances and other devices? Is it even possible? I know there is hibernate and sleep but those aren't really real boot

  • 2
    Calling what is in most appliances a computer is laughable. Most appliances have the computational power of a pocket calculator. In short simpler devices boot faster. Windows 500Mb of RAM easy appliance <10mb. (sometimes kilobytes) – cybernard Dec 27 '13 at 6:08
  • 2
    By the way I have been asking this myself too: why being capable of billions operations per second computers still need up to a minute to boot? Looks like the actual complexity is insane. – Ivan Dec 27 '13 at 7:35
  • @Ivan : a minute to boot is wayyyy slower than contemporary configurations are capable of. A modern computer is able to go from cold start to login prompt in visibly less time than it takes a CRT TV set to warm up. – mikołak Dec 27 '13 at 9:40
  • 2
    My old 486/DOS and Pentium/Windows9x machines were taking notably less time to boot (I mean from cold start to the final usable state when nothing is being loaded in background) than my Core2Duo WinXP machine does. The same machine boots Win7 somewhat faster than WinXP though. My Android 4.1.2 phone boot time is far from instant too. – Ivan Dec 27 '13 at 19:11
  • 1
    Computers can and do "boot" instantly. The problem is that what you are wanting isn't for it to boot straight away but for it to never need to run the initial boot/loading sequence. Tablets and every other mobile device take time to boot but they hardly ever actually shut down or hibernate so they are always immediately available. You can put a computer to sleep (suspend to RAM) which achieves the same as every other consumer device. – Mokubai Dec 27 '13 at 19:42
44

Computers are state machines. The problem is that the initial condition the computer starts with (which is, literally, instant) is not very useful to you and me. (Even after the first electron moves).

What's useful to you and me is many millions of steps further down that state machine. The easiest way for developers to describe that state is define it in programs, and those programs will always take non-zero time to run.

Now you might say: "fine, but can't you cache the 'first-usable-state', and start there". And you could, and it does, it's (roughly) what resume from sleep is. (and which is why it's not very fair, I think, to "exclude" resume from a discussion of improving boot times).

  • 1
    This is roughly what happens on Windows 8, boot is less than 8 seconds for me. From Off to Logon screen. – KickAss Dec 27 '13 at 19:32
  • 2
    The main reason I restart my computer is because I've got it into a bad state. So what we really want is an option which is like "resume from sleep" but which restores a known-good state (the one which I normally get after rebooting) rather than a copy of the bad one I currently have. – Oscar Cunningham Jun 23 at 10:59
  • 1
    Specialized, simpler computers like four-function calculators have much, much simpler state, nothing written to any non-volatile storage, and do boot instantly. Contributors to boot slowdown ("state restoration") are mostly imposed by transmission of data from storage, which even with SSDs are much slower than modern CPUs. – LawrenceC Jun 23 at 19:18
3

When you turn on your computer, it instantly executes code in BIOS or UEFI boot manager. It doesn't take much time to execute BIOS or UEFI boot manager. It will initialize your hardware, scan your storage devices for operating system, and run the operating system. It is usually the operating system that requires much time for loading.

If you use a very simple operating system that will load instantly, such as that only display sequence of images or play music files, then you can boot your computer instantly.

0

The problem is that operating systems are huge. And by huge, we're talking millions and millions lines of code. Even Linux 3.6 has almost 16million. XP was rumored to have 40.

http://en.wikipedia.org/wiki/Source_lines_of_code

Even when you're using solid state hard drives, you still need to load that code from non volatile memory (disk drives) to volatile system memory (RAM).

A pocket calculator has an operating systems (it's small, but it runs a program) however its so small it can live in chips on the system board.

Again, it's a problem with PCs having much, much larger operating systems that must be loaded into system memory.

  • 3
    I fail to see how LOC should be an indicator for boot up time. And the problem is not in that the OS is so large, but with device initialisation etc. See Lennart Poettering's intro/motivation for systems for example: 0pointer.de/blog/projects/systemd.html – phw Jan 7 '14 at 20:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.