Was sind die Funktionen des BIOS, während das Betriebssystem ausgeführt wird?


78

Ich habe mich immer gefragt, ob das BIOS (abgesehen von der Durchführung des POST, dem Starten des Bootloaders und der Übergabe der Steuerung an das Betriebssystem nach dem Drücken des Netzschalters) einen Zweck oder eine Funktion hat, während das Betriebssystem ausgeführt wird?

Kommuniziert das Betriebssystem während des Betriebs mit dem BIOS und wenn ja, wie?


Antworten:


72

Mit modernen Betriebssystemen praktisch keine . Berichten zufolge hat Linus Torvalds die Aufgabe, "nur das Betriebssystem zu laden und die Hölle loszuwerden".

Ältere Betriebssysteme wie MS-DOS verwendeten das BIOS für viele Aufgaben (z. B. Festplattenzugriff), indem sie Interrupts aufriefen.

Bei modernen Betriebssystemen wechselt der Bootloader schnell in den 32- oder 64-Bit-Modus und führt den Betriebssystemkernel aus. Der Kernel kann seine eigenen Interrupt-Handler registrieren, die von User-Space-Anwendungen aufgerufen werden können. Die Routinen des Kernels können portabler (da sie nicht von der spezifischen Hardware abhängen), flexibler (Betriebssystemhersteller können sie bei Bedarf ändern, anstatt das zu verwenden, was mit der Hardware geliefert wurde) und ausgefeilter (sie können beliebig komplex ausgeführt werden) sein Code statt dessen, was im BIOS programmiert wurde) und sicherer (da das Betriebssystem den Zugriff auf gemeinsam genutzte Ressourcen steuern und verhindern kann, dass sich Programme gegenseitig überladen, indem es seine eigenen willkürlichen Berechtigungsschemata implementiert).

Betriebssysteme können für die Interaktion mit bestimmter Hardware eigene Gerätetreiber laden und verwenden. Das Betriebssystem oder die Anwendungen müssen also die meisten BIOS-Routinen überhaupt nicht aufrufen. Aus Sicherheitsgründen sind BIOS-Interrupts sogar deaktiviert. Da sich das BIOS im 16-Bit-Real-Modus befindet, ist es schwieriger, moderne Betriebssysteme zu finden.

Während die Verwendung des BIOS unter dem Betriebssystem sehr eingeschränkt ist, werden dessen Funktionen weiterhin peripher verwendet. Wenn ein Computer beispielsweise in den Energiesparmodus wechselt , wird das Betriebssystem nicht ausgeführt, und es liegt letztendlich an der Firmware, die Hardware in den richtigen Zustand zu versetzen, um das Betriebssystem anzuhalten und fortzusetzen. Diese Anwendungen beschränken sich im Allgemeinen auf ACPI- Aufrufe und nicht auf Aufrufe der vollständigen BIOS-Schnittstelle. ACPI ist eine BIOS-Erweiterung, die "die Energieverwaltung unter die Kontrolle des Betriebssystems (OSPM) bringt, im Gegensatz zum vorherigen BIOS-Zentralsystem, das sich bei der Festlegung der Energieverwaltungs- und Konfigurationsrichtlinie auf plattformspezifische Firmware stützte" .

Beachten Sie, dass sich "BIOS" offiziell auf eine bestimmte Firmware-Schnittstelle bezieht, der Begriff wird jedoch allgemein für Computer-Firmware verwendet. Einige neuere Computer (insbesondere Apple-Computer) haben das BIOS (sensu strictu) durch UEFI ersetzt. Dies ist natürlich die Bezeichnung für die Implementierung dieser Funktionen.

Weitere Informationen dazu, wie sich die Rolle des BIOS im Laufe der Zeit verringert hat, finden Sie in Wikipedia .


15
Es gibt eine minimale Interaktion über die Systemuhr (Tageszeit).
MSalters

7
Bist du dir da wirklich sicher? Was ist mit der Lüftersteuerung, dem bereits erwähnten Systemverwaltungsmodus, der gesamten ACPI, die zum Beispiel die Prozessorgeschwindigkeit steuert?
Alexander

32
Ich könnte es versuchen und den BIOS-Chip auslöten, während die Maschine läuft.
JohnnyFromBF

5
@Ian warum mach es dir schwer. Suchen Sie ein älteres Board mit einem gesockelten BIOS und ziehen Sie den Chip einfach heraus. Als Alternative zu IIRC verfügen einige aktuelle Overclocker-Boards noch über einen Hardwareschalter, mit dem Sie zwischen zwei BIOS-Versionen wechseln können. Verpasse einen Flash des B-Images, starte auf A und wechsle beim Laufen auf B.
Dan Neely

17
@Ian ich habe das getan. Ich habe beim Flashen eines BIOS die Stromversorgung verloren, danach konnte es nicht mehr gestartet werden. Wir hatten 20 Maschinen mit genau der gleichen Hardware und sie waren in die Jahre gekommen. Also habe ich eine gebootet, den BOIS-Chip entfernt, die angeschraubte angeschlossen und geflasht. Danach funktionierten beide BOIS-Chips einwandfrei. Zugegeben, es war DOS, das für Flash-Software lief. Immer noch beeindruckend finde ich. (Boards waren Gigabyte-Marken, Pentium 4-kompatibel, soweit ich mich erinnere)
Ekin Koc

32

Das BIOS bietet eine Reihe von Diensten für die Betriebssysteme, von denen die meisten im Zusammenhang mit der Energieverwaltung stehen:

  • Ändern der CPU- und Bustakte
  • Aktivieren / Deaktivieren von Mainboard-Geräten
  • Leistungsregelung für Erweiterungsanschlüsse
  • Suspend-to-Disk und Suspend-to-RAM
  • Event Einstellungen wieder aufnehmen

Suspend-to-Disk ist die meiste Zeit im Betriebssystem implementiert, da das Betriebssystem seinen Status schneller wiederherstellen kann (nur der Kernelstatus wird neu geladen und der Programmstatus wird bei Bedarf ausgetauscht, was erheblich schneller ist als das erneute Laden des gesamten Arbeitsspeichers) Die Funktion bleibt in der Spezifikation erhalten.

Suspend-to-RAM kann vom Betriebssystem nicht implementiert werden, da das BIOS die RAM-Initialisierung und den RAM-Test überspringt. Daher benötigt das Betriebssystem eine API, um dem BIOS mitzuteilen, dass es beabsichtigt, mit dem aktuellen RAM-Inhalt fortzufahren. Um diesen Dienst bereitzustellen, fordert das BIOS das Betriebssystem auf, einen bestimmten RAM-Bereich intakt zu lassen.

Die Schnittstelle für das Betriebssystem für alle BIOS-Dienste ist ein Teil des virtuellen Maschinencodes, der auf einem Emulator ausgeführt werden muss und der die erforderlichen E / A-Vorgänge in der Hardware generiert. Beim Anhalten wird dies im Allgemeinen so implementiert, dass beim Ausführen eines der Hardware-Schreibvorgänge ein Interrupt ausgelöst wird, der die Steuerung an das BIOS überträgt.


17

Es gibt drei Hauptbereiche, in denen ein Betriebssystem das BIOS in modernen Systemen verwendet, z. B. in Systemen, die den UEFI-Standard verwenden. Die erste ist eine Reihe von Diensten, die als UEFI-Laufzeitdienste bezeichnet werden. Mit diesen Diensten kann das Betriebssystem Informationen abrufen, die nur dem BIOS bekannt sind, z. B. die vom BIOS verwendete Zeit, die Startreihenfolge, das aktuelle Benutzersicherheitsprofil, Informationen zum Motherboard, zu DIMMs usw.

Der zweite ist der Systemverwaltungsmodus, bei dem es sich um einen verborgenen Speicherabschnitt (SMRAM) handelt, auf den ein Interrupt mit hoher Priorität (SMM) zugreift. Viele BIOS verwenden dies, um hochsichere OEM-Funktionen oder Hardware-Workarounds zu implementieren.

Der dritte ist ACPI. ACPI bietet Konfigurations-, Energieverwaltungs- und Hardwaredaten sowie Code, die vom Betriebssystem verwendet werden, um das zu erweitern, was die Betriebssystemtreiber mithilfe eines Industriestandards oder Gerätetreibers herausfinden können. Gibt es zum Beispiel ein spezielles Signal zur Steuerung der Festplattenleistung oder eine spezielle Möglichkeit, mit der Batterie zu sprechen, die nicht durch einen Standard abgedeckt ist?

Tim


9

Moderne Betriebssysteme verwenden das BIOS hauptsächlich zum Laden, es gibt jedoch noch einige Verwendungsmöglichkeiten, darunter insbesondere:

  • Reagieren auf den Netzschalter (Fahren Sie den PC nach 4 Sekunden herunter
    ).
  • Ändern der Bildschirmhelligkeitseinstellungen auf Laptops
  • Batterieereignisse auf Laptops
  • Suspension

Ich dachte, die Helligkeit wurde erreicht, indem die Farbwerte direkt vor dem Zeichnen geändert wurden.
Cole Johnson

3
@ColeJohnson: Nein: Zumindest bei Thinkpads ändert sich die Helligkeit der Hintergrundbeleuchtung.
Mechanische Schnecke

1
Die Helligkeit ist ein hardwaregesteuertes pulsbreitenmoduliertes Signal, das die hellweiße LED mit hoher Frequenz ein- und ausschaltet. Diese Leuchte ist einer der wichtigsten Batterieverbraucher

1

Zusätzlich zu den oben beschriebenen Maßnahmen beginnt Intel, sich in die andere Richtung zu bewegen und mehr einzubauen, indem über die im BIOS und auf dem Motherboard integrierte Active Management-Technologie , die unabhängig vom Betriebssystem gesteuert werden kann, ein bandexterner Zugriff auf die Hardware ermöglicht wird . Mit diesen Boards kann man eigentlich einiges machen. Egal, ob Sie es als eingebaut oder als zweites Betriebssystem betrachten, es ist eine andere Sache, aber da es Hardware an Bord und Komponenten im BIOS hat, bleibe ich bei eingebautem.

Intel Marketing Guff

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.