Why do old computers ask me to manually turn the power off?

Solution 1:

Not always did computers have the necessary hardware to power down on their own. More important still, even after they had acquired this feature (mostly through the legacy ACPI mechanism), there was a long period of time, when BIOS implementations were so wildly uncompatible, that the OS was very often unable to successfully access these facilities.

Up until NT4 the "Windows has been shut down. You can safely turn off power" screen was standard, with NT5 (a.k.a. Windows 2000) the switch to ACPI poweroff became widespread, and with NT 5.1 (a.k.a. Windows XP) it became the new normal. There was still a lot of hardware, that could not be shut down by XP, so the text remained seen quite often.

Solution 2:

A blast from the past. Basically, in the "good old days", hitting the power button just cut power to the PC - there was no logic or acpi to tell the OS it was time to shut down. Likewise, there was no way for the OS to tell the hardware "OK, I've shut down gracefully so you can kill the power now". So shutting down the PC took two steps: 1. Shut down the OS. 2. Turn the PC off (often with a rocker switch on the PSU). Now I feel old.

Solution 3:

Modern PCs with ATX motherboards have a control pin in the connector for the power supply. It permits that the operating system controls the power supply, resulting in an automatic power off when the operating System is shutdown.

If the motherboard is older than ATX or the pin is not connected then the operating System can't turn off the power so it shows a message to let know the user that he can turn off the PC safely.

Solution 4:

Old and simple non-multitasking operating systems like DOS, that existed when the PC platform was created, would literally only do one thing at a time. So when DOS, for example, would read or write to the disk, it was not doing any other task. DOS is a single-tasking operating system. So unless you cut the system power off while it was writing a file, the chance of catastrophe was small. In particular if your system was at the DOS prompt, not running any other application, nothing else had to be done before the system powered off. So you could just cut it off.

Modern multitasking operating systems support the notion of background processes and services so this is far less safe. Combine that with the fact that modern OSs do a lot to improve I/O performance, such as:

  • use unallocated RAM to cache disk reads,
  • cache frequently accessed housekeeping data like directories and file pointers in RAM,
  • collect a bunch of write requests and don't actually do them when requested, but schedule them at a later time to do a bunch at once.

So for such an operating system, pretty much any version of Windows from 95/NT4.0 and up, it's necessary to tell the system you want to shut it down so it can stop all processes that could be reading/writing and flush any buffered data back to disk and make sure all housekeeping data is updated.

The notion of the operating system being able to turn the power off itself gained traction with the introduction of the ACPI standard in December 1996. This specified BIOS functions and platform interfaces for an operating system (even DOS) to turn the power off. (It's predecessor is the APM standard, released in 1992 and is different.)

Windows 95 predates ACPI by a year, and DOS and Windows are well known for backwards compatibility. So many versions of Windows support ACPI, but still work if ACPI is absent (Not sure if APM was ever supported by Windows). If ACPI is absent or disabled on a system, the operating system cannot cut power on its own, so it has to ask the user to do that.

Windows Vista was the first operating system to not work or allow install if your BIOS and hardware did not support ACPI. There are no normal consumer PC motherboards today without ACPI and the capability to turn themselves off.