2014-01-17
Why are Computers Unable to Boot Instantly?
With the newer, more powerful hardware and improved operating systems that we have available to use these days, why does it still take as long as it does to fully boot a computer up each time?
The Question
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 are ‘Hibernate’ and ‘Sleep’ options, but those aren’t really ‘real boot’.
Why are computers unable to fully boot up instantly? With the better, more powerful hardware that is available now, and the continuing improvement of operating systems, one would think that computers could fully boot up a lot quicker than they do these days.
The Answer
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 is 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 to define it in programs, and those programs will always take more than ‘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.
While boot up times have definitely improved in the past few years, and will continue to improve as time goes on, there is, and will always be a lot going on ‘behind the screen’ every time you start your favorite computer up.
The Question
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 are ‘Hibernate’ and ‘Sleep’ options, but those aren’t really ‘real boot’.
Why are computers unable to fully boot up instantly? With the better, more powerful hardware that is available now, and the continuing improvement of operating systems, one would think that computers could fully boot up a lot quicker than they do these days.
The Answer
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 is 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 to define it in programs, and those programs will always take more than ‘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.
While boot up times have definitely improved in the past few years, and will continue to improve as time goes on, there is, and will always be a lot going on ‘behind the screen’ every time you start your favorite computer up.