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.
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. :(
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.
Your breakdown is correct: I'm glad I scrolled down instead of starting my own thread.
* BIOS boot) This takes time because it's in a minimal feature mode, BIOS RAM is quite expensive to deal with. And it's looking for a load of ancient cruft you don't have installed. BIOS's are some of the buggiest, nasty, proprietary, vendor specific, burdened with workarounds crap you will ever see. The fix is simple: open up the BIOS and clean out all the stuff you don't need on that motherboard. LinuxBIOS does _exactly_ this, which is why the OLPC project has incredibly fast BIOS load times. I really wish motherboard makers would take the hint and sell their features, instead of wasting their engineering time re-inventing the IBOS and continually getting it wrong.
* OS boot) This is also a problem. People keep re-inventing the wheel here as well, and never quite getting it right. Every OS and boot-time software loader needs to deal with a huge stack of dependencies, assuring that the startup tools occur in the right order and negotiating their own requirements, each in their own way. And every one has to deal with the manufacturer's ideas, and the legacy work of the previous OS's, and the legacy of other critical software. It's a mess. And it's not just the kernel, it's the video drivers, the network drivers, the various web servers and update tools and debris.
Fortunately, it's easy to optimize. Modern operating systems are multi-threaded, and a lot of it can be set to low priority as long as the dependency chains are well documented and clear. Network is needed to get your DHCP hostname and start up your X server, or your web server, or your shared network drives? Then network comes *FIRST*, or very, very early. And that relies on detecting your network ports, correctly. That means USB and PCI and built-in drivers need to be detected and loaded, which takes time.
* App level) Here is a the remaining mess, as you mentioned. And it's a mess. X and displays won't run without the hostname set? Then you did something wrong, as the developer. They should be configured for localhost, not an unstable hostname. You need to reboot to load a patch? Then you usually did something wrong. It should be configurable in userland, and not force resetting of your system boot procedures.
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.
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?
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!
Yeah, but as you add more types of hardware it starts to get messy.
:).
;).
Say if you had two SCSI controllers and they both decided to use CTRL-A to enter their config screen.
You hold CTRL-A down, power on the machine and instantly you see the first SCSI controller's screen. No way to configure the second SCSI controller
You press escape, the machine reboots (that's what they all do, it appears easier to do than going to the next boot step) while you're still holding ctrl-a down and you see the first controller's screen
In theory someone (e.g. Intel) could create some new fancy standard where all compliant devices never wait for human response on booting, and in order to configure them you must hold down some key on boot to launch a super menu, that can itself launch the appropriate firmware "config" routine.
That'll be nice. I hate waiting for all that crap when booting up servers. But I don't have a big enough stick to make Adaptec and friends do things differently.
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.
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
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.
I think there is something wrong with your setup then. I've had XP machines, domain bound, running Norton Anti Virus(!) boot, login and play the chimes in ~25 seconds on thinkpad t41s with the other minitray icons up within 10 more seconds.
If you have a long delay between logging in and ANY desktop activity, it's an AD/GP issue, and a 1 line fix. Especially if it's not an issue until you've bound it to the domain.
Having possibly tantalized you with that identification of your issue, I will now not post the 1 line.
Go go consulting fees!
(I'll bookmark this so I can find it later if you want to reply)
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.
That'll be nice. I hate waiting for all that crap when booting up servers. But I don't have a big enough stick to make Adaptec and friends do things differently.
SCSI option ROMs are the worst. Not only do they take FORever, they also often enough manage to conflict with PXE so that you cannot netboot at all. (I have good reasons to netboot a machine w/ SCSI drives).
Of course, in general, BIOS waste a LOT of time. Coreboot (formerly LinuxBIOS) is inevitably 10 times faster at least.
20 second boots cannot happen when the BIOS wastes 90 seconds itself.
Of course, while they're at it, they might consider smarter default configurations. Some BIOS support serial console redirection but default it to disabled. Let's see now, if I don't need it, I can turn it off easily using keyboard and monitor, but if I *DO* need it, how am I supposed to enable it?
Halting on an error when no keyboard is connected is silly as a default as well, especially now that hot-plugged USB keyboards are supported. Stopping on 'press any key to continue' when netboot fails doesn't make much sense either. Perhaps the boot server just took a minute to come up, why not retry?
Once they actually THINK about the use cases for the BIOS and fix the silly design decisions, then they should work on speeding it up. Once that is done, they can worry about the OS (or just quit loading so much crapware).