Ich habe den Beitrag über "Was ist Suspend".
Ich möchte jedoch genau wissen, welcheGlobaler ACPI-Statusführt das Drücken der Suspend-Taste dazu. Kann das jemand erklären?
Genauer gesagt, woher weiß ich, ob das Drücken der Suspend-Taste in Ubuntu 16.04 zu S1, S2, S3, S4 oder S5 führt? Wird dies durch Einstellungen im UEFI/BIOS oder Ubuntu oder beidem bestimmt?
Antwort1
Dies hängt von Ubuntu (und den BIOS-Funktionen) ab. Es könnte nicht anders sein, da das Betriebssystem eine Menge Dinge koordinieren muss, um einen Zustand über S2 zu erreichen. Das BIOS kann das Betriebssystem jedoch darüber informieren, dass es einen bestimmten Zustand erreichen möchte.
In Ubuntu, Linux und modernen PCs im Allgemeinen gibt es zwei Suspendierungsmodi:
Suspend-to-RAM (ACPI S3) schaltet die CPU und alle anderen Geräte aus, sofern sie nicht angeben, dass sie im S3-Modus eingeschaltet bleiben müssen. Der Hauptspeicher (RAM) behält seine Stromversorgung und hält den Systemzustand für eine spätere Wiederaufnahme aufrecht.
Suspend-to-Disk oder „Hibernate“ (ACPI S4) speichert den Systemzustand auf einem nichtflüchtigen Speichermedium, normalerweise einer Festplatte oder SSD, und schaltet das System vollständig aus. Das Betriebssystem kann das gespeicherte Systemabbild beim Neustart sehen und sich entscheiden, davon aus fortzufahren.
Heutzutage ist es für Ubuntu-Desktopbenutzer nicht standardmäßig aktiviert oder verfügbar.
Die anderen globalen ACPI-Status, die Sie erwähnen, sind:
S1 und S2 sind Zustände mit geringerem Energiesparpotenzial, aber schnellerer Wiederaufnahme. Diese werden normalerweise nicht als Suspendierungszustand betrachtet, aber ein Computer kann sich dafür entscheiden, automatisch in sie einzutreten, sobald die CPU für einige Millisekunden unbenutzt ist. Dies wird normalerweise von der CPU und dem BIOS ohne direkte Interaktion des Betriebssystems erledigt.
Die Ausschaltfunktion (S5) bedeutet genau das, was Sie denken.
(Quelle)
Antwort2
Frage 1. Woher weiß ich, ob das Drücken der Suspend-Schaltfläche in Ubuntu 16.04 zu S1, S2, S3, S4 oder S5 führt?
Antwort 1:Auf meinem System fand ich die Informationen in der Datei/proc/acpi/wakeupAuch die Befehleacpitool -woderacpitool -edieselben Informationen enthalten wie in/proc/acpi/wakeup.
Frage 2.Wird dies (d. h. der globale ACPI-Status) durch Einstellungen im UEFI/BIOS oder Ubuntu oder beiden bestimmt?
Antwort 2:Die Antwort lautet UEFI/BIOS. Es ist möglich, den von UEFI/BIOS definierten globalen ACPI-Status in Ubuntu zu ändern. Änderungen dürfen jedoch nur zu Debugging- und Entwicklungszwecken vorgenommen werden.
Entsprechend Linux/ACPI,„Die DSDT-Änderung dient nur zum Debuggen und zur Entwicklung“. Auch,„DSDT ist ein Akronym für Differentiated System Description Table. Diese Tabelle enthält den Differentiated Definition Block, der die Informationen und Konfigurationsdaten zum Basissystem liefert. Sie wird vom Betriebssystem beim Booten immer in den ACPI-Namespace eingefügt.“.
EntsprechendIntelOpenSource.org Linux*-ACPI:
Die DSDT (Differentiated System Description Table) ist die primäre AML-Tabelle im BIOS. Gemäß der Beschreibung von acpidump kann die DSDT aus der Maschine extrahiert, die ASL geändert und eine neue AML-DSDT kompiliert werden. Die folgenden Abschnitte zeigen zwei Möglichkeiten, Linux anzuweisen, diese geänderte DSDT anstelle der mit dem BIOS gelieferten Version zu verwenden.
Beachten Sie, dass das Überschreiben des DSDT nur eine Debugging-Technik ist. Es ist keine praktikable Methode, um ein Produktionssystem zu betreiben, da kein Anbieter ein System unterstützen würde, wenn der Kunde die Systemfirmware geändert hat, und kein Linux-Distributor könnte geänderte Systemfirmware unterstützen.
In den frühen Tagen von Linux ACPI waren DSDT-Modifikationen üblich, um sowohl BIOS- als auch Linux-Bugs zu umgehen. Das erklärte Ziel des Linux ACPI-Projekts heute ist jedoch, dass Linux auf unveränderter Firmware laufen soll. Daher ist die DSDT-Datenbank auf der alten acpi.sourceforge.netDie Website ist heute größtenteils ein historisches Artefakt.
Für ein detailliertes Verständnis von ACPI und dem globalen Status und den S-Zuständen ist die "Advanced Configuration and Power Interface Specification" vonwww.acpi.info.
Antwort3
Meiner Erfahrung nach wird der Ruhezustand vom BIOS bestimmt. Auf einem meiner PCs kann der Energiezustand im BIOS auf „S3“ oder „Deaktiviert“ eingestellt werden. Bei der Einstellung „S3“ wechselt der PC in den Ruhezustand/Standby. Bei der Einstellung „Deaktiviert“ wechselt der PC in den S1-Modus, da der Lüfter des Prozessors weiterläuft. Der Ruhezustand ist immer „S4“, ebenso wie das Ausschalten „S5“.