It does seem like a bit of magic, doesn’t it? The computer’s acting up, you reboot it, and – poof – things are better again. At least for a while.
It gets even weirder when you achieve the same effect just by shutting it all down and pulling the power cord for a while.
A friend of mine provided a nice explanation for the power scenario, and I can speak a little bit to the magical mess that is software.
Jerrold Foutz is a friend of mine who’s an industry expert in the design of power supplies (Google “power supply design” and you’re likely to see his site in the top spot). He recently provided a very interesting write up on unplugging the power as perhaps the most effective electronics troubleshooting technique. The topic came up in a discussion some time back when I recommended power-cycling (unplugging, waiting 30 seconds, and then plugging back in) a router as a way to resolve a connectivity problem.
The fact is electronic components can sometimes get into an odd state, and as Jerry points out, power-cycling the equipment forces the equipment to reset and restart from a known good state.
The same is true for software.
Power-cycling the equipment forces the equipment to reset and restart from a known good state.
Complicated software (and what software isn’t these days?) touches lots of things on your computer as it runs. The longer it runs, the more it touches. Memory is used, released, and fragmented. Same for the disk as programs open, read, and write local and temporary files. And then there’s the hardware … video cards, network hardware, other peripherals – they’re all being accessed continuously. The result is that any of those (perhaps even all of them) can end up in states that can cause problems.
Naturally, it “shouldn’t” be that way, and the inherent quality of the software and/or hardware plays a role, but the bottom line is that it happens.
Hence, a reboot. It restores all the software to a known state.
And hence, a power-cycle. It restores all the hardware to a known state.
Well, a mostly known state. Temporary files, installed files, registry changes, and more will also remain. That’s why in some extreme cases, a reformat and reinstall can also be a recommended solution for some personal computers.
The router problem that started this discussion? Like many devices these days, it is actually a small single-purpose computer. It has internal memory that it uses to track various bits of information relating to the internet connections that traverse across it. And the longer it runs, the more likely that memory might have a problem. It could be hardware related, as explained in Jerry’s article, or something in its internal software, as I’ve outlined above. In any case, I typically have to reboot my router every couple of months.