Slashdot Log In
PC Makers Try To Pinch Seconds From Their Boot Times
Posted by
timothy
on Sunday October 26, @03:08AM
from the an-operating-system-called-linux dept.
from the an-operating-system-called-linux dept.
Some computers are never turned off, or at least rarely see any state less active than "standby," but others (for power savings or other reasons) need rebooting — daily, or even more often. The New York Times is running a short article which says that it's not just a few makers like Asus who are trying to take away some of the pain of waiting for computers, especially laptops, to boot up. While it's always been a minor annoyance to wait while a computer slowly grinds itself to readiness, "the agitation seems more intense than in the pre-Internet days," and manufacturers are actively trying to cut that wait down to a more bearable length. How bearable? A "very good system is one that boots in under 15 seconds," according to a Microsoft blog cited, and an HP source names an 18-month goal of 20-30 seconds.
Related Stories
[+]
Linux: Boot Process Visualization 536 comments
zigam writes "The time needed to boot desktop Linux systems is becoming an issue. That's why I recently took the challenge posted by Red Hat's Owen Taylor on the Fedora developers list and came up with a tool for visualization of the boot process. It collects performance data during the boot up and then renders an SVG or PNG performance chart. It immediately helped Red Hat developers solve some issues and I have since received boot charts from other GNU/Linux developers as well. Solaris kernel developers reported success in improving their boot process too." Update: 12/15 20:04 GMT by T : Sorry, someone decided your time was worth wasting; no more mirrored bootchart.
[+]
Linux Desktop to Appear On Every Asus Motherboard 471 comments
An anonymous reader writes "We first heard about Splashtop back in October, when the instant-on Linux desktop was announced. At the time it was a really exciting concept but Asus only rolled out the technology on high-end motherboards. Splashtop just announced that Asus will be expanding the desktop to the P5Q motherboard family and later on to all Asus motherboards. That's embedded Linux shipping over a million motherboards a month! The release also mentioned that the technology will be appearing on notebooks this year as well."
[+]
Linux: Reducing Boot Time On a General Linux Distro 354 comments
Linzer writes "In this blog entry, Fred Crozat (head of Mandriva's engineering team in France) explains in great detail how his team has been detecting and getting rid of bottlenecks in the boot process, from the early stages to loading the desktop environment, thus decreasing overall boot time. An informative tour of the nuts and bolts of the boot process and how they can be tinkered with: initrd, initscripts, udev, modprobe calls. The basic tool they use for performance analysis is bootchart, which produces a map of process information and resource utilization during boot. The final trick: preloading desktop environment files while waiting for the user to type her password."
[+]
Linux: How Kernel Hackers Boosted the Speed of Desktop Linux 380 comments
chromatic writes "Kernel hackers Arjan van de Ven and Auke Kok showed off Linux booting in five seconds at last month's Linux Plumbers Conference. Arjan and other hackers have already improved the Linux user experience by reducing power consumption and latency. O'Reilly News interviewed him about his work on improving the Linux experience with PowerTOP, LatencyTOP, and Five-Second Boot."
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.

