Kann ich einen Ruhezustand erstellen / speichern, um * von * wiederherzustellen, ohne * tatsächlich in den Ruhezustand zu wechseln?

5

Ich möchte, dass mein Computer im Falle eines erzwungenen oder unbeabsichtigten Ausschaltens in den letzten Zustand zurückversetzt werden kann (offene Programme usw.), ohne dass er tatsächlich in den Ruhezustand versetzt werden muss oder meinen Computer in den Ruhezustand versetzen muss.

Ist das möglich? Windows bootet von den Ruhezustandsdaten, die erstellt werden, wenn ein Ruhezustand oder Hybrid-Ruhezustand besteht. Ist es jedoch möglich, diese Ruhezustandsdaten in Windows manuell zu erstellen / zu aktualisieren?

Gibt es ein Programm von Drittanbietern, das etwas Ähnliches erreichen kann? (ausgenommen virtuelle Maschinen) Ich brauche keine exakte Zustandsspeicherung, sondern zumindest eine Methode, um sich daran zu erinnern, was geöffnet war und sie wieder zu öffnen.

So wie es jetzt ist, schlafe ich das System (Hybridschlaf) nach 1 Stunde Inaktivität, so dass es im Falle eines Stromausfalls von den Hybridschlafzustandsdaten booten kann. Das ist in Ordnung, aber es verhindert, dass ich rund um die Uhr laufen kann, ohne mich mit gelegentlichen Stromausfällen beschäftigen zu müssen. (die viel häufiger zu sein scheinen, als sie sollten)

Enigma
quelle
3
Ohne die Verwendung einer virtuellen Maschine (die eine Momentaufnahme einer gesamten Maschine machen kann - Software) und Hardware gleichzeitig) oder eine Schicht, um etwaige Hardwareänderungen zu abstrahieren (z. B. einen Hypervisor), dies ist einfach unmöglich. Dies untergräbt die normale Funktionsweise eines modernen Betriebssystems. Als einfaches, aber bemerkenswertes Beispiel sollten Sie berücksichtigen, was passieren würde, wenn Sie bestimmte Dateien auf Ihrer Festplatte ändern und dann einen vorherigen Ausführungszustand wiederaufnehmen würden (selbst wenn das Dateisystem unverändert blieb Betriebssystemtreiber haben beim Start den alleinigen Zugriff).
Breakthrough
TL, DR: Ohne Hypervisor / virtuelle Maschine Nein . Deshalb setzen wir beide Technologien in erster Linie ein.
Breakthrough
@Breakthrough - Das ist nicht der einzige Grund. Es gibt offensichtliche Gewinne beim Energieverbrauch / Multitasking, aber ich verstehe, was Sie sagen. Warum werden die Ruhezustandsdaten jedoch nach dem Aufwachen auf einer Festplatte gespeichert, wenn sie keinen weiteren Zweck erfüllen können? Es müssen jedes Mal neue Ruhezustandsdaten erstellt werden.
Enigma
2
Die Daten werden nicht gelöscht, sodass der reservierte Speicherplatz nicht von anderen Apps belegt wird. Das Löschen (wirklich Zurücksetzen des Bits) der Datei wäre überflüssig, da sie beim nächsten Ruhezustand trotzdem neu geschrieben wird.
Martheen Cahya Paulo
1
Eine von Hardware unterstützte Lösung wäre die Installation einer USV, die dem PC einen Stromausfall signalisieren und dann den Ruhezustand einleiten kann. Ein RTC-Alarm oder ein Netzwerk-Aktivierungsmodus aktiviert das System, sobald die Stromversorgung wiederhergestellt ist
Martheen Cahya Paulo

Antworten:

7

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.

  1. Liest X vom Benutzer.
  2. Multipliziere X mit 2.
  3. 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:

  1. Verringern Sie den mit Ihrem Konto verknüpften Betrag um 100 US-Dollar.
  2. Erhöhen Sie den Betrag Ihres Freundeskontos um 100 US-Dollar.
  3. 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.

gronostaj
quelle
Gut erklärt, aber enttäuschend. Ich bin eher daran interessiert, eine ungefähre Annäherung an den letzten Laufzustand zu erhalten, wenn ich von der Arbeit nach Hause gehe, damit ich am nächsten Morgen morgens weiterfahren kann, wo ich aufgehört habe. Selbst wenn es darum geht, einzelne Zustände für alle laufenden / geöffneten Programme zu speichern, so dass sie beim Booten des Betriebssystems alle wesentlich schneller und automatisch geladen werden können.
Enigma
Funktioniert der Winterschlaf nicht genau so?
gronostaj
Zumindest jedoch speichert es auch den gesamten OS-Status und alle Verbindungspunkte.
Enigma
1
Es gibt eine API in Windows, die es Apps ermöglicht, dorthin zurückzukehren, wo sie übrig sind, aber danach Neustart dotnet.dzone.com/news/restart-windows-and-restart Demzufolge msdn.microsoft.com/de-de/library/aa373347%28v=vs.85%29.aspx Die App muss speziell für die Unterstützung des Codes codiert sein. Der erste Link erwähnte, dass es mit der eigenen App von Microsoft funktioniert.
Martheen Cahya Paulo
2

Ähnliches können Sie erreichen, wenn Sie in einer virtuellen Maschine arbeiten. Mit einer virtuellen Maschine können Sie jederzeit Schnappschüsse Ihres Computers erstellen und auf diese zurückgreifen. Dies kann mit VMWare, Hyper-V und VirtualBox erfolgen.

Keltari
quelle