Why Do Computers Take So Long to Boot Up? 975
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?"
TVs don't need to do very much (Score:2, Insightful)
On the other hand, my Toshiba HD-A1 HD-DVD player, which I believe runs Linux, takes as long to boot from its flash ROM as my XP box takes to boot from a cold start. I imagine the Blu-Ray players aren't instant-on, either. This is something we will just have to get used to, I suspect.
Hibernate, or suck it up (Score:2, Insightful)
STR (Score:5, Insightful)
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.
Re:Oh please. (Score:5, Insightful)
How about instant OFF? (Score:5, Insightful)
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.
Re:Oh please. (Score:2, Insightful)
The thought: "You Generation M (microwave oven) kids need to quit demanding everything on demand" is one which discourages advancement in technology. No matter how good something is, it can always be better. Life used waiting for a needed device to power-on is life wasted.
boot times have been 30-60sec for decades (Score:3, Insightful)
Jef Raskin [raskincenter.org], creator of Macintosh and Canon Cat (the latter embodied his instant-on ideal), also complained about the time it takes a computer to start up.
Startup times have not changed in several decades. Here are some data points [advogato.org] I collected a while ago:
Re:How about instant OFF? (Score:5, Insightful)
Like I give a crap. When I tell a computer to shut down, I want it to _shut down_; I do not want to come back hours later and find it didn't do what I told it to.
This is particularly annoying in the morning when I've left my home PC running overnight doing video or 3D rendering, and it's swapped out vast megabytes of stuff to make room for a totally pointless disk cache (what's the point in swapping out programs to cache multi-gigabyte video files when I'm processing them from one end to another?), so when I tell it to shut down it first spends five minutes spinning up all the disks and swapping back in all the programs it swapped out... but if I head off to work while it's still shutting down I may come back in the evening to find it still sitting there telling me that some piece of crap little applet that I never even wanted to run crashed while shutting down.
That's even worse than the fact that it takes two or three minutes after logging back in in the evening before it stops thrashing the hard disk and I can actually do something useful. At least I can make coffee or something while it's booting up.
Windows Vista ReadyDrive (Score:3, Insightful)
http://www.winsupersite.com/reviews/winvista_05c.
Re:Oh please. (Score:5, Insightful)
Re:hum (Score:5, Insightful)
Re:hum (Score:5, Insightful)
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.
Re:Errr.... (Score:2, Insightful)
IMHO, my TV is defective and really sucks... never buy one- we replaced one due to a discoloration that appears on white screens, and decided it wasn't worth paying the best buy idjits to haul the stupid thing away a second time (yes, they charged me to haul a defective TV) when it showed the same blue and yellow problem. (bright white over the affected areas produces yellow on the right and blue on the left). I've been told this is a grille problem, that as it heats up, it bends and the wrong colors show up. Anyway- that's all unrelated- my point is, my tv is hardly instant.
Re:Hibernate, or suck it up (Score:2, Insightful)
Already been done (Score:3, Insightful)
But the basic problem is one of disk throughput and memory usage. There's a hell of a lot of stuff used on boot. CPU usage is secondary to pulling things off of disk. Unlike other computer systems, your desktop isn't intended to run programs directly off of ROM. It's intended to run a variety of applications, and accept a variety of underlying hardware. Since neither nor the hardware is designed to run a specific application from ROM, you can't just start with an assumed operating system or program.
Also, to bring up a nit, your TV only starts up instantly because it's halfway started most of the time. Turn it off for a long time or unplug it and you'll see it take a while to "warm up". This uses quite a bit of power. If you felt like it, you could pay extra to build a motherboard etc that supports suspend for desktops, but it takes a lot of effort to get the software right, so its primarily done for laptops. It'd be a nice comprimise between booting/hibernating and "instant on" that you want.
Re:A history of startup time (Score:3, Insightful)
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.
Re:hum (Score:5, Insightful)
Re:I had this idea as well. (Score:1, Insightful)
Re:boot time (Score:4, Insightful)
>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.
Re:How about instant OFF? (Score:3, Insightful)
Re:How about instant OFF? (Score:4, Insightful)
It's a symptom of deeper problems.
Re:TVs don't need to do very much (Score:5, Insightful)
Re:Oh please. (Score:3, Insightful)
There are computers that do this RELIABLY every time. They are called Macs. Mine is set to automatically sleep if there is no meaningful activity in 15min, such as user input, down or uploading or playing music. It takes 3 seconds to come back to normal operation. This return includes reconnecting to services such as Instant Messenger and checking for new email. So if you are energy conscious get a Mac and save the planet.
lack of innovation (Score:4, Insightful)
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.
Why indeed? (Score:4, Insightful)
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!
Re:Oh please indeed (Score:3, Insightful)
That is wonderful and I am glad that your computer works as it should. In reading through so many posts in this topic it seems that this is a sore spot for many PC users, whereas it is a non-issue to Mac users. The fact that your system works fine proves that this issue has to do with hardware-software integration. Apparently Toshiba pays better attention to such details than other PC makers.
Re:hum (Score:4, Insightful)
I saw a WinXP laptop with a a 10k RPM drive resume from hybernation in what looked like 5 seconds.
Re:Constrained? What the hell are you talking abou (Score:1, Insightful)
Oh, I dunno, just the 50 years of computing showing that backwards compatibility is the main tool to keep your customers... Witness the bending over backwards everyone does....
Re:That's not hibernate, that's standby. (Score:3, Insightful)
I don't have a Mac that's new enough to support it (my aging iBook G3 definitely doesn't) but it seems like a neat compromise feature, particularly when you consider that a Mac in standby is good for more than a week. If you're not going to use it for longer than that, hardly seems worth doing anything besides really shutting it down.
Not just memory and registers (Score:5, Insightful)
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.
Re:They have instant coffee now. (Score:5, Insightful)
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.
Re:Hibernate, or suck it up (Score:3, Insightful)
Meaning of those numbers... (Score:3, Insightful)
Probably 80% of the boot time is crappy drivers and helper apps that seem to accumulate over time.
I put my OS on a Raptor and a clean install boots in roughly 6 seconds. A few months later, it's up around 20 seconds. Give it a year and I have no doubt I'll be sucking up near 60 second boot times as the assorted cruft Windows picks up tries to initialize itself and happily conflicts with everything else.
Much as I love knocking Microsoft as much as the next guy, their pure OS can boot relatively quickly. Adobe's acrobat reader, VersionCue and color management, Microsoft's own office and search helpers, various IM clients, Apple's iPod agent, ATi's Catalyst Control Center, the ever useful ABit uGuru, the Windows Media connect I have for my 360, the UPS monitor, Spyware blocker, Java install and the Windows Update I chose to set to auto-download-but-not-install culmulatively kill me. The sad truth is, I know a clean OS install takes me maybe a quarter of what I currently endure due to my love of additional features.
The interesting question will be whether Microsoft has forced anything useful in to their new found love of signed drivers that actually aids this. A logical system would involve drivers that had to register how critical they really were, along with criteria to change that criticality. Arguably, VersionCue could sit there saying, "OK, load your critical stuff and get to me when you can unless an Adobe program tries to start." The same goes for the iPod agent - until the USB bus anounces the presence of a connected iPod, it can probably let the user run the rest of the boot, open iTunes, check mail, etc. My UPS monitor could function almost as well if it didn't start until a minute or two after boot - so long as I had the option to bump its priority up for fault finding. Same goes for uGuru. ATi's catalyst control center could likely load a few critical features for the desktop and worry about the 3D stuff only when an app required it or I tried opening the full control center. Most of the boot could be far more sensibly prioritized but, sadly, Microsoft likely only has signed drivers so they can promote crap like Zune better whilst hindering competition and, even if they did have it, every hardware manufacturer would likely ignore it in the name of never having users curse their software for taking an extra two seconds on those rare occasions. Oh well. A dream at least.
Re:They have instant coffee now. (Score:2, Insightful)
Now that's an interesting opinion. And by interesting, I mean stupidly narrow-minded. I know quite a few brilliant mathematicians and physicists who don't give a shit about operating systems, or how software interacts with hardware. By your reasoning, these people are "stupid" because they expect a tool to work as advertised. That sounds pretty dumb to me.
Resource contention (Score:3, Insightful)
Whenever you boot a computer, as opposed to a TV set, there are an awful lot of processes going on. Services start up, various configurations and libraries are loaded up. Lots happens and this lots happening contends for one another for the limited resource of I/O, memory and CPU.
Antivirus scans start happening; if you have AV software which scans DLLs or executables on load this will increase the resource contention significantly.
And at every boot things may be slightly different. For one thing, between last reboot and this a virus could have found its way into the system.
Computers are not exactly finite state machines. Every boot will inevitably differ from the last for oh so many reasons.
Its not like a TV where it only has so many states that it could be in at any time and where things don't change between startups.
If you want instant boots, I suggest sticking with a console and playing games and for math use a calculator.
Re:Gotta mention the obligatory Steve Jobs story h (Score:5, Insightful)
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.
Re:Oh please. (Score:3, Insightful)
No, that's (almost entirely) baseless nonsense.
Computer hardware has a much easier time handling repeated power cycles, than it does dissipating the heat, and wear and tear on motors, bering, etc., created from idling for an hour. You shouldn't reboot every couple minutes, but even 15 minutes should be a net gain.
In addition, the power savings will very quickly add-up, so you can buy another computer every year from your savings on the electric bill.
Think of incandesent lightbulbs. Sure, they (generally) only burn-out when first switched-on, yet I don't see many people leaving their lights on 24 hours/day, just covering them when you want it to be dark.
comfort vs security (Score:4, Insightful)
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.
Re:fast booting TVs ? (Score:4, Insightful)
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.
no, amend it to 'designers are arrogant' (Score:3, Insightful)
Anybody who makes global statements like that, well you got to check out where they are coming from. On slashdot this line regularly appears, "I am an expert with N number of years experience, (X) is obvious, (X) is easy, anybody who doesn't think so is stupid, come back when you have 10, 20 years experience before daring to complain".
Re:hum (Score:4, Insightful)
Re:hum (Score:3, Insightful)
But the problem of long start-up time is coming to your livingroom, too. Those LCD panels are much slower than traditional big box TVs.
Re:hum (Score:3, Insightful)
I remember coming home to see my mom using this new "Bonzi" buddy thing
I installed windows ME on a family members computer and they are STILL using the same install (take note they are using dialup) but it still works. Windows 2k/XP is still a way better OS but still Windows ME is light and quick.
I guess I just have luck
Re:hum (Score:3, Insightful)
Re:hum (Score:3, Insightful)
And shutting down and restoring your work state becomes increasingly onerous.
This makes me wonder whether hibernation and suspension may, in the future, become an increasingly important constraint, especialy for mobile computers where the operation is frequent. I could well see this leading to changes in hardware, such as the increased use of flash RAM in addition to slow but large data stores and fast but volatile working memory. The problem may drive fundamental OS changes as well, perhaps to allow system state to be safely restored in a "lazy" manner.
Somebody once said that "in the future, we will only experience varying degrees of slowness." This means that as things get in general faster, every moment of delay is correspondingly magnified. I predict the problem of managing state and power consumption will consume a lot more attention over the next decade or so.
Re:hum (Score:3, Insightful)
Point taken. The problem I have is that I don't like messing about with msconfig 'cos I really don't know what I'm doing. In much the same way as I don't like opening my PC and messing about inside. [OK ... Geek card revoked!]
As it happens I have spent some time, on a number of occasions, trying to stop Quicktime from pre-loading and I couldn't find which of the myriad of menus and pop ups and pull downs had the option aluded to in other replies, so I emailed Apple and got no response. I even removed it using msconfig once, then it got re-loaded and there were two entries in msconfig. Aaaargh! Why should it assume I want stuff pre-loaded. Most people are NOT going to want stuff pre-loaded. If they are clever enough to know what it means and be able to make a reasoned choice of which apps they want pre-loaded then they can set it up themselves, otherwise leave it alone!
Luckily, my Dell needs XP re-installed on a regular basis so I get to clean it up every few months.
Man, I really hate PCs!
The boot speed problem (Score:3, Insightful)
The first area is the BIOS boot time, which has nothing to do with how long it takes Windows to load. On many systems, it takes a while for the BIOS to check for hardware, hard drives, and even devices that may or may not be there before booting. Now, this is an area that many can improve, but in some cases, the BIOS itself will never allow you to tweak things properly.
In the "old days", you had the option to set the drive parameters yourself in the BIOS, and to avoid having the BIOS scan for devices. Or you could do a one-time scan, and it would put in the parameters for you so the system doesn't need to check them every time you boot. I honestly miss that since on most systems today, you need to wait for the system to check what type of hard drives and CD drives you have every time you boot the machine.
Next, you have support for all sorts of devices that many people never use. If you disable the integrated firewire controller(IEEE 1394) for example, there should improve performance. You should be able to disable the integrated audio if you have a sound card as well. Or the floppy controller. There is a LOT of this junk that gets checked every time you boot the system. The sad thing is that it seems the BIOS STILL checks all this unused stuff at boot time. It may be a little faster, but the BIOS still knows the features are there, and it bloats the process. More features are generally not better when it comes to the time it takes the BIOS to finish checking.
So, the BIOS finally lets you boot.
And now, Windows starts to check every last feature in your system so it can set it as a device for Plug and Play. Even if you disable the feature in the BIOS, Windows will find it, and try to get a driver working for it. You may be able to avoid this by using jumpers on the motherboard to disable features rather than the BIOS/CMOS setup, but not always.
Microsoft ships Windows XP and Vista with all sorts of features enabled by default, which increases the load time. You have to love how Microsoft auto-enabled Wireless Zero configuration for every copy of Windows XP, even if you are looking at a desktop system without a wireless card in it. Windows Time, and many other services get turned on by default, and that is where most of the problem comes from as well. If you have Norton Anti-Virus, that will add to it, and Internet Security is worse still.
Now, it's not always the fault of Microsoft, Dell is one of the worst offenders when it comes to "adding features". When you get a Dell, unless you specifically ask them not to pre-load all their garbage, you get Dell support agents, and software to "make it easier for them to help you". What it really does is make them money because they get to sell more hardware when angry customers want to throw their monitor across the room because of stupid garbage like this.
The speed of the hard drive is another thing to look at when it comes to how long it takes to boot. If you have a 4200RPM hard drive, that's slow by the standards of today, but most systems come with either a 4200RPM or 5400RPM hard drive in them, rather than the faster 7200RPM or 10,000RPM drives. You can have two identical machines except for the hard drive, and you will find that a faster hard drive can trim 25 percent off the time it takes to boot.
System memory is the final area that can slow down your boot speed. If you have under 512 megs of system memory, that's too little for Windows XP, and generally you want 1 gig or more of system memory to make Windows XP load and run well. With Vista, this jumps to 1 gig really being required to load/run decently, with 2 gigs for what you really want.
If you have multiple physical hard drives, because of all the above issues, it really does pay to consolidate down to a single drive. I have recently done such a consolidation, going from 4 physical hard drives down to a single drive, and it has done wonders.
Re:hum (Score:4, Insightful)
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.
AmigaOs 3.1 is better than Windows XP and Linux (Score:2, Insightful)
Common problem (Score:2, Insightful)
My assumption is that you want to stay with Windows and not explore other operating systems (as has been suggested by other respondents), so I won't go down the path of suggesting the same.
Of course, your mileage may vary....
Because computers are complicated (Score:3, Insightful)
Whenever someone says "why can't computers be more like $APPLIANCE", the correct answer is almost always "because computers are much more complicated than $APPLIANCE".
Forget how complicated your computer's hardware is (and I have no doubt that you've read the blurbs about how the latest Intel chip has 80 zillion transisters) and just think about the software. If you go through your computer and you find all the files whose names end with DLL, EXE, DRV or SYS, total up their size and divide that number by 8, that is (very, very roughly) the number of individual parts that makes up the workings of your computer's software layer.
All other human endeavor pales in comparison to that. You shouldn't be complaining that your computer is buggy or slow or bloated or that it takes too long to boot. You should be amazed that it works at all.
(And yes, people are working on making computers start up faster. Someday, someone will do it and it will be another huge, complicated effort that everyone will just sort of take for granted, just like they have every other technological miracle.)