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?"
hibernation?
~~~ Paf. Le chien.
There are two reasons why your suggestion won't work.
First, let's say that you upgrade some hardware. There will be no way for the OS to know that there's new hardware unless it goes through the hardware detection and configuration stages of bootup, which is what takes most of the time. Worse, if it doesn't do this, the system will probably just crash, as the memory image loaded will have the wrong set of drivers installed and they'll be pointing at the wrong set of hardware addresses.
Second, and this is more of a recent issue, there is a lot of work that's going into randomizing memory addresses to increase security. In the event of a security hole, randomized memory addresses make it far more difficult to take control of the machine as a hacker, virus, or worm can't use a hard-coded memory address during the attack. With a pre-built boot-up image, the memory addresses will not be randomized, which defeats a lot of the gain of this security benefit.
That said, you could just use hibernation on your computer. That is essentially the same thing as what you're asking for. A desktop is just as capable of sleeping or hibernating as a laptop is. The only thing is, if you want to make any hardware changes, you must remember to turn on the machine and do a complete shutdown first.
Also, there are companies who are focusing on bootup speed. In fact, every major Linux distro has been focusing on it for the last year or two. It's unfortunately just not that easy to speed things up without sacrificing stability or functionality.
That's one of the things that always amazed me about OS X. You can fault it for various reasons, but by god, you shut the lid on your iBook, and five seconds later, it's in zzz mode (with a battery life of about two weeks - I tested that once). Open the lid up, go "one, one thousand..." and it's awake and ready to use. I've tried this on some of the newer Intel-based MBPs and regular MBs, and it works just as well. So Apple has it dialed. What gives with the rest of the computing world? My stupid Latitude has such a buttfargled ACPI that windows goes "Derr, BSOD" when I try to use hibernate, and of all the Linux distros I tried on it, only Kubuntu came close to doing it right. The problems it encountered at wake-up were sufficient that I finally gave up on hibernate (as well as Kubuntu - on to a better KDE distro), and simply have it blank the screen when I flip the lid shut. It's good for about four hours that way, which is usually enough.
political_news.c: warning: comparison is always true due to limited range of data type
same with my ibook g4, i just put the lid down and walk away. it always wakes up. on the powerbook hd, and macbooks (incl pro), sleep actually stores a hibernate image on the disk so that if you either 1) run out of battery or 2) manually pull the battery out (lets say on a long intl flight) and put in a new one. If you do a wake when you haven't killed of the power source (99% of the time really), it uses the RAM to continue operation. If you've disconnected power for whatever reason, it will wake up, present a little loading bar (incl a screenshot of your desktop if you don't require a password to unlock your computer from sleep/screensaver). Heres an Apple doc on it: http://docs.info.apple.com/article.html?artnum=302 477
I always wondered where this setting was...
The CRT filament-maintenance bias trick was done for awhile in the 60s and 70s, but it was eventually recognized for the waste of energy that it is. What happens nowadays is simply that the rest of the signals are not applied to the CRT until the cathode has warmed up. This improves the tube's service life, and avoids the "expanding dot" effect that you'd see on older TVs that brought all the tube voltages up at once.
Linux on an embedded system configured for fast booting(without plug and play peripherals etc) can boot in 2 seconds or so.
Engineering is the art of compromise.
According to Anandtech, booting with the i-RAM into Windows XP takes 9.12 seconds.
CRT TV's turn fast because the tube has a bias circuit to keep it warm. When turned "OFF" most TV's burn about 5W to keep the tube warm for fast start.
No, they do not "keep the tube warm". Yes a TV might draw a few watts when in "off" mode due to the power supply for the digital logic section always being on. But just about every CRT based TV or monitor I have seen, except for maybe some real high end broadcast equipment, takes a few seconds for the tube to come up.
You definitely weren't around in the 60's and mid 70's when we watched the tube warm up and the displayed image grow from a small dot to the full size of the screen. Sometimes it would take 20 or more seconds before the picture stabilized. When you turned the TV off you got to watch the "boot" process in reverse as the display shrunk to a dot. It was a big deal when we got "instant-on" TV's.
Well yes, TVs used to take longer to fully power up, and didn't have dampening circuits to prevent CRT display after being turned off. They where basic fully analog devices, there was no logic that prevented the display of an image when the CRT was not yet in an operational state. In the 60's they would have been vacuum tube based (as in the whole TV, obviously a CRT is a vacuum tube) and taken a long time to fully warm up, and needed adjustment and retubing on a regular basis. In the 70's they would have been transistor based, and would have come up much faster, how ever they would still be fully analog and subject to the same power up and power down effects.
Modern TV's have digital control sections that can compensate on the fly for variations in the analog sections of a CRT display, and higher performance switching power supplies and fly-back circuits that come up to operating voltage much faster. But you still have at least a short wait for the CRT to come up, they are not kept on warm idle of any kind. At least not in any displays I have worked on.
I know this is probably getting off topic, but your post was marked +5 informative yet has miss information in it. Having worked on many CRT displays I just wanted to point out that the CRT is definitly not kept on any kind of warm stand-by, none that I have ever seen any way. What you are describing sounds similar to the stand-by mode in most guitar tube amps, where the heater filaments in the tubes are kept on to keep the tubes warm but the rest of the amp is powered down. I am not aware of this being done in modern CRT displays. Seems to me that if you did this it would dramaticaly shorten the CRT's life span, if the heater filaments were on 24x7x365. Someone correct me if I am wrong...
It's called "auto end task", and it's just a couple settings in the Windows registry. I've been using it successfully for a VERY long time now, and it works exactly as you'd want:
http://www.winguides.com/registry/display.php/199
If the program doesn't end (30 seconds) after it gets the kill signal, it gets killed without requiring you to be there to hit the button.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant