PC Makers Try To Pinch Seconds From Their Boot Times
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.
I cut down on my startup time by buying a new harddrive that didn't come without all the preloaded drivers and crap and reinstalling the OS. My dell now loads in approximately 45 seconds. Which admittedly is a little more than the "optimal" 20 second time, but it much better than the 3 minutes I had to wait before.
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.
If firefighters fight fire, and crimefighters fight crime, what do freedom fighters fight? - George Carlin
There needs to be an industry wide effort to prevent startup bloatware. Why does windows let AIM install itself as a startup program without having the damn UAC complain that this is a protected area? Why does every HP come with 30 preinstalled programs in the startup? Startup items need to be protected in some way: Seriously, I love it if I installed a program and windows said, "Are you sure you want this program to start automatically with windows?" We should just kill the hardware comapnies for the bloatware they install for kickbacks.
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
Standy on desktop doesn't waste that much electricity (10-15Watt) compared to a power off mode (5Watt). With the newer power supplys, for the past 10 or so years, a powered off computer still consumes power as it needs to keep that power on/off button hot (12v or 5v, not sure). The older power supplies, the power button was a true 110/220V switch. To achieve that now, you have to use the switch in the back where the power supply is..
It's not like the user will be doing anything for the first minute after the computer starts anyway. It's merely the act of waiting and not being able to interact while it boots. Once it boots up people will still *do nothing* of importance on it.
It's psychological - the user wants to see progress. Even if it boots up and shows the desktop quickly, the user will have to wait until all the startup programs finish loading. If they can double-click on IE (oops, Firefox, since we're on Slashdot) sooner they will be happy, even if the system is only semi-responsive.
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. :(
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 netwo
Insert
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.
Considering how many users don't know that's even an option, probably most. Most of the non-technical people I know approach computers as if they were an appliance. Which means they think that most of the look of the product, if not all of it, cannot be changed. It wouldn't even occur to them that they could change it.
http://transformativeworks.org/
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.
My 10 MHz '286 running DOS 3.3 used to go from power to prompt in 11 seconds. Humans wake up. Old radios warm up. Computers boot up.
"there is something deeply wrong when text editing on a 3.6 ghz processor is anything but instantaneous." --John Carmack
The most power-efficient PC is one that is switched off and unplugged at the mains.
Perhaps more people would do this if when they switched it back on it was ready to use right then.
The sole reason most people leave their PCs on is because they want that 5-second email check to take 5 seconds, not five minutes.
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?
-I only code in BASIC.-
I'm going to have to link to an article I read a few days ago: http://lwn.net/Articles/299483/
In short it's about some Intel hackers makes Fedora boot in 5 secounds on an EEE PC, not exactly the best hardware.
It would - it has no pesky drivers or apps to slow it down.
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.
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!
Oolite: Elite-like game. For Mac, Linux and Windows
"If it took long enough for you to notice then something must have been wrong"
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.
Why doesn't every company / office apply a policy, that every desktop computer is configured to hibernate itself after e.g. one our of idling? Startup time will become meaningless and evergy savings would be huge (compared to 24/7 workstation uptimes). Personally I've never understood this boot time debate. I never shutdown my Macbook, which will wake from sleep in a second. AFAIK modern desktops are able to sleep/hibernate as well, maybe excluding some poor 3D drivers on Linux which cannot recover from sleep state. In the name of energy saving, every computer sold should be configured by default to sleep/hibernate after unused period of time, like every Mac does (don't they?).
Har har, he made a joke! It would be funny if it had even a small ring of truth to it, except he has no idea what he's talking about! Vista 64 runs all 32 bit applications Vista 32 can. The only thing it's missing is 16-bit support (and qq over that, really), and for most computers (that don't have ridiculous off brand hardware) you can get all the drivers you need.
But don't let me or the facts get in the way of bashing "M$" for the "lulz", am I right?
I'd be interested to know what the consumption would be when measured with a power meter.
My Macbook pro (battery almost 3 years old) gets about 72 hours of sleep time with intermittent wakeups for quick email via wi-fi. I would not even attempt that with my ubuntu thinkpad - unfortunately.
.
Having extra stuff installed is not a problem per se, at least not on linux or osx...
Having extra stuff loaded at startup is an issue...
Having extra stuff which cannot be removed is an issue...
On windows, merely installing something typically adds crap to the registry which has to be loaded anyway, even if you never use the program itself, there are often update daemons loaded at startup because there's no other way to keep arbitrary apps up to date and uninstall programs work on the principle of trusting the app vendor to provide a working uninstaller, and they are usually completely half assed and dysfunctional because the app vendors doesn't want their app to be removed and isn't going to assign much priority to it.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
> 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...
Why does it take the Wii a good 30 seconds to start playing a game from the time you push the power button? (I'm including in here the time it takes to acknowledge the safety warning and click through the Wii menu.) I'm sure that the 360 and PS3 are just as bad.
And (probably unique to the Wii), why do I have to see one or two more safety warnings every time the game loads?
And (definitely not unique to the Wii), why do I have to watch multiple studio logos before I even get to the start screen. The record that I found, was one game that had EIGHT studio ads!!
But, how about DVD players. My player takes somewhere in the 20 second range to load a disc and then I have usually a few (usually) skippable ads followed by 10-15 seconds of unskippable menu animations.
I'm still holding out on Blu-Ray because one recent review of a new Sony player was talking about how fast it was - 1 minute to start up - 1 minute to load the disc. That's two full minutes before even the ads start to play!
I kinda miss the 80's, when you stuck your VHS tape in and the movie started right away. Any ads? Then just rewind back only to the start of the movie and you'll never see them again. You took Super Mario Bros and put it in your Nintendo. In under five seconds, you're asked if you wanted to play with one or two people. After you make that choice, within a second you're playing the game.
Vista often powers up my laptop at 4 am from hibernate. It appears that because you can't really switch off a laptop except by extracting the battery, it's always ready to software power-on. This means that events and timed events can power it up. For example, the network card powered it up because the LAN server complains that it can't get a connection (obviously because it's powered off). I've meticulously removed all timed events and converted them to conditional events (at logon, for example), but some still remain. It's still not safe to leave it on hibernate or standby. This is behavior completely inexcusable for any OS in a laptop.
Win98SE FTW!
Well, the wish to boot fast is actually under attack from many corners. First off, if you want to boot fast you have to scrap the proprietary BIOSes, or over-intrusive BIOSes altogether. BIOS as we still have it now, is a remnant of the past. Granted the first instruction the CPU does when machine is hot-powered comes from the BIOS-owned storage. And 'owned' is the keyword here. We are still dealing with closed-source BIOSes, and they also do like to take their time.
Most of the services they provide are today irrelevant and rudimentary. So part of the solution is to minimize time spent in BIOS bootstrapping. Apple does it partially with its EFI-like OpenFirmware, and Intel has sort of caught on with their EFI too. So it is true that Apple people are living in the future. We only have BIOS because apparently someone needs it. But I am sure these folks are nowhere near the mass of people who just simply cannot understand why we still have those ancient cemented irreplaceable proprietary blobs of code on modern motherboards. Granted motherboard makers tweak their own little quirks like buggy ACPI tables etc in their blackbox-like BIOS ROMs, but then this is yet another reason to get rid of this culture. I may be idealistic, but Linux caught on, and I think BIOSes will go away soon too.
Another thing I see is research into compilation techniques and software analysis. This has a bit to do with the usual cry for "do it in assembler if you need speed". What this essentially means is that manual human labour in assembly language deems faster leaner code than that same assembler code spit out by a C compiler for instance. The truth is, the compilers are still introducing runtime overhead, which ideally they should not, especially considering that C was designed to translate into RISC/CISC fairly strictly, i.e. a sort of zero-overhead principle compared to manual assembler skills. So the solution is to make more complex compilers which will deal with overhead more efficiently. This will compensate for over-intrusive C programmers that like to abstract their software to the point where their C programs look like a mutated object oriented C++ template mess, painted with macros. I have seen it, and it does look ugly, no wonder the finite-state-machine compiler has no chance whatsoever to claim zero-overhead then.
A bit related to the above is a technique which will take advantage over parallel processes in hardware. Someone here claimed that Asus EEE starts much faster much thanks to its solid state drives, which do not have to spin up. This is simply incorrect as a reason. First, a modern harddrive spins up in a second on average, which is hardly a big deal compared to the overall boot time. Second, it is simply the inability and inflexibility of a bootstrap routine to account for this spinning-up time and do something useful while the disk spins up. This spinning-up hardly blocks the CPU, or other peripherals. So in essence, we are again to blame only ourselves as programmers who are unable to parallelize the bootstrapping efficiently. Incidentally since an Intel x86 CPU is super-scalar and benefits greatly from it, there is no reason we cannot make compilers that emit superscalar software - software that also does out-of-order execution of independent code paths in parallel.
We are just lazy. All we want is to sleep, fuck and eat. The rest comes after. Faster boot up time of our computers is not very important, it is just a small nerdish annoyance :-) There are critical annoyances like bad expensive closed-source software, and then there are the "slow boot" annoyances.
Linux actually can boot really quick. The kernel takes relatively trivial amount of time to get to 'init'. At that point, the distributions make choices in userspace that may make a distribution slow or fast to boot.
XML is like violence. If it doesn't solve the problem, use more.
I remember blowing into the Nintendo cartridges and screwing around with them for a good 15 minutes before they would work.
Close it when I'm done, it just goes to sleep. Open it when I need a quick weather map, it takes but 2 seconds to connect and fetch the map, then just close it. And it always works just like that.
Let's see Vista do that! PS Windoze really does blow chunks.
Are you really that ignorant?
I mean, seriously. I reboot my machine once a month. And I close the lid on the VISTA X64 powered machine at least daily. It's my TV, my computer and my stereo, so it actually happens, more like, 4 or 5 times a day.
But seriously... Do you NEVER really open your eyes to anything else around you, unless it has an Apple on the front.
And here's a question, which OS had the sleep / hibernate feature first? I > win95, but since I REFUSED to have a laptop until the last couple years, it was never a feature I looked at or cared about until recently.
--Toll_Free
Sounds kind of like a husband.
10 FILL MUG WITH COFFEE
20 DRINK COFFEE
30 GOTO 10
If we used ROM to hold the OS, it could boot in seconds and would be much more resistant to viruses. The cost for memory is low enough that it should be relatively cheap to design some sort of OS EEPROM, and have a slot for it to fit into the motherboard of the computer. OF course, then we would have to deal with writing OS's that are designed to run in memory.
yes, get back to me when your precious commodore supports LAN, WLAN, 3D graphics, hundreds of input and output peripherals and the literal million things that a modern PC can do
But on my 3.2 bajigahertz Pentium Dual-Quad PosiTraction(tm) Gold Edition PC that I'm typing this on:
- I don't use "hundreds of input and output peripherals". I use two. One more than I did on my C-64.
- I don't do any WLAN stuff ever. Just like I didn't on my C-64.
- I don't use anything LAN related on boot. Just like I didn't on my C-64.
- I don't use 3D graphics on boot. Just like I didn't on my C-64. Granted, I do use them when playing 3D games, but that's well after boot. And when I do use 3D graphics, I have a whole separate high-performance hardware subsystem dedicated solely to generating those 3D graphics. And guess what? My system's 3D performance is far *better* than that of my C-64's, while simultaneously delivering far *better* quality! Why can I have both speed and quality improvements in 3D graphics but not in boot time?
- I don't do a "million things" on boot. I rarely want to do more than one: select a local application which needs no LAN access and run it. Just like I did on my C-64.
So, it appears that your defense of PC boot slowness reduces to: "You're using a mouse now. That makes the 2 second boot times you got with your 1 MHz C-64 physically impossible, even with hardware that runs at THREE THOUSAND TIMES THAT SPEED and has over THIRTY THOUSAND TIMES the amount of RAM." Yeah, everything looks worse in black and white, doesn't it?
Here's the fact jack: PCs boot slow because users tolerate it. If all of a sudden PCs that took minutes to boot to a state where you could run Notepad started sitting on the shelves, guess what? Right: The problem would get solved. Very quickly. Why? Because all of a sudden there would be value to the MS's, Linuxes, and Dells of the world in doing the work required to make boot times what they should be.
This is purely and Econ 101 issue, not a technical one. It's called Gresham's Law: "Bad money drives out good". An Entity produces two PCs. One takes a second to boot, one takes two minutes to boot. Suckers I mean Customers accept either because they don't know any better, and once booted they both do pretty much the same thing anyway. Entity realizes this, and thinks to itself, "Hey, why are we busting our humps doing good work (1 second boot) when we can do shoddy work (2 minute boot) and sell just as many units at the same price?" That thinking immediately get translated into company policy to spend no effort worrying about boot time, and soon everybody has slow boot times.
But what can the sucker that *does* want non-slow boot times do? Pretty much nothing. A well-done, higly-publicized, up-to-date "consumer reports style" comparison of boot times of all currently available systems*OSes*configurations (I'm looking at you, Tom's Hardware) could conceivably force enough of a shift in the "fast and slow have equal value" situation to make it worth vendors' time to spend some effort on improving boot times, but I wouldn't hold my breath.
There is a reason for this "sloppyness": hardware is cheap while developer time is not.
Unless that developer is waiting for his machine to boot. Then, apparently, said developer's time is without cost.
On a modern system, 98 boots up in less than 10 seconds.
Vista, almost a full minute plus.
98 can do almost everything Vista can do (If Microsoft even bothered to make the effort,) so what's the difference?
DRM, HUGE and horribly unoptimized and sloppy code, and last but not least, crap drivers written by third parties.
The last problem will fix itself as devs get used to the way Vista handles everything. the first and second will not go away anytime soon.
If computer makers REALLY wanted boot times under 30 seconds, they'd drop Microsoft altogether, because there's no way a default Vista install will take less than 45 seconds.
MinuetOS, OTOH, with proper tweaking, boots in under 3 seconds (under 5 seconds by default options.) and I've been able to get everything working under it (minus games and MS software, of course.)
Most of the problem lies with the OS manufacturer. Eliminate that factor and you're set to speedy computing.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
"It's not about booting faster, it's about booting in 5 seconds."
http://lwn.net/Articles/299088/
http://lwn.net/Articles/299546/
or a bit more involved:
TCCBOOT compiles and boots a Linux kernel in 15 seconds
http://lwn.net/Articles/108341/
Heres my system specs:
-intel q6600
-asus p5q deluxe
-4 gigs of ram (gskill)
-old harddrive from 2003ish (one i bought failed)
-windows XP pro (runs in selective startup)
My boot time is 22-26 seconds, even with my old junker hard drive, with a new one I expect that number to drop. You just need to turn stuff that you dont use off. I'm considering using a solid state disk for the OS, and a traditional high capacity HD for apps. I think that will help drop it atleast 4-5 seconds, but I dunno.
In about 1985 I was able to reboot my MS-DOS computer in eight seconds. My TSR ran at the end of AUTOEXEC.BAT and stored an image of all lower memeory into an L.I.M. RAM card bank. Press Ctrl+Alt+Ins and the TSR would reload lower memory from the RAM bank. Eight seconds to reboot.
Linux suggestion: save ASCII config file timestamps and corresponding kernel structures. If the ASCII config file is unchanged, then reload the internal structure without any recomputation.