I don't understand. (Score:5, Insightful)
Why this is still an issue in this day and age.
For example, my Mac will go from startup to login in half the time of either Vista -or- Ubuntu (not counting what happens -after- login, but as far as applications go, they're fairly straightforward), but my TV will start in a second or two. So did my old Commodore 64.
How is it that the more power we get, the -longer- this takes? And why is it that the solution always involves hardware makers? Maybe we need to look at how our operating systems are constructed instead of blaming the hardware itself.
Reply to This
Re:I don't understand. (Score:5, Informative)
On a K6-II 350, BeOS would go from POST to booted and ready to rock in under 5 seconds. Faster boot times are possible but doing so may require some big changes to how everything works.
Reply to This
Parent
Re:I don't understand. (Score:5, Insightful)
BEos and it's original hardware was the last, best hope for a solid, no B.S. modern computer that was re-designed from scratch for maximum performance with pre-emtpive multitasking.
I see it as a chicken and egg problem. The barrier to entry in the OS market is extremely tough because software manufacturers won't invest the time in porting their apps unless the hardware or OS is established, and that can't happen without the software. The OS market is well beyond it's infancy now, not that it's a good thing.
The way I see it, it would have to get much, much worse than it is now for companies like Adobe to say "hey, lets throw our weight behind this new OS/Platform." For example, if MS completely bungled Windows 7, or whatever they are calling it these days. Two failed OS's in a row, and maybe it will finally make a dent in their market share. And I don't much like apple because their hardware prices remain artifically high, due to them being the sole provider for both OS and hardware. It doesn't help that MS also makes the world standard of office suites. They will always push their own OS with it first.
The competitiveness of the PC hardware market is excellent, and many previously frustrating compatiblity issues have gone away with the advent of newer motherboards and slot standards, narrowing the hardware quality control and consistency between PC hardware and Mac hardware.
PC hardware with a new OS would be great. Apple understandibly wants to control the hardware that Mac OSX runs on, because it's much easier to assure qualtiy and provide support that way. But that support comes at a cost. What we need is an OS that runs on generic hardware that is written from scratch for lean performance, by neither of those two vendors.
Reply to This
Parent
Re:Linux can boot in 5 secounds (Score:5, Interesting)
The eee is one of the best machines for getting a fast boot time tho...
It has a bios that's capable of caching the power on state (so it doesn't have to run the normal tests every time), it has a static hardware configuration so it doesn't need to spend a lot of time probing for hardware, and it has solid state disks which don't need time to spin up.
Reply to This
Parent
Re:I don't understand. (Score:4, Insightful)
Probably the most annoying side effect of digital tuners. It has to find the stream and begin to decode it. Your old TV changed channels instantly because it was an analog tuner with pre-set frequency decoding for each channel position. The TV did no thinking, it simply is looking at a different frequency on the receiver and de-modulating it into the CRT, and all of that happens at the speed of light.
Newer tuners are all digital, and while you generally get better picture quality even on analog channels, it has to capture the analog or digital transmission, decode it / encode it and then pass it on to the LCD display. Typically there's some 'start time' involved in this. I expect that particular feature will be a selling point to differentiate TVs in the future, once they've run out of other things and the tuner hardware becomes more powerful.
Reply to This
Parent
Re:I don't understand. (Score:5, Informative)
Reply to This
Parent
Re:I don't understand. (Score:5, Insightful)
Obviously, we must stop using using pansy C/C++/Java/Ruby/etc... languages and go back to writing everything in assembler. Then boot times will rock!
Duh.
Reply to This
Parent
Re:I don't understand. (Score:4, Interesting)
Obviously, we must stop using using pansy C/C++/Java/Ruby/etc... languages and go back to writing everything in assembler. Then boot times will rock!
Duh.
Maybe you intended for a funny, but i'd rather give insightful if I had points. I can't forget the wonderful playing experience with ELITE [wikipedia.org] on Commodore 64... and those days it was all machine code!
Nowadays the philosophy is that you can afford to be a sloppy programmer and use absurd languages (VirtualBasic?) just because Moore's law will eventually compensate... given a year or two.
Reply to This
Parent
Re:I have in mind my Apple G4 Powerbook (Score:5, Informative)
Not that I usually go out of my way to defend Vista, but the Dell Vostro 1500 running Vista SP1 that I'm typing this on does exactly what you describe.
Apart from security updates - which occur usually once a month - it never gets rebooted (and reboots do take longer than I'd prefer, but have never timed it), and I always just use Vista sleep in-between sessions. It's pretty much ready as soon as I finish opening the lid, and I'm happy with that as an instant-on.
Reply to This
Parent
Re:I don't understand. (Score:5, Informative)
It's quite easy to recompile linux so it only has support for the hardware you have, it can be made to boot considerably quicker when you do this...
Reply to This
Parent
Startup Programs (Score:5, Insightful)
Reply to This
Re:Startup Programs (Score:5, Insightful)
Well, it would help if people didn't like them so much, or at least tolerate them.
Look at Steam. I hate Steam with a passion on principle, because Valve forced people to install it, and it always ran on the computer even when Valve's games did not. To this day, I still have not installed HL2 or the Orange Box on my system, and I have remained very vocal about the forced installation of background tasks. Other people complained at first, but now, all I hear from people is how awesome Steam is and how they love buying things off it, and I should shut up about it. The fact that it is there all the time, constantly doing things in the background just doesn't phase them. After all, they can simply blame their 3-minute boot times on Microsoft.
What about all the "helper" programs? Every time I install some kind of driver, there's about 3-5 system services that get added to my system. When I search for information about these services, the web pages I encounter tell me that the services are not required, but that they enhance performance, so I shouldn't disable them. Excuse me? Enhance performance? In what respect? What if I only use that part of my system once a day, but it adds about 75-100MB of data to my swap file on startup? If not done correctly, pre-caching can seriously slow down a computer, and I see that every day when I fix other peoples' computers. And yet, other people tell me I shouldn't complain about it?
I stopped using Google Chrome when I found out that it installed an automatic updater with no way to disable it, short of hunting it down and deleting the main executable. Without deleting the file, Chrome just put it right back into active use again. Chrome also used to write about 1.5 gigabytes to my hard drive every time I started it up. Why? Well, that's part of the safe browsing initiative, where the browser downloads and installs a record of bad web sites. What if I have one of those flash drives? Will an app that writes several gigs of data to the drive every day wear it out prematurely? Do the commercial developers care?
No, they don't... because home users don't care, either, or at least they don't know any better.
Meanwhile, people still ask me to fix their computers all the time, and the only thing I can do to keep boot times under a minute is disable half their software. Then, their friends tell them to buy a Mac, and all the performance problems will go away. Is that why my Mac only has Apple software installed and takes 1.5 minutes to boot, whereas my XP system boots in 18 seconds with Apache and MySQL in the background?
Reply to This
Parent
Blame OS bloat and feature creep (Score:5, Interesting)
My later Amigas typically had a boot time of 10 seconds. Full blown AmigaOS on an internal HD on the A3000. I miss them dearly.
We've managed to stav off the usefulness of moore's law by creating the world's worst software to run on them.
It's not fair to judge modern systems with those older ones however; we ask a lot more of our software and our GUI's than we once did. But there is no excuse in the way that windows configures itself by default, it sets itself up for failure by having a re-sizable swap partition on the main OS partition.
When I install Windows on a new PC, I always create 3 partitions: An inner partition of 5 - 10 GB for a fixed size swap file only, then an OS partition, then an applications partition, and defrag regularly. I can keep my machines going for many years without much performance degradation in this manner.
Even if you are scrupulous, bad software and bad uninstall jobs will eventually bloat out your system a little bit.
A little common sense goes a long way, unfortunately those who do not deal with computers for a living aren't going to know these little tips and tricks, and will continue to be frustrated. OS manufacturers, in particular windows need to set up a default OS install for success, not failure. Software manufacturers need to create very clean installs and uninstall routines. Unfortunately this is not always possible in the OS environment. It's a joint effort.
The tin-foil hatters will think that M$ is doing this on purpose so people will feel compelled to upgrade more frequently, but I don't really give them that much conniving intelligence.
--Mike
Reply to This
AHCI Firmware (Score:4, Insightful)
I just bought a new PC, and was absolutely dismayed when I activated the AHCI (SATA) firmware to discover it added about ten full seconds to the boot time. I have no idea what it performs during that time (some kind of calibration? I sure hope it's not a stupid just-to-be-safe timeout).
Conversely, I have desactivated IDE support, and it has now become very hard to enter the BIOS since the initial screen goes by so fast. I get about a quarter of a second to press the right key.
The usability of the BIOS is exactly the same as it was ten years ago. It's a shame no progress has occurred in that area in such a long time. I want it to go as fast as possible when everything is settled, but I also want to be able to pause and look at everything step by step while I am installing hardware. Apparently no one cares about that. :(
Reply to This
3 stages to tackle.. (Score:5, Informative)
Yup, it has always irritated me that the faster my system gets the more I need to wait for it..
There are IMHO 3 levels to this:
1) BIOS boot. Why the hell do I need to wait for this? I don't need the advertising, thanks, and a state check is BS if it worked before - flag and repeat. The maximum allowed delay should be to show a 2 sec message "Press F1 to enter BIOS or re-scan" - and even that one should be able to switch off. I recall reading something about an Open Source BIOS having to be slowed down because it was ready before the disks had spun up - yes please!
2) OS boot. The actual core OS is again something that, once stable, changes very little. Or so goes the theory, with the incredible amount of patching going on in Windows there is indeed a need for re-scan. But that again is something you do once, then skip the proooooooooooooooooobing for something that *may* be there but doesn't respond in teh half century timeout that it has been given. I can recall something called TurboDOS for the Apple ][ that was a good 3x faster, mainly because someone had brought the timeouts back to something sane.. What I find particularly offensive is the Microsoft marketing department forcing a visible desktop that makes it appear the machine is ready, where any enterprise build will take more than it takes to get a coffee before it is finally really is, even after defragging the disk. That's at least something I find less of an issue with Linux. However, these days there is an awful lot of crap that has to be loaded for no apparent reason - maybe time to lift the covers and go back to basics?
On the Linux front an observation aside: once upon a time, Linux booted in seconds even when the then Worries for Workgroups was already starting to get obese. This speed advantage no longer exists other than that a ready desktop really IS ready :-(
3) App level boot. Once the OS is live, all these other gadgets become alive. There is a whole raft of things that sit and watch for events these days, and most of it does so surreptitiously. Picasa shows a logo and tells you it's watching for events, but the iTunes crap hides, ditto for the Apple update. Once upon a time you could look in Windows "startup" and look at what actually loaded, but that was obviously too visible and useful and could -oh shudder- allow the customer to kill off the things they didn't want. These days, only Logitech and OpenOffice do it as intended, the rest all sits under the radar - motives?
ANY program setting up some form of monitoring should be visible, and offer the advanced user a way to kill it off. I want iTunes only to play music, and I will start it up myself hen I need it to sync - that is a choice I should be able to make. Sure, make it idiot proof but for God's sake leave an option for the non-idiots to control it (and bloody stop trying to shove Safai down my throat with every down, sorry, 'up'grade). And I don't recall ever giving permission for the Apple Update program so where did that come from? I think that is in principle a breach of computing laws to install software without authorisation..
There are so many apps that start up a background process for updates that it's a miracle there's bandwidth left for getting any work done, and starting an app starts off some more. Apple iTunes, Firefox -and each extension thereof-, Thunderbird -ditto-) - the moment you start them the hunt for updates begins. "Stable" has been replaced by "perpertual beta" - and we know who started that (yes Redmond, it's you). I can recall where especially an OS patch was A Big Deal. The fact that someone does this monthly (and now doesn't) should not blind you to the fact that it once was an exceptional event rather than rule.
And then there is the way network events are treated: synchronous. Start Outlook and watch the system die while it waits for some sign of life from the server (and then continues this throughout the day). Watch a DNS lookup freeze a system because the network is a bit slow (Linux: just as bad). Try to gain access to a drive? Under Windows this can mean you get a SCREEN REFRESH. Yup, the desktop needs to be repainted because somewhere in its bowels it obviously puked on the screen and had to wash it off.
ALL of the above acts as a handbrake on your new "I have more power than they used to send a man to the moon" system.
15 years on - and we still need an animated hourglass.. /rant :-)
Reply to This
Usually the AV software the extends the time (Score:5, Insightful)
What I have noticed is that what is one of the major culprits in long boot times is antivirus software starting up and doing its integrity checks. Reduce this, and you will reduce times perhaps by five minutes on some machines. However, with Windows, I doubt AV makers could do it without reducing security though.
Reply to This
When rebooting, shutdown time is important (Score:5, Insightful)
What really gets me is not just the boot time but the shutdown time. Especially because I often reboot (shutdown time + boot time).
When I tell my PC to shut down, all it really needs to do is make sure that no files are currently being written to disk, force a dismount of all drives, and then cut the power. Everything else is bad programming, as far as I can see. Why does the network have to shut down? Why do a whole load of separate processes have to be given signals? Why does KDE need time to save settings (it should have already saved them in real time)?
If the computer is not doing anything, a clean shutdown should take no more than a second, and yet it can take much longer.
Reply to This
my 5 second startup (Score:4, Interesting)
I got sick of these outrageous boot times a long time ago.
here is how i fixed it:
I have an old IBM PS/1 that i picked up in the early 90's. (for the kids: 386 processor, 2 megs of RAM)
When I turn it on, the system is usable in about 5-10 seconds.
I can have a word processor open AND be typing away happily within 15 seconds of hitting that button.
now it takes me a minute to load my OS, and another 20 seconds before my word processor is usable
what the hell happened?
Reply to This
8 bit (Score:4, Interesting)
My Sinclair ZX Spectrum is ready in less than 2 seconds. Now I have made an ethernet card for it, I can be on IRC within 5 seconds of power up!
Reply to This
Re:So... (Score:5, Insightful)
Boot time is a pain that we have had since the first IBM PC was released. And it's not only boot time but also shut down time that can be painful.
And for networked PC:s with a roaming profile you will get raped in boot time whenever you have a large profile for some reason.
Some of the time that it takes originates from the "need" to count memory and some for waiting on a bunch of devices to initialize and start. No parallel tasks during startup at all.
Only computer with a decent startup (under a second) that I have experienced was a computer with a ROM Basic interpreter, but then, that's a completely different animal.
Reply to This
Parent
It's the time it takes for a human to notice (Score:5, Interesting)
Actually that is one of the reasons why things are still slow in general - because though CPUs and hardware get faster and faster, we're still living in a human world. So the "human notice" times remain important.
Lots of programmers have their programs wait for one second if they have to wait a minimum time for hardware or for other reasons, after all most seem to think "it's only one second".
A few 1 seconds here and it all adds up.
Silly? Maybe in many cases, BUT often you really do have to wait in seconds because it says "press ctrl-A for SCSI controller config" and so if the computer does not wait _seconds_ for the human and only waits _milliseconds_, the human is also going to be pissed off.
For a similar reason a windows PC can't boot faster than the X seconds for you to press F8 to enter "Safe Mode". Well it can, but it'll have to be "hold F8 down while booting", and that means some changes in the keyboard hardware and config stuff, some user education etc etc.
Also often the threshold for determining that something has gone wrong is more _human_ related. Say a hard drive has gone slightly flaky and takes a bit longer to spin up for whatever reason.
How long will a human wait for a harddrive to spin up? Pretty long in many cases. Even if it takes 30 seconds, they might still wait.
The BIOS could just assume it's dead, after all it's not behaving like a _normal_ hard drive. But the specs for _failure_ are often human related - they are determined by how long it is expected that a human will wait.
It's just like network connectivity timeouts are in the order of tens of seconds. Instead of say minutes. A tree might be willing to wait minutes or even days, but most humans don't want to wait minutes.
They're not in the order of milliseconds because the speed of light is too slow (light takes more than a few milliseconds to cross the world) and people are willing to wait seconds.
Reply to This
Parent
Re:So... (Score:5, Interesting)
This is sooo close to the overall truth to why Windows (and Linux) take so long to boot.
The systems in the DOS world were hard-coded via boot / initialization files to load exactly the hardware drivers for the hardware configured in the machine. Hardware was hand configured by a person, set to IRQ/DMA/Memory addresses that were generally accepted as appropriate, and conflicts were reconfigured manually. The autoexec.bat and config.sys files were manually tweaked by hand to reflect the different cards - and Boom! it all loaded lightning fast because it was simply following instructions - computers do this very well.
Current OSs have a gazillion different permutations of hardware that could present when they boot each time and they have the drivers for all the hardware present. They interrogate the hardware, every subsystem they can find on the different places that could have hardware and then one by one they load the different drivers for the cards, dynamically allocate the hardware (Plug n Play) with IRQs and DMAs and Memory locations and try it out to see if it works, try again if it doesn't. But it's a matter of 'Hello PCI slot #1 - what kind of card are you?' and then negotiating the drivers, hardware allcations, etc. That's why you can install the drivers for two different video cards, and each time you shut down / restart the system you can swap the video card for the other one and - the system boots up and works nicely - that's one nice benefit, the other benefit being that it's "easier" for the common user to get a system up and running.
The above is the reason that ultra-fast hard drives don't really make much difference in boot times, why stripping out processes make some but not a ton of difference - because the hardware interrogation / allocation / driver load process is not a particularly quick endeavor.
If we had a way to hard-code the list of hardware, and even the resource allocation (IRQ / DMA / Memory locations / etc) that the computer is running and guarantee to the OS that it is the same each time the system boots - that OS could boot a LOT faster than current systems boot. It might possibly be a way to boots that are faster than restoring a 'hibernate to disk' session because a 'hibernate to disk' session has to restore the complete system state regardless of system state, meaning it actually has to populate the entire system state including swap file, etc. A hardware boot with a predefined system configuration can configure the system and load the drivers for the base OS, leave the rest of the system basically uninitialized for use by programs as they allocate the memory once the user logs in and starts running programs.
It's one step backwards, and three steps forwards. Worth it? If someone decides so - go for it (just give me credit for the idea - that's how GPL works, right?)
Reply to This
Parent
Re:So... (Score:5, Insightful)
I don't mind boot time so much - what really gets on my nerves is when a machine comes on, pretends it's ready but is then maybe five minutes doing other stuff before you can actually use it while you stare at the screen and frustratedly try to click on things. That's especially bad in the roaming profile scenario you mentioned.
That's perhaps the worst part, as most people that have no idea of how a computer works will start clicking on progran after program, thus starting yet another parallel process that adds up to the rest. And parallel processes take more than the same ones in series because of memory/disk seek times and the need to share a common pipeline.
I always try to encourage people not to "start" after the screen appears, but after "the red light goes from always on to scarcely blinking". Of course most people ignore the advice and press things frantically till they end up CTRL-ALT-DELing and thinking it did the trick.
Reply to This
Parent
Re:Why don't more people use standby? (Score:5, Interesting)
> I've been using standby/sleep extensively on my desktops and laptops for the last 10 years,
> and I still can't understand why people with a modern machine don't use standby.
Because it still doesn't work for everyone. I tried it a month ago, followed the instructions in the suspend HOWTO, made that suspend script and ran it. The machine suspended, but didn't resume - everything spun up, but looked dead. Sure, it might be easy to fix, but doing so would entail poring through hundreds of forums posts written by clueless idiots for that one little bit of information, followed by dozens of reboots for test-fail-retry cycles. I might get around to it, when I have a month to spare. Many things on Linux [don't] work like that...
Reply to This
Parent
Re:Forget computers, how about everyday electronic (Score:5, Funny)
Reply to This
Parent