Wenn ein Computer "abstürzt", kann dies z. B. auf einen "abrupten" Stromausfall zurückzuführen sein (in diesem Fall kann nichts unternommen werden), oder auf ein böses internes Ereignis (z. B. beschädigte Seitentabellen) In ähnlicher Weise wird verhindert, dass etwas unternommen wird, oder es liegt möglicherweise an einem Zustand, der "weitere Vorgänge" einfach verhindert - möglicherweise können keine neuen Prozesse gestartet werden, möglicherweise kann die Anzeige nicht aktualisiert werden, möglicherweise ist das System einfach nicht mehr im Speicher.
In letzteren Situationen kann das Betriebssystem immer noch in bestimmten Grenzen funktionieren und zumindest die laufenden Festplattenvorgänge abschließen, Dateien schließen usw. Wenn etwas mehr Funktionen möglich sind, kann das Betriebssystem möglicherweise die verschiedenen Anwendungen erkennen Prozesse, um sich sauber herunterzufahren.
Aber selbst wenn das System "schwer" ausfällt, haben das System als Ganzes und einzelne Anwendungen möglicherweise ein System von "Journalen" und / oder "Prüfpunkten" unterhalten, um den Zustand des Systems als Ganzes und einzelne Anwendungen wiederherstellen zu können bis zu einem "atomaren" Punkt, an dem alles "intern konsistent" ist und ein Minimum an wichtigen Daten verloren gegangen ist.
Dies alles wird nicht mit einem einzigen Mechanismus erreicht, sondern mit Funktionsebenen auf System- und Anwendungsebene.
Insbesondere in Bezug auf Stromausfälle kann eine Vorabbenachrichtigung vorliegen oder nicht, und die Vorabwarnung kann einen Sekundenbruchteil oder (bei einer USV oder einer defekten Laptopbatterie) mehrere Minuten betragen. Was getan werden kann, hängt von der Anzahl der Warnungen ab.
In den meisten Fällen ist es bei einem Desktop-System ohne USV am besten, Festplattenvorgänge "stillzulegen", damit sich keine Festplatte in der Mitte eines Schreibvorgangs befindet, wenn die Stromversorgung endgültig unterbrochen wird. Dies verhindert, dass fehlerhafte Sektoren auf der Festplatte generiert werden. In früheren Zeiten, als der RAM viel kleiner war, konnte ausreichend Zeit vorhanden sein (mit großen Kondensatoren im Netzteil oder sogar, wenn die im Rotor des Festplattenlaufwerks gespeicherte Energie zur Stromerzeugung verwendet wurde), um den RAM vor dem Einschalten auf die Festplatte zu schreiben fallen gelassen, aber diese Möglichkeit verschwand so ziemlich, als RAM größer als 100M oder so wurde.
[Und beachten Sie, dass in früheren Zeiten, als Erinnerungen mit magnetischen "Kernen" erstellt wurden, der Arbeitsspeicher von Natur aus erhalten blieb, wenn die Stromversorgung unterbrochen wurde (obwohl ein bestimmtes Wort, das bei einem Stromausfall gelesen / geschrieben wurde, möglicherweise beschädigt wurde). Dies erleichterte den alten Systemen die Wiederherstellung nach einem Stromausfall.]
Bei einer USV-ähnlichen Funktion (die zwischen einigen Minuten und mehreren Stunden zusätzlichen Strom liefert) gibt es jedoch mehrere weitere Optionen. Eine besteht darin, das System einfach herunterzufahren, als ob Sie "Ausschalten" angefordert hätten. Dies führt dazu, dass sich jede Anwendung selbst beendet und das System als Ganzes permanente Tabellen ausschreibt und herunterfährt. Dies kann lange dauern (wie viele von Ihnen sicherlich bemerkt haben). Es ist aber auch möglich, eine "Ruhezustand" -Strategie zu verwenden, bei der RAM als einzelner Block auf die Festplatte geschrieben und dann das System ausgeschaltet wird. Im Szenario "Ruhezustand" wird beim Wiederherstellen der Stromversorgung der Arbeitsspeicher genau an der Stelle zurückgelesen, an der er geschrieben wurde. Hier und da werden einige Bits ausgewechselt, und die Ausführung wird an der Stelle fortgesetzt, an der sie aufgehört hat.
Bei einigen älteren "großen Eisen" -Systemen wurde eine Halb-Ruhezustand-Strategie verwendet, um eine Notabschaltung durchzuführen: Der Speicher wurde wie oben beschrieben ausgeschrieben, aber wenn die Stromversorgung wiederhergestellt und der Speicher eingelesen wurde, trat eine Standardabschaltung auf. Dies geschah, weil einige Bits des Systemstatus (insbesondere in E / A-Controllern) nicht zuverlässig gespeichert / wiederhergestellt werden konnten, um einen fortgesetzten Betrieb zu ermöglichen.