Why Do Computers Take So Long to Boot Up?
An anonymous reader writes "Computers take too long to boot up, and it doesn't make sense to me. Mine takes around 30 seconds; it is double or triple that for some of my friends' computers that I have used. Why can't a computer turn on and off in an instant just like a TV? 99% of boots, my computer is doing the exact same thing. Then I get to Windows XP with maybe 50 to 75 megs of stuff in memory. My computer should be smart enough to just load that junk into memory and go with it. You could put this data right at the very start of the hard drive. Whenever you do something with the computer that actually changes what happens during boot, it could go through the real booting process and save the results. Doing this would also give you instant restarts. You just hit your restart button, the computer reloads the memory image, and you can be working again. Or am I wrong? Why haven't companies made it a priority to have 'instant on' desktops and laptops?"
Suspend To Ram.
If you need to reboot, you're rebooting for a reason - likely because something in that "50 to 75 MB" has changed.
Of course, if your box doesn't support suspending to ram, then hibernation is an ok alternative. But sometimes hibernate can be just as slow, if not slower than rebooting.
end of line.
It's just Crap.
don't you think that if computers booted in 1-2 seconds, people would be more likely to turn them off when not in use? odds are, if your computer takes more than a minute or so to boot you won't turn it off say over lunch or during breaks. think of all the energy we could save? for the energy conscious out there, you could start by turning monitors off when not in use.
What gripes me more than slow startup is the idea that a computer can't be shut off quickly.
The last time we had a power failure at work, I tried to shut down my Windows machine, which was on a UPS. For some reason, the machine decided at that very exact instant... apparently _after_ I selected shutdown... that it would be a good idea to download and install a system update first! There did not appear to be any way to interrupt the process. Knowing that the batteries on the UPS weren't what they usta be, I quickly turned off the CRT to reduce the load, crossed my fingers, and hoped for the best.
It took the machine the better part of ten minutes to shut down. Fortunately the batteries held out. Heaven only knows what would have happened if power had been interrupted while it was in the middle of installing a system update.
Years ago the science writers used to tell us that we needn't be afraid of computers taking over the world because, after all, we could always shut off the power. Yeah, right.
"How to Do Nothing," kids activities, back in print!
I really don't know if it's that great of an idea to turn of a computer over lunch. One of the hardest things on a computer (hard drive, motherboard, power supply, you name it) is starting up. That's when most hardware failures occur. Shutting the computer down for an hour at a time and rebooting is going to shorten lifetimes of your hardware. I think when that hard drive fries it might well take more energy to construct a new hard drive and restore backups, etc, than you probably would have saved during those 30-60 minutes x however many days.
Hibernation is still not "instant-on" by a long shot. My P4 laptop still takes almost 3/4 as much time to resume from hibernation as it does to boot.
Hibernation doesn't save any time when it comes back up to rebooting, it's more of a convenience when you need to shut down and don't feel like closing all your apps. You might get the 10 seconds off your reboot when it comes back up, but you're probably looking at several minutes of extra paging time once you get back to using your apps. I once made the mistake of hibernating my machine when it had Photoshop, Matlab, Visual studio, and 5-6 firefox windows open. I spent an additional 5 minutes just trying to close all those apps so I could restart the machine to get my performance back.
The only time I hibernate now is when my carpool is leaving and I need to shut down my laptop quick and don't have time to shut down everything. Standby isn't bad, but any savings that hibernate gives you are short lived.
Look at the computer you mentioned, the Apple ][, almost everything it needed was in ROM. It didn't even have to worry about changing hardware when it booted, since it didn't have nice features like PCI slots and ATA hard drives. If you want features like a fast start up, get a computer that doesn't have to deal with changing hardware, variable amounts of memory, and expect to pay through the nose for the flash memory ROM chip that will hold the OS. A little SD or CF card would take a good long time to load an OS image off of, and would take a whole other bus being added to the motherboard.
And I bet Edison got tired of people complaining that "the light doesn't get bright fast enough," or "couldn't this burn brighter, if you designers weren't so lazy." Get rid of all of the features that a modern PC has to deal with, and you could speed the boot time up. If you like being able to replace various hardware, then accept that the trade-off is boot time. Or if you just want the PC to stay 'warm' like an old TV or vacuum tube radio, then put it to sleep or hibernate instead. Same principle, already exists in software, and Windows already knows how to screw it up.
>I think a large portion of the delay is initializing and setting states for all
>the hardware. Reducing the kernel and libraries to an image might speed things
>up, but not by much
I completely disagree. It takes very little time to initialize hardware and a whole lot of time to load software. For instance, when I just installed xp64 after my last upgrade, the system would be up and running in about 20 seconds. Now that I've been running the machine for 6 or 7 months and have been through a few cycles of installing, removing, and upgrading various pieces of software (with notable differences made upon the installation of adobe and microsoft productivity apps), it takes closer to 40-50 seconds to boot. And that's with absolutely no change in the hardware configuration.
Also, the hardware on a TV doesn't change. It just doesn't. So you don't really need any of the BIOS' going "Wtf? Who am I? Do I have arms and legs? no. Do I have a cd drive? yes. What time is it? Will there be cake?" If you go entirely to an instant on through complete saving of the boot configuration, you lose all of the plug and play goodness that everyone oohs and aahs about (that is, suddenly things won't Just Work (TM) anymore). If you swap out a hard drive, or add a new DVD+RW drive, your BIOS doesn't freak out because it asks at every bootup what its got. The OS doesn't freak out because it has hardware detection routines too. Anything that can change from one bootup to the next which makes any difference at all to the things that start running during boot must be detected. Try putting your computer into hibernate (suspend to disk), and then changing the amount of ram. Will it come back up out of hibernate nicely? I doubt it.
SIGSEGV caught, terminating
wait... not that kind of sig.
I use a mac powerbook G4 laptop. After a quick scan of the wtmp.x files, my average time between reboots is about 7 or 8 days. Let me translate: I reboot my laptop once a week. Outside of reboots, it goes to sleep, and wakes up in 1-2 seconds. I almost never wait for my computer any more (since I got my new 2g -o- ram).
I think the real question here is not "why do reboots take so long?", but why do you need to reboot so often. The people who design your OS are working to minimize reboot time, but at some point you will have to do a fresh cold boot to set the system up from scratch.
The tools to save that state are not good on windows (see title).
Why does so much of normal proceedure in Microsoft require a reeboot? (see title).
Why are windows OS's so unstable? The answer to this is clear - see title above.
Well, first off, the comparison between a TV and a Computer is misleading. TVs for the most part, remain nothing more that big Audio Video amplifiers. If I could post a block diagram, you'd have the receiving section (UHF/VHF etc), the audio and video amplifiers with a little bit of tuning capabilities etc, and the presentation (the screen, audio output etc.) There's not much going on in terms of what the device needs to know to be able to boot.
Fast forward to the newer TVs with a lot of digital "intelligent" boxes in them and you can already start to see bootstrapping time.
Computers (circa80s and so on) have almost always required a lot of time to discover their environment, whether it be the associated hardware to discovering the network they're on.
Nonetheless, the question is a good one. Why not? Part of the reason is that in making devices modular, one incurs a certain need to exchange data to make the device work. The interfaces (e.g., CPU to Video card or CPU to hard disk) continue to remain slow... so at boot up time, there is considerable time taken to repeat these very same actions each time. The second reason has to deal with the operating systems we got out there - Why must they control every aspect of the hardware beneath them? Why couldn't it just be a set of modules where they can send a unified data stream and have the device deal with it. This rant ranges from the IO buffering required for some devices to the management of actual devices for consuming data by the OS. I'm appalled everytime I see how many queues get involved in just sending data in and out of a modern OS.I'll readily grant that this is just an off the cuff reply - many here have given equally good reasons and the topic deserves much more careful study. Just my humble 2 cents.
Cheers!
Get a faster hard drive (if you are willing to pay the premium).
I saw a WinXP laptop with a a 10k RPM drive resume from hybernation in what looked like 5 seconds.
Obama likes poor people so much, he wants to make more of them.
The biggest problem of booting up like this is that the contents of memory and cpu registers isn't enough. The hardware has to be properly initialized as well. Since the internal state of the drivers indicates that has already been done, a consistent mechanism to force re-initialization of all hardware has to be in place after the system reloads the image. That might take as long as a normal boot does.
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
Because people are stupid. If there were a specially-accessible (say, via the F8 key at startup on Windows) "re-detect hardware" boot option, and the default just went with whatever the OS already knew about, then people would first bitch about how "I put in a new soundcard, and Windows can't even see it!" And then when they learned how to detect it, they'd bitch about "Why can't Windows just do that automatically?!"
Seriously, you want an OS that does exactly what you want at boot time? Use Unix. You want something that works reasonably without you having to mess with it? Use Windows. Don't blame Microsoft for your own poor choices.
It's always a long day... 86400 doesn't fit into a short.
Only if everyone in the world sits around and waits for it to happen every single time, and does absolutely nothing else with that down time. It doesn't count if you spend that time even THINKING about another issue/problem. You have to sit there motionless, stare at the screen, and do absolutely nothing but age.
Personally, I can find plenty of things to do with my time when I know I can walk away.
The more significant issue, IMHO, is the responsiveness of programs. Forget boot-up times, when you don't even have to be there. How about the delay between clicking the Firefox icon, and waiting for it to start-up so you can do useful work? How about the delay between clicking on a link, and having that link load and render? How about the ammount of time the system is unresponsive as it does something (like render a webpage) in the background?
That, IMHO, is many times more important, and something I certainly have to deal with far more often than reboots. Personally, I have a 2GHz system, with 1GB of RAM, and I still strictly stick with GTK-1 programs, because it's so much faster and more responsive than GTK-2 (or QT) equivalents (as well as not uselessly wasting screen realestate). Ever program I use has a fully functional GTK-1 equivalent, so I'm not missing out on anything by sticking with it, it's just an occasional hassle to change the default configure option, or using a different program because the new version of whatever dropped GTK-1 support (like switching from GAIM to Ayttm). It's a rare issue, and well worth the improved performance anyhow.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
>The other issue I have is that I normally use a VPN to connect to work, and the VPN tunnel doesn't like getting shut down and restarted, especially with a different IP address, so I still have to re-authenticate by typing in my security token code to the VPN client.
Isn't that what's supposed to happen? You've left your computer for a while, especially a portable one, it better disconnect any secure resources it has. It's comfort over security as usual, but I think this is by design.
My brother got a fancy new tv recently and I was bothered by the boot time. It is only like 15 or 20 seconds, but I really didn't understand why the tv was able to show me a message explaining that it was busy turning on, but unable to show video. That kind of thing always leads me to wonder, is there some real technical limitation, is there some spaz that thinks it's fine(booting for 15 seconds is better than being a little blurry for 0.5 seconds or something equally stupid), or is the development process just broken?
True story: I worked on an application a couple of years back for a client who was going to distribute it to his clients. It was a Java program, so expecting long start-up times we had the designer put a splash window together for while it was starting. But, through one optimisation or another, I managed to get the start time down to about 2 seconds.
When we showed it to the client, his response was basically "there's not enough time to see the splash window; put a delay in there."
So the app shipped with a 5 second delay in the startup process so that his clients had enough time to see his fancy graphics.
this is still unacceptable. it's a media player. there is absolutely no reason that it should be starting up at startup. same goes for adobe reader. that has an option to startup at startup. why? more and more programs say "it runs faster" if you do it that way... but you know what? the more programs that do it, the longer it takes the computer to start up. ugh.
please me, have no regrets.
Quicktime is a trojan. It hijacks your browser's media settings WITHOUT asking, even if you tell it not to associate with any of those files on startup. It starts up it's own little preloader app which is NOT necessary, and overrides you when you try to disable it.
Finally, those fucks have the audacity to insist YOU PAY TWENTY BUCKS just to get something every other general media player offers for free: full-screen video. And even if you refuse to pay, you get a nag screen every time you load the program.
Mind you, I own a Mac, and even though I can use an applescript hack to bypass the nagware, I still avoid using Quicktime as a rule when I can. If you must have your Quicktime files, VLC plays most of them without installing the trojan.
Man is the animal that laughs.
And occasionally whores for Karma.