question: Why do some devices and programs need to be rebooted/restarted when a new setting or update is applied to them?
comment: If your operating system is like a running car, it would be dangerous to replace parts while the car is running. So you shut the car off. Replace the parts, then start it up again. Basically when your computer starts, it has a chance to replace files and do other things before anything else is started and needs those parts in the system.
passages: Deploying solutions based on Reboot to Restore technology enables users to define a particular system configuration as the desired state. The baseline is the point that would be restored on reboot. Once the baseline is set, the Reboot to Restore software continues to restore that particular configuration every time the device is restarted or switched on after a shutdown.
  
  Section::::How it Works.
   Section::::Uses.
  
  Reboot to Restore software solutions were built to simplify the process of maintaining optimal system configuration of devices in a multi-user computing environment such as public libraries, computer labs in educational institutes (such as K-12, colleges, universities) or training centers, public access kiosks, and so on. Due to constant use by multiple people for a wide range of purposes, these devices become susceptible to performance deterioration and malware infiltration.
   Device independence
  
  Device independence is the process of making a software application able to function on a wide variety of devices regardless of the local hardware on which the software is used.
  
  Section::::Mainframes and minicomputers.
  
  High Level Languages, both those with and without an explicit OPEN command, to open a file, often had the ability to abstractly refer to a data file:
  
  BULLET::::- READ(11,21,END=9900) NAMEbr21 FORMAT(A20)
  
  BULLET::::- READ CUSTFILE, AT END GO TO DONE-FOR-NOW.
  
  Section::::Desktop computing.
   Cooling problems are usually obvious upon inspection. A failing motherboard or processor can be identified by swapping-in known-good parts. Memory can be checked by booting to a diagnostic tool, e.g., on Windows with the Windows Memory Diagnostic utility. Non-essential failing i/o controllers and devices can be identified by unplugging them if possible or disabling the devices and drivers to see if the problem disappears. If the failures typically only occur fairly soon after the OS is booted or not at all or not for days, that may be suggestive of a power supply problem, the failure occurring when power demand peaks as the OS wakes up any physical drives and other devices.
   Users may deliberately initiate a reboot. Rationale for such action may include:
  
  BULLET::::- Troubleshooting: Rebooting may be used by users, support staff or system administrators as a technique to work around bugs in software, for example memory leaks or processes that hog resources to the detriment of the overall system, or to terminate malware. While this approach does not address the root cause of the issue, resetting a system back to a good, known state may allow it to be used again for some period until the issue next occurs.
   There are some things on a computer which are reserved for the exclusive use of the operating system. If a program which is not part of the operating system attempts to use one of these features, it may cause a general protection fault.
  
  Additionally, there are storage locations which are reserved both for the operating system and the processor itself. As a consequence of their reservation, they are read-only and an attempt to write data to them by an unprivileged program is an error.
  
  Section::::Technical causes for faults.
   BULLET::::- Manual, hardware-based: A power switch or reset button can cause the system to reboot. Doing so, however, may cause the loss of all unsaved data.
  
  BULLET::::- Manual, software-based: Computer software and operating system can trigger a reboot as well; more specifically, Microsoft Windows operating systems are outfitted with a restart command that closes open programs and eliminate data loss due to reboot.
  
  BULLET::::- Automated: Software can be scheduled to run at a certain time and date; therefore, it is possible to schedule a reboot.
  
  Section::::Causes.:Power failure.
   Brief pauses (say up to one hour) - In general, such pauses are planned - e.g. lunchtime breaks – enabling devices to be routinely switched off. Safety-related functions are protected. On restart, the system restarts devices in a switch-on sequence and checks that they all have started up correctly. The production process is then restarted.
  
  Longer pauses (typically hours or days) – These are similar to the above but additional devices can be put into standby or switched off completely, or deeper ‘sleep’ modes can be initiated.
   BULLET::::- Memory of the currently running kernel is overwritten by the new kernel, while the old one is still executing.
  
  BULLET::::- The new kernel will usually expect all hardware devices to be in a well defined state, in which they are after a system reboot because the system firmware resets them to a "sane" state. Bypassing a real reboot may leave devices in an unknown state, and the new kernel will have to recover from that.
   Task Management Function
  
  In computer storage software, a task management function is an error recovery mechanism implemented by the software to influence and alter processing of certain commands, their sequence and so on. Typically if a command is timed out this functionality is invoked to initiate a recovery for the affected command by means of Retry, abort or reset.
   There are two primary ways to perform fault management - these are active and passive. Passive fault management is done by collecting alarms from devices (normally via SNMP traps) when something happens in the devices. In this mode, the fault management system only knows if a device it is monitoring is intelligent enough to generate an error and report it to the management tool. However, if the device being monitored fails completely or locks up, it won't throw an alarm and the problem will not be detected. Active fault management addresses this issue by actively monitoring devices via tools such as ping to determine if the device is active and responding. If the device stops responding, active monitoring will throw an alarm showing the device as unavailable and allows for the proactive correction of the problem.
   Modular devices may dynamically increase or decrease their SNMP indices (a.k.a. instances) whenever slotted hardware is added or removed. Although this is most common with hardware, virtual interfaces have the same effect. Index values are typically assigned at boot time and remain fixed until the next reboot. Hardware or virtual entities added while the device is 'live' may have their indices assigned at the end of the existing range and possibly reassigned at the next reboot. Network inventory and monitoring tools need to have the device update capability by properly reacting to the cold start trap from the device reboot in order to avoid corruption and mismatch of polled data.
   The traditional init process was originally only responsible for bringing the computer into a normal running state after power-on, or gracefully shutting down services prior to shutdown. As a result, the design is strictly synchronous, blocking future tasks until the current one has completed. Its tasks must also be defined in advance, as they are limited to this prep or cleanup function. This leaves it unable to handle various non-startup-tasks on a modern desktop computer elegantly, including:
  
  BULLET::::- The addition or removal of USB flash drives and other portable storage or network devices while the machine is running
   Unscheduled pauses (typically breakdowns) – These are also similar, but the user does not know when they will happen or the duration. Initially, devices are put into a ‘stop’ condition to reduce energy consumption. Depending on duration, equipment can be switched into further energy-saving states if required.
   Reboot to restore software
  
  ‘Reboot to Restore’ is a system restore technology that enables restoring the user-defined system configuration of a computing device after every restart. The technology helps to maintain systems in their optimum working conditions and is useful especially for multi-user computing environments.
   Unexpected loss of power for any reason (including power outage, power supply failure or depletion of battery on a mobile device) forces the system user to perform a cold boot once the power is restored. Some BIOSes have an option to automatically boot the system after a power failure. An uninterruptible power supply (UPS), backup battery or redundant power supply can prevent such circumstances.
  
  Section::::Causes.:Random reboot.
   Microreboot
  
  Microrebooting is a technique used to recover from failures in crash-only software systems. Instead of rebooting the whole system, only subsets of fine-grain components are restarted. The granularity of components is typically finer than the process level (e.g., EJB-level in Java EE systems).
  
  The goal of confining the reboot to fine-grain components is threefold: to reduce the amount of time it takes for the system to return to service, to minimize the failure's disruption to the system and its users, and to preserve as much in-memory application data as possible.
   The following example will apply only to laptops when powered by the battery. It will set the machine to sleep after 5 minutes of inactivity, put the display to sleep after 2 minutes, and spin down the hard disk after 3 minutes. Only privileged users can issue this command. If the command is issued successfully and is without syntax errors, pmset will exit silently with an exit code of 0. To verify that the system took the new configuration, issue the command pmset -g.
   System administrators at corporates deploy reboot to restore solutions to create prestige environments without the need for constant troubleshooting. They use the software to protect the system drive and allocate a separate data partition where user and application data can be stored or redirected.
  
  Section::::Solutions built on Reboot to Restore technology.
  
  Section::::Solutions built on Reboot to Restore technology.:Windows SteadyState.
   There is an inter processor link through which the processors exchange information needed for mutual coordination and verifying the 'state of health’ of the other. If the exchange of information fails, one of the processors which detect the same takes over the entire load including the calls that are already set up by the failing processor. However, the calls that were being established by the failing processor are usually lost. Sharing of resources calls for an exclusion mechanism so that both the processors do not seek the same resource at the same time. The mechanism may be implemented in software or hardware or both. Figure shows a hardware exclusion device which, when set by one of the processors, prohibits access to a particular resource by the other processor until it is reset by the first processor.
   A service that requires external validation or permission - such as a music file or game that requires connection with the vendor to confirm permission to play or use - is vulnerable to that service being withdrawn or no longer updated. A number of incidents have already occurred where users, having purchased music or video media, have found their ability to watch or listen to it suddenly stop due to vendor policy or cessation of service, or server inaccessibility, at times with no compensation. Alternatively in some cases the vendor refuses to provide services in future which leaves purchased material only usable on the present -and increasingly obsolete- hardware (so long as it lasts) but not on any hardware that may be purchased in future.
   "Random reboot" is a non-technical term referring to an unintended (and often undesired) reboot following a system crash, whose root cause may not immediately be evident to the user. Such crashes may occur due to a multitude of software and hardware problems, such as triple faults. They are generally symptomatic of an error in ring 0 that is not trapped by an error handler in an operating system or a hardware-triggered non-maskable interrupt.
   In general, memory access management is a responsibility of the operating system kernel, in combination with hardware mechanisms that provide supporting functionalities, such as a memory management unit (MMU). If a process attempts to access a memory location outside its memory space, the MMU denies the request and signals the kernel to take appropriate actions; this usually results in forcibly terminating the offending process. Depending on the software and kernel design and the specific error in question, the user may receive an access violation error message such as "segmentation fault".
   BULLET::::- APM Suspend: Most devices are powered off, but the system state is saved. The computer can be returned to its former state, but takes a relatively long time. (Hibernation is a special form of the APM Suspend state).
  
  BULLET::::- Off: The computer is turned off.
  
  Section::::Power states.:Device power states.
  
  APM also defines power states that APM-aware hardware can implement. There is no requirement that an APM-aware device implement all states.
  
  The four states are:
  
  BULLET::::- Device On: The device is in full power mode.
   The PMUs functions may become corrupt over time. If this happens, it may become unresponsive and stop performing tasks. The user may not notice the PMUs malfunctions so much as the side effects of the corruption, including:
  
  BULLET::::- Failure to turn on
  
  BULLET::::- Failure to restore from sleep mode
  
  BULLET::::- Failure to recognize connected devices (FireWire, USB, etc.)
  