Automatischer Neustart, wenn der Computer einfriert

Es gibt eine neue Option in der Einstellung des Energieverwaltungssystems, um "automatisch neu zu starten, wenn der Computer einfriert".

Wie funktioniert das genau?

Wie kann der Computer überprüfen, ob er eingefroren ist, wenn er, nun ja, eingefroren ist? Gibt es sonst noch etwas, das es zu diesem Zeitpunkt noch tun kann? Wird zum Beispiel ein Protokoll darüber geschrieben? Kann es immer noch Situationen geben, in denen es so eingefroren ist, dass es sich nicht selbst neu starten kann? Besteht die Gefahr eines versehentlichen Neustarts, wenn es nicht wirklich oder nur vorübergehend eingefroren ist? Dies passiert nicht, wenn sich eine einzelne Anwendung für Beachball entscheidet, oder?

Ich weiß nicht, wie es "genau" funktioniert, aber ich habe nicht gesehen, dass dies passiert, wenn eine einzelne Anwendung Wasserbälle wirft oder wenn der Computer "vorübergehend" eingefroren ist. Tatsächlich habe ich dies meiner Erfahrung nach nur erlebt, wenn der Computer eine Kernel-Panik erlitten hat, nicht einfach ein "Einfrieren" der Benutzeroberfläche, wie Sie es normalerweise denken würden. OS X war schon lange in der Lage, eine solche Panik zu protokollieren, daher nehme ich an, dass es einen übergeordneten Prozess (launchd?) gibt, der auf einen Signalaufruf wartet, der eine Panik anzeigt, und dann einen Neustart-Timer ähnlich dem Herunterfahren startet -r X' wobei X eine Anzahl von Sekunden ist.
Ich habe schon früher "Kernel Panic"-Bildschirme gesehen (und dann würde es auch eine Protokolldatei geben). Also kann es jetzt automatisch neu starten? Und umgekehrt, wird es nicht funktionieren, wenn ein Einfrieren ohne die Warnbox "Kernel Panic" auftritt?

Antworten (1)

Die Mac-Modelle, die dies unterstützen, haben einen sekundären Prozessor, unabhängig von der CPU (es ist der LOM auf Intel Xserves, SMC auf normalen Macs). Grundsätzlich kann der Sekundärprozessor einen Countdown-Timer einrichten und die CPU zurücksetzen (einen Neustart erzwingen), wenn der Zähler 0 erreicht. In der Zwischenzeit läuft ein Prozess in OS X (ursprünglich war es ein Programm namens Watchdog, aber ich denke, Launchd behandelt it now) setzt den Zähler periodisch zurück.

Wenn das Betriebssystem jemals so stark in Mitleidenschaft gezogen wird, dass launchd/watchdog/whatever den Zähler nicht innerhalb des Zeitlimits zurücksetzen kann, übernimmt LOM/SMC/etc und erzwingt einen Neustart.

Übrigens, in Bezug auf @TJ Luomas Kommentar zu Kernel-Paniken: Wenn eine Panik auftritt, ist das Betriebssystem im Grunde tot. Es gibt keine Möglichkeit für launchd, darüber benachrichtigt zu werden, da es zusammen mit allem anderen tot ist. Was passiert, ist, dass einige Informationen über die Panik in NVRAM gestopft werden (die überlebenden Fetzen des Betriebssystems können darauf zugreifen, ohne Treiber usw. zu benötigen, die alle in der Panik verschwunden sind). Nach dem Neustart wird das NVRAM überprüft und (falls zutreffend) wird sein Inhalt im Panikprotokoll gemeldet.

Danke, das ist eine viel klarere Erklärung, als ich jemals zuvor gehört habe.