The reset is one of the most popular resources when something is wrong with a computer. It seems like a holy hand, solving many problems. In fact, a multitude of memes and jokes have been made about it. But, unfortunately, not many users know what happens when they press the reset button on their equipment (desktop PC, laptop, mobile devices ,…). Do you want to find out?
Index of contents
- What is a reset or reboot?
- A little history
- types of reset
- Hard reset
- soft reset
What is a reset or reboot?
A restart, or reboot , is the procedure by which a working computer system is restored, either intentionally or accidentally. Resets can be performed in different ways:
- Cold reboot or cold reboot: Also known as a hard reboot, it is one in which the system power is physically turned off and back on, which implies an initial start of the machine. That is, it starts from the machine without power, until the operating system boots. On an IBM PC, this also involves going through POST, loading the bootloader, and having the bootloader load the operating system kernel into memory so it can boot.
- Hot reboot or warm restart: involves rebooting the system while it is still on. In this case, the BIOS/UEFI POST is not performed.
Outside of the realm of the PC, there may be machines or architectures that do things very similar to the PC. On the other hand, others could have other types of startups or perform them in a different way, for example on those computers that do not have BIOS/UEFI, such as the Raspberry Pi, etc.
You may also be interested in knowing the parts of a motherboard and their functions
A little history
The IBM 1401 is considered the first complete computer in history, the forerunner of today’s computing. It had no operating system, and very little memory, but it did integrate some interesting solutions.
Remember that in systems that used cards, booting the computer was done by pressing a start button and triggering a single execution, which was to read the punch card containing the base program. This first card then instructed the machine to read more cards which ultimately loaded a user program. By pressing this button the IBM system could be started or restarted.
This boot process became known as bootstrap, abbreviated as boot, and comes from the English phrase “to pull oneself up by one’s bootstraps” (get up by one’s own means). And hence the word also known today as reboot or restart.
You may also be interested in knowing the history of DOS operating systems
With the arrival of the IBM PC , it began to define what a cold and warm restart was, and systems where the start or power button and the reset button were separated began to be implemented, although in laptops and other teams have now merged again…
types of reset
Before I have commented on the types of reset according to the state in which the system is, if it is turned off or on at the time of the reset or boot. But, beyond the hot and cold reset, you can also differentiate between two types of reset, which are:
Hard reset
Source: Researchgate
The hard reset, or hardware reset , is the one that is done using the physical reset button of the equipment, and not through software. This means that the restart is done abruptly and forcefully, regardless of whether any processes were running, whether buffers had written data to the drive, etc. Therefore, it is not recommended unless no other method works to make the computer respond, as it can lead to problems such as file corruption.
That is, the hard reset is a physical shutdown, through an electrical signal sent to the motherboard through the reset button. This signal interrupts the power supply immediately, turns off the equipment and turns it back on, that is, it would be like a warm restart, but physically.
Also, it is important to know something, and that is that in 80×86 systems , such as the current Intel or AMD ones, a Reset signal pin is used in the CPU, and it is directly connected to the reset circuit of the motherboard, as can be seen in the image above. This circuit is simple, and so is its operation, stopping the CPU when the pin is HIGH (1).
When the machine resets, the CPU returns to known values, and this happens by resetting the registers and deleting all the information stored in the CPU registers that existed before, to return them to known values and start from scratch. These values are:
- CS = 0xFFFF
- DS = 0x0000
- ES = 0x0000
- SS = 0x0000
- IP = 0x0000
As you know, the CPU uses the values of the CS and IP registers to find the address of the next instruction to execute . The location of the next instruction is calculated using this simple equation:
Next instruction = (CS<<4) + (IP) = 0xFFFF0
The main memory word 0xFFFF0 is where a jump JMP instruction is located that redirects the CPU to execute the firmware (BIOS/UEFI) initialization code and start booting. If it doesn’t start with these known values, it could jump to any other address, and generate errors.
This address is what is known as the reset vector or reset vector . That is, the first memory location that the CPU will execute after being reset. Previously I have given the example of x86, but not all architectures are the same, for example:
- ARM: use the address 0xFFFF0000.
- MIPS: a virtual address is used which is 0xBFC00000 which is in the last 4 MB of memory.
- PowerPC / POWER ISA: use a reset vector in the direction 0x00000100 for 32-bit processors and 0x0000000000000100 for 64-bit processors.
- SPARC: until SPARCv8, address 0x00000000 was used, while in SPARCv9 memory address 0x20 is used as the reset vector. In addition, other vectors such as 0x40 for watchdog reset, 0x60 for external boot, and 0x80 for soft reset have also been added.
Other architectures may also use different addresses to start executing, but these are the most popular, so you can see variety beyond the classic x86.
Do not confuse this with hard reset and soft reset for Android or iOS/iPadOS mobile devices, as they are not exactly equivalent terms. As you know, when we talk about soft reset on a mobile device, we are referring to the same thing that I explain here, while with hard reset on these devices we are referring in many cases to restoring the mobile to how it came from the factory…
soft reset
On the other hand, the term soft reset is used to describe the reboot that is performed through the operating system , be it Windows, Unix-like, or any other. In this case, no physical button is used, but it can be done from the GUI or from the CLI of the system, that is, by means of a graphical button or by means of some command.
In this case, the processes that are in progress, which will be stopped, are taken into account. The write buffer will be flushed to write all data to prevent corruption, and all pending I/O operations will be completed successfully before rebooting. That is why it may take a little longer, but it is safer, since damage or data corruption is avoided.
However, it does not always work , since it may be the case that you have the operating system completely blocked and you cannot access the menu or the reset command. In these cases there is no choice but to do it physically…
That is, the soft reset is used as a standard reset to fix minor problems , refresh the operating system, apply configuration changes, or restore normal computer performance without causing damage or data loss.