it-swarm.com.de

Wie kann das Betriebssystem den Akkuladestand ermitteln?

Selbst wenn wir das Standard-Betriebssystem entfernen und ein neues installieren, kann es mit der Batterie interagieren. Gibt es Treiber dafür? Wie funktioniert es?

34
green

Das Betriebssystem ist mit der Firmware eines eingebetteten Controllers verbunden, der Teil des Advanced Configuration and Power Interface (ACPI) ist.

Wikipedia definiert es als:

In einem Computer bietet die erweiterte Konfigurations- und Stromschnittstelle (Advanced Configuration and Power Interface, ACPI) einen offenen Standard, mit dem Betriebssysteme Computerhardwarekomponenten erkennen und konfigurieren, die Energieverwaltung durchführen, indem beispielsweise nicht verwendete Komponenten in den Energiesparmodus versetzt und die Statusüberwachung durchgeführt werden . ACPI wurde erstmals im Dezember 1996 veröffentlicht und soll Advanced Power Management (APM), die MultiProcessor-Spezifikation und die Plug-and-Play-BIOS-Spezifikation (PnP) ersetzen. [1] Mit ACPI wird die Energieverwaltung unter die Kontrolle des Betriebssystems gebracht, im Gegensatz zu früheren BIOS-Systemen, bei denen plattformspezifische Firmware zur Festlegung der Richtlinien für die Energieverwaltung und -konfiguration verwendet wurde.

Intern kündigt ACPI die verfügbaren Komponenten und ihre Funktionen dem Betriebssystemkern mithilfe von Anweisungslisten ("Methoden") an, die über die vom Kernel analysierte Systemfirmware (Unified Extensible Firmware Interface (UEFI) oder das BIOS) bereitgestellt werden. ACPI führt dann die gewünschten Vorgänge (z. B. die Initialisierung von Hardwarekomponenten) unter Verwendung einer eingebetteten virtuellen Minimalmaschine aus.

Die Antwort ist dann, dass eine Schaltung oder ein Mikrochip in das Motherboard eingebettet ist, das selbst ein Mikrobetriebssystem enthält, das einige Dienste über die Computerfirmware - UEFI oder BIOS - zur Verfügung stellt. Es steuert viele Aspekte der Energie- und Geräteverwaltung.

Das Betriebssystem des Computers verfügt über einen Systemtreiber, der für die Schnittstelle mit ACPI vorgesehen ist. Sobald ACPI aktiviert ist, übernimmt es die ausschließliche Kontrolle über alle Aspekte der Energieverwaltung und Gerätekonfiguration.

In vielerlei Hinsicht ist ACPI ein Betriebssystem hinter Ihrem Betriebssystem, mit der Ausnahme, dass es mit dem Motherboard geliefert wird und nicht unter Ihrer Kontrolle steht. Es gab Stimmen, die es mit einem trojanischen Pferd verglichen und es als Sicherheitsrisiko bezeichneten. Möglicherweise ist es deaktiviert, aber einige Computer booten möglicherweise nicht ohne es, und die erweiterte Energieverwaltung ist in jedem Fall ebenfalls deaktiviert.

Weitere Informationen zur Verwendung unter Windows finden Sie im Artikel Hardware-Design für Akkus und Stromversorgungssysteme .

33
harrymc

Wie kann die auf dem Computer ausgeführte Software als Ergänzung zur anderen Antwort den Ladezustand des Akkus ermitteln? Es fragt die Batterie.

Die meisten Laptop-Batterien sind intelligente Batterien , die über einen eigenen Mikrocontroller oder einen ASIC mit "Kraftstoffanzeige" verfügen, mit dem der Host über SMBus kommunizieren kann. Die Leute haben einige Beispiele rückgängig gemacht.

Der SMBus kann direkt dem Betriebssystem ausgesetzt sein oder nicht, sodass der Administrator ihn direkt abfragen kann. Es gibt verschiedene Programme wie OpenHardwareMonitor oder Speccy oder lm-sensors, die den Bus abfragen können, um Informationen zur Hardware zu erhalten.

57
pjc50

Im Allgemeinen verfügen alle Computerchips über eine Dokumentation, die Designern und Programmierern mitteilt, was sie tun und wie sie dafür konfiguriert werden müssen. Ein Zugriff auf diese Chips auf niedriger Ebene kann durch direktes Lesen und Schreiben in die Register des Chips erfolgen.

Kompliziertere Chips können mit einem Softwareprogramm geliefert werden, das als "Treiber" bezeichnet wird und den Zugriff auf das Betriebssystem oder andere Anwendungen auf hoher Ebene ermöglicht. Ihr Smartphone verfügt beispielsweise über eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API), die den Zugriff auf einen Großteil der Telefonhardware, des GPS, des Beschleunigungsmessers, des Akkus, der Kamera usw. ermöglicht. Wenn Sie eine "App" schreiben, können Sie über die API auf diese Hardwaregeräte zugreifen So wie es das Betriebssystem kann (obwohl das Betriebssystem normalerweise einen umfangreicheren Zugriff hat als ein Programm, das im "Benutzerbereich" ausgeführt wird.)

Diese Schnittstellen sind sehr gut definiert, sodass beim Funktionsaufruf des Hardware-Chips die angeforderten Informationen angezeigt werden. Der Batteriecontroller-Chip ist nur ein Beispiel für diese allgemeine Infrastruktur.

Wer den Betriebssystemcode schreibt, erhält die Dokumentation für den Chip und schreibt Software, um mit dem Chip zu kommunizieren und die gewünschten Informationen abzurufen.

Wenn Sie das nächste Mal einen "Treiber" für eine externe Festplatte, einen USB-Stick oder etwas anderes laden (oder dies geschieht automatisch), werden Sie ein wenig mehr darüber erfahren, wie die Dinge "unter der Haube" ablaufen.

2
CramerTV