Article ID: 835565
The articles set out below are articles created and/or produced by Future Publishing Limited. Microsoft is not responsible for the content, accuracy or opinions expressed in these articles.
Collapse this imageExpand this image
Prevent Windows from falling over at the slightest provocation with our essential collection of tips and techniques
Collapse this imageExpand this image
You’ve probably been there. You’re happily working away in Windows when suddenly everything freezes for no apparent reason. Maybe you’ve pressed [Ctrl] + [Alt] + [Delete] and managed to end the troublesome task and get on with things, but even if your machine hasn’t locked solid you’ve still lost at best a few minutes’ work, and at worst an entire document.
We hate to tell you this, but the problem isn’t necessarily one with your PC either – many crashes are caused by poor use of your computer’s resources, or too many program installations that took place while you left half-a-dozen other programs running in the background.
We can help you to work around these problems, instead of railing against the system and watching your PC die in a raft of blue-screen errors.
The problem with crash-protection software is that in the past it wasn't very reliable. This part of the tools industry has declined, but some programs are still available – we see if they are any use to your PC.
Better still, follow our complete guide to minimising and fixing problems that lead to the crashes. Join us, then, as we go on the quest to crash-protect your PC to the best of its – and your – abilities.
We all know that machines crash, but why? What makes them crash, and what good practice can you use to defend yourself? We’ve all experienced that shoulder-sagging moment when our machines crash, when unsaved work is suddenly lost, and when that three-hour download is reduced to nought but a waste of time and money. While these experiences may steel you for such a moment in the future, understanding what makes your machine crash can help to make sure that you never lose work again, or at least make you aware of when your machine is likely to pop up the blue screen of death. HardwareOne cause of crashes that’s usually quite obvious is faulty hardware. This sort of crash isn’t so common these days, as modern motherboards are quite particular about what you put in them. Even so, if you find your machine crashes whenever you try using that old CD-ROM drive, then there’s a chance that the hardware itself is at fault. In situations like this it can be quite easy to detect a hardware problem, especially if there’s a mechanical component involved, while at other times it can be very hard to trace intermittent crashes back to one particular piece of hardware. This can be especially difficult if the faulty component is an integral part of your system, such as memory, graphics card or the hard drive.
One area that can lead to a multitude of problems is the way individual hardware components have been configured to communicate with one another in the BIOS. If you have dabbled with overclocking you will have stumbled into the instability associated with running the processor too fast. It’s not just overheating that can cause a machine to become unstable, either – running the PCI bus too fast can cause your expansion cards to fall over, as they expect a particular timing signal to work properly.
Timing is key to getting all of your hardware to work smoothly, especially when it comes to memory. Memory timings are synonymous with performance, but you should learn to associate them more with stability – if you have your memory timings set too high for your physical memory, you’ll experience pauses as the memory fails to respond quickly enough, which will cause software to fail. If you’ve tweaked your BIOS and you’re unhappy with the stability of the machine, try reloading the Setup Defaults.
BIOS and Driver Updates
Other hardware problems can be solved by BIOS updates. This is because the specification that all hardware is built to is open to some interpretation. BIOS updates have been known to fix everything from general graphics card problems to specific problems with soundcards, so it’s worth checking the Readme file that comes with the BIOS update to see if a problem you’ve been experiencing has been fixed. It’s also worth searching motherboard chat-rooms (such as those at www.viahardware.com) to see if other people have been having similar problems to yours.
The hardware doesn’t even have to be broken – it can just be poorly designed, or it could have one or two ‘bugs’ that just happen to bring your machine to its knees. This is where drivers come in, as they sit between the software and the hardware in your machine. So if there’s a problem in the hardware that the manufacturer knows about, then there’s a chance (although not in every case) that the problem can be smoothed over with a patch or new set of drivers. If you’re being plagued by crashes and you haven’t updated your drivers for a while, this could well be the solution – 40 per cent of crashes are caused by poor drivers.
Of course, if your machine is fine at the moment, updating the drivers may actually introduce problems, or fix one problem and introduce another. This is why it’s wise to search the Web for people’s experiences of drivers (particularly graphics cards) before downloading them. As performance is a big issue with graphics cards, the drivers receive a lot of attention, and you’ll often find users recommend one set of drivers for stability and quality, and another for all-out performance. It’s also a good idea to create a back-up image of your system when you know that it is stable.
The other reason your machine will crash, and this is definitely the most likely cause, is due to software. This includes everything from the OS to the application you’re using when it crashes, and also embraces all those little programs that are running in the background at all times. There are two main reasons that software can crash - either it can’t gain access to a resource that it needs (such as memory), or it contains a bug. If an application is poorly programmed to respond to errors, then it may well crash and you may lose your work. If the OS doesn’t respond to this crash appropriately, then it could take down the whole OS, causing all the other programs on your machine to crash simultaneously.
One of the main reasons a program crashes is because it can’t obtain enough memory from the OS to complete an operation. Two things can happen at this point: the program can either freeze until the memory is released, or it can assume access to the memory and begin writing all over it. This is a particularly thorny issue because data and programs share the same memory space, so if a program writes beyond its allocated memory it could well write over program code – leading to a crash. A resilient OS that features memory protection, such as Windows XP, will prevent the program doing this, while an older OS will fall over.
Another reason programs are prone to tripping up on the memory front is that the memory becomes fragmented the longer you leave your machine on. In these instances, even though you have enough free memory, the OS hasn’t managed that memory properly, meaning there isn’t a large enough contiguous block to use. Other programs may not clean up the memory space properly. The answer in this case is to get into the habit of restarting your machine regularly. Why do applications and operating systems not respond properly in these circumstances? The reasons are numerous, and include everything from time constraints through producing faster code to just not expecting to ever be put into a particular state.
PreparationPrepare yourself for crashes by saving regularly and often, and to keep the amount of programs running to a minimum. If you need to start another application in addition to the one you’re currently working in, there’s a chance it will be starved for resources, which could lead to a crash. So save your documents before opening any new applications, and try not to have too many programs running at the same time.
Sharing code among programs means more stable code, so why do DLLs cause so many problems?
Microsoft has been backing shared libraries of commonly used code (DLLs) since their introduction in the original version of Windows. By providing a collection of commonly used functions, developers can keep code smaller and also spend more time on the important parts of their own program. And in theory these libraries work – keeping the amount of replicated code to a reasonable level, and also ensuring that there’s some commonality and continuity in the way programs look and work.
The problem is, the size of these libraries is changed when code is updated to bring in new functions and abilities; also, when specific functions are fixed to eliminate bugs. When a library is updated, some of the functions are moved around to make way for new code. This causes older programs to fall over, as the function that existed at X has now moved to Y, or it now returns a result as a different data type.
This problem is made far worse by the fact that some installations overwrite a DLL with an older (or even a customised) version, which causes other programs that use that library to fail, and usually without explanation. This is one of the reasons you should save your work before installing new software, as it can cause your applications to die on the spot. Microsoft does try to make these libraries backwardly compatible, but sometimes it just isn’t possible.
This material is the copyright material of or licensed to Future Publishing Limited
(http://www.futurenet.co.uk/), a Future Network plc group company, UK 2004. All rights reserved.
Article ID: 835565 - Last Review: 10 August 2006 - Revision: 3.3