Es gibt mindestens zwei Gründe, warum Sie es nicht tun können.
Erster. Der Winterschlaf funktioniert dank ACPI-Leistungszustände . Es ist nicht so einfach wie "Dump RAM auf Festplatte und Herunterfahren". RAM ist nicht alles, es gibt auch Geräte, die in ihren vorherigen Zustand zurückversetzt werden müssen. Hier schließt sich ACPI der Gruppe an. Mit dieser Funktion können Sie Geräte anhalten, wenn Sie in den S5-Status wechseln, und sie wieder aufnehmen, wenn Sie zu S0 zurückkehren. S5 bedeutet jedoch, dass der Computer heruntergefahren werden muss, sodass Sie den Computer nicht in den Ruhezustand versetzen können, ohne ihn herunterzufahren.
Der zweite. Nehmen wir an, wir haben einige Hardware, die es ermöglicht, einen laufenden Computer in den Ruhezustand zu versetzen, während er eingeschaltet bleibt. Dies führt zu einem ähnlichen Problem wie bei der parallelen Datenverarbeitung.
Computer arbeiten sequenziell. Sie führen eine Reihe von einfachen (wirklich einfachen Anweisungen wie "Diese Zahl um 4 erhöhen") nacheinander aus. Moderne PCs verfügen über Multicore-CPUs und könnten theoretisch mehrere Anweisungen gleichzeitig verarbeiten. Dies ist jedoch nicht immer möglich. Angenommen, wir haben drei Anweisungen.
- Liest X vom Benutzer.
- Multipliziere X mit 2.
- Erhöhe X um 7.
Schritt 2 kann erst nach Abschluss von Schritt 1 abgearbeitet werden, da X zu diesem Zeitpunkt unbekannt ist. Gleichermaßen kann Schritt 3 nicht verarbeitet werden, bis Schritt 2 abgeschlossen ist, da sich der Wert von X in Schritt 2 sehr wahrscheinlich ändert. Diese Schritte müssen einzeln verarbeitet werden.
Nehmen wir an, wir haben einen Computer, der Banküberweisungen abwickelt. Sie haben etwas Geld auf Ihrem Bankkonto und Sie möchten $ 100 auf das Konto Ihres Freundes überweisen. Der Algorithmus sieht so aus und muss aus irgendeinem Grund Schritt für Schritt abgearbeitet werden:
- Verringern Sie den mit Ihrem Konto verknüpften Betrag um 100 US-Dollar.
- Erhöhen Sie den Betrag Ihres Freundeskontos um 100 US-Dollar.
- Die Übertragung wurde verarbeitet. Entfernen Sie sie daher aus der Übertragungswarteschlange.
Der Computer beginnt mit der Übertragung und wird plötzlich zwischen den Schritten 1 und 2 aufgrund eines Stromausfalls ausgeschaltet.
Wenn der Computer nicht "in den Ruhezustand versetzt wurde, sondern am Leben ist", wird er gestartet und erkennt, dass etwas schiefgelaufen ist. Er weiß, dass er alle kürzlich durchgeführten Vorgänge überprüfen muss. Alles ist gut.
Wenn es jedoch "in den Ruhezustand versetzt wurde", bevor es mit Schritt 1 zu beginnen begann, gibt es ein Problem: Der Computer weiß nicht, dass ein Fehler aufgetreten ist, da er sich daran erinnert, dass alles gut war, wenn er in den Ruhezustand versetzt wurde. Die Daten auf der Festplatte wurden jedoch aktualisiert und 100 US-Dollar wurden bereits von Ihrem Konto abgebucht, aber noch nicht auf das Konto Ihres Freundes übertragen. Aber das weiß der Computer nicht, weil er nach dem Winterschlaf passiert ist.
Der Computer nimmt weitere $ 100 von Ihrem Konto und leitet sie an Ihren Freund weiter. Die ersten 100 Dollar sind weg.
Es gibt Hunderttausende von Problemen, die auftreten könnten, um ein laufendes System in den Ruhezustand zu versetzen.