We’ve all been there your computer won’t respond to mouse clicks, the keyboard on your smartphone has stopped working, or your game console suddenly gets stuck in “Perma screenshot mode” (read: frozen).
Fortunately, there’s often an easy fix for these catastrophic crashes turn it off and then turn it back on again and then often times the issue has mysteriously vanished like sleeping off a night of heavy drinking… But, why does rebooting or at least restarting a problematic program seem to be some kind of magical “cure-all” for your technology?
Well, it comes down to the fact that most computer freezes happen because of some kind of mishap that your system can’t recover from on its own. Think of it this way suppose you’re on a road trip and you see that the road is blocked off ahead because a truck overturned and spilled 5 tons of thumbtacks… But that doesn’t pose a problem for you since you can just take the nearest exit to navigate a few back roads and then get back on the highway a short while later! But then let’s say later on you come across a collapsed bridge that’s the only way to access a river for hundreds of miles on either side… unless you somehow figure out a way to your wagon and float it across without losing a hundred pounds of buffalo meat you don’t have any choice but to turn back around the way you came and start down a new path.
Computers work similarly when they encounter a problem if the issue is more minor your system might be smart enough to work around it on its own. For example, if you’re using a wired Ethernet connection and your adapter starts to misbehave it can transition over to Wi-Fi no problem so that you can carry on computing kind of like the thumbtack truck example.
But in more serious cases like the collapsed bridge, your computer simply can’t find a way through or around once they occur and it has to start back at square one. Sometimes code is written in a way that whatever program you’re running expects some resource it’s using to be present and behave a certain way.
A good example of this is certain blue screens of death in Windows such as the infamous “PAGE_FAULT_IN_NONPAGED_AREA” which in layman’s terms means that Windows was trying to access a piece of data in memory that simply wasn’t there and the code doesn’t know what to do next, kind of like when you encounter a vaguely worded Exam Question on a topic you didn’t study.
In this case rebooting forces the windows code to reload from the very beginning getting your system functioning again but even if your computer isn’t hopelessly stuck in a blue screen it may be running very sluggishly due to a temperamental individual program, badly written code can be stymied when it encounters an unexpected problem like in the Windows example, or certain conditions can cause it to run in what’s called an ‘infinite loop’ like that like a trick Dictionary that keeps sending you back and forth between two words.
Loops can hog lots of CPU time on your computer since the program won’t stop and they can also make it difficult to force quit the program meaning that a reboot can break the loop and get you running again so that you can angrily uninstall the offending application.
Even applications that are behaving more or less normally can open up background processes that can hog memory or CPU cycles or be affected themselves by other malfunctioning programs so a reboot will kill those processes and when your system starts back up only what it normally loads will be present in memory, and since errors that programs simply aren’t smart enough to recover from or so common turning it off and turning it back on again has become one of the key components of becoming your family’s resident “IT expert” along with the basic ability to search Google for troubleshooting tips.