BIOS

Ein Paar AMD BIOS -Chips für a Dell 310 Computer aus den 1980er Jahren

Im Computer, BIOS (/ˈbɒs, -s/, DURCH-OSS, -⁠ohss; Grundlegendes Ein-und Ausgabesystem, auch bekannt als die Systembios, Rom Bios, BIOS ROM oder PC -BIOS) ist Firmware Wird verwendet, um Laufzeitdienste für bereitzustellen Betriebssysteme und Programme und durchführen Hardware- Initialisierung während der Booten Prozess (Startup).[1] Die BIOS-Firmware ist vorinstalliert auf einem IBM PC oder IBM PC kompatibelSystemboard und existiert in Uefi-basierte Systeme auch.[2][3] Der Name stammt aus dem in der verwendeten grundlegenden Eingangs-/Ausgangssystem CP/m Betriebssystem im Jahr 1975.[4][5] Das BIOS ursprünglich proprietär zum IBM PC war gewesen dekompiliert von einigen Unternehmen (wie z. Phoenix Technologies) sucht kompatible Systeme. Das Schnittstelle Von diesem ursprünglichen System dient als a de facto Standard.

Das BIOS in modernen PCs initialisiert und testet die Systemhardwarekomponenten (testet (STO-On-Selbsttest) und lädt a Bootlader von einem Massenspeichergerät, das dann ein Betriebssystem initialisiert. In der Zeit von DOS, die BIOS zur Verfügung gestellt BIOS Interrupt -Anrufe Für Tastatur, Anzeige, Speicher und andere Input-Output (I/O) Geräte, die eine Schnittstelle zu Anwendungsprogrammen und dem Betriebssystem standardisierten. Neuere Betriebssysteme verwenden die BIOS -Interrupt -Anrufe nach dem Start nicht.[6]

Die meisten BIOS -Implementierungen sind speziell so konzipiert, dass sie mit einem bestimmten Computer arbeiten oder Hauptplatine Modell, indem es mit verschiedenen Geräten, insbesondere Systemen Chipsatz. Ursprünglich wurde die BIOS -Firmware in a gelagert Rom Chip auf dem PC -Motherboard. In späteren Computersystemen werden der BIOS -Inhalt aufbewahrt Flash-Speicher Es kann also neu geschrieben werden, ohne den Chip aus dem Motherboard zu entfernen. Dies ermöglicht einfache Endbenutzer-Updates für die BIOS-Firmware, sodass neue Funktionen hinzugefügt werden können oder Fehler behoben werden können, aber es erzeugt auch eine Möglichkeit, dass der Computer mit BIOS infiziert wird Rootkits. Darüber hinaus könnte ein BIOS -Upgrade, das fehlschlägt Backstein das Motherboard. Die letzte Version von Microsoft Windows Das Laufen auf PCs, die BIOS -Firmware verwenden, ist Windows 10.

Einheitliche erweiterbare Firmware -Schnittstelle (UEFI) ist Nachfolger des Legacy PC -BIOS und zielt darauf ab, seine technischen Einschränkungen anzugehen.[7]

Geschichte

/ * C p / m b a s i c i / o s y s t e m (b i o s) Copyright (c) Gary A. Kildall Juni 1975 * / […] / * b a s i c d i s k o p e r a t i n g
-Ein Auszug aus dem BDOS.PLM -Dateiheader in der Pl/m Quellcode von CP/M 1.1 oder 1.2 für Lawrence Livermore Laboratories (Lll)[4]

Der Begriff BIOS (Basic Input/Output System) wurde von erstellt von Gary Kildall[8][9] und erschien zuerst in der CP/m Betriebssystem im Jahr 1975,,[4][5][9][10][11][12] Beschreibung des maschinenspezifischen Teils von CP/M, der während der Startzeit geladen wurde, die direkt mit dem schnitt Hardware-.[5] (Eine CP/M -Maschine hat normalerweise nur eine einfache Bootlader in seinem Rom.)

Versionen von MS-DOS, PC dos oder DR-DOS enthalten eine Datei namens unterschiedlich "Io.sys","Ibmbio.com"," Ibmbio.sys "oder" drbios.sys "; Diese Datei ist als" dos bios "(auch als" dos i/o-System "bekannt) bekannt und enthält den unteren hardwarespezifischen Teil der unteren Ebene Betriebssystem. Zusammen mit dem zugrunde liegenden hardwarespezifischen, aber operativen systemunabhängigen "Systembios", das sich in befindet Rom, es repräsentiert das Analogon zum "CP/M BIOS".

Das BIOS ursprünglich proprietär zum IBM PC ist gewesen dekompiliert von einigen Unternehmen (wie z. Phoenix Technologies) sucht kompatible Systeme.

Mit der Einführung von PS/2-Maschinen teilte IBM das System-BIOS in real- und geschützte Teile auf. Der Real-Mode-Anteil sollte mit vorhandenen Betriebssystemen wie DOS rückwärtskompatibilisch sein und daher als "CBIOS" (für "Kompatibilitätsbios" bezeichnet werden, während die "Abios" (für "Advanced BIOS") speziell neue Schnittstellen bereitstellten geeignet für Multitasking -Betriebssysteme wie z. OS/2.[13]

Benutzeroberfläche

Das BIOS des Originals IBM PC und XT hatte keine interaktive Benutzeroberfläche. Fehlercodes oder Meldungen wurden auf dem Bildschirm angezeigt, oder codierte Klangreihen wurden so generiert, dass sie Fehler signalisieren, wenn die STO-On-Selbsttest (Post) waren nicht so gut wie erfolgreich initialisiert, dass ein Video -Display -Adapter initialisiert wurde. Die Optionen auf dem IBM PC und XT wurden von Switches und Springern auf der Hauptplatine und auf festgelegt Erweiterungskarten. Ab Mitte der neunziger Jahre wurde es typisch, dass das BIOS-ROM a beinhaltete "BIOS -Konfigurationsdienstprogramm" (BCU[14]) oder "BIOS-Setup-Dienstprogramm" auf das System-Stromversorgung von einer bestimmten Schlüsselsequenz. Dieses Programm ermöglichte dem Benutzer, Systemkonfigurationsoptionen des Typs festzulegen, der früher verwendet wurde Dip-Schalterüber ein interaktives Menüsystem, das über die Tastatur gesteuert wird. In the interim period, IBM-compatible PCs‍—‌including the IBM bei‍ ‍-‌Held Konfigurationseinstellungen in batterieblichten RAM und verwendete ein bootfähiges Konfigurationsprogramm auf Diskettenplatte, nicht im ROM, um die in diesem Speicher enthaltenen Konfigurationsoptionen festzulegen. Die Diskettenscheibe wurde mit dem Computer geliefert, und wenn die Systemeinstellungen nicht geändert werden konnten. Das gleiche gilt im Allgemeinen auf Computer mit einem Eisa Bus, für das das Konfigurationsprogramm als EISA -Konfigurationsdienstprogramm (ECU) bezeichnet wurde.

Eine moderne WINTEL-Compatible Computer bietet eine Setup-Routine, die in der Natur im Wesentlichen unverändert von den ROM-Resident BIOS-Setup-Dienstprogrammen der späten neunziger Jahre ist. Der Benutzer kann Hardwareoptionen mithilfe der Tastatur- und Videoanzeige konfigurieren. Die moderne Wintel -Maschine kann die BIOS -Konfigurationseinstellungen in Flash -ROM speichern, möglicherweise das gleiche Flash -ROM, das das BIOS selbst enthält.

Betrieb

Systemstart

Frühe Intel -Prozessoren begannen an der physischen Adresse 000FFFF0H. Systeme mit späteren Prozessoren bieten Logik, um das BIOS vom System ROM auszuführen.[15]

Wenn das System gerade mit Strom versorgt wurde oder der Reset -Taste gedrückt wurde ("Kaltstiefel"), das volle STO-On-Selbsttest (Post) wird ausgeführt. Wenn Strg+Alt+Delete gedrückt wurde ("Warm Boot"), wird ein spezieller Flag -Wert in gespeicherter Wert gespeichert Nichtflüchtiger BIOS -Gedächtnis (""CMOs") Testen vom BIOS ermöglicht die Bypass der langwierigen Post- und Speichererkennung.

Der Beitrag identifiziert, testet und initialisiert Systemgeräte wie die Zentralprozessor, Chipsatz, RAM, Hauptplatine, Grafikkarte, Klaviatur, Maus, Festplatte, optisches Laufwerk und andere Hardware-, einschließlich integrierte Peripheriegeräte.

Frühe IBM -PCs hatten eine Routine in der Post, die ein Programm in RAM über den Tastaturanschluss herunterladen und ausführen würde.[16][17] Diese Funktion war für Werkstest oder diagnostische Zwecke gedacht.

Boot -Prozess

Boot -Prozess

Nachdem der Options -ROM -Scan abgeschlossen ist und alle erkannten ROM -Module mit gültigen Prüfsummen aufgerufen wurden, oder unmittelbar nach Post in einer BIOS -Version, die nicht nach Option -ROMs scannt, ruft der BIOS int 19h auf, um die Boot -Verarbeitung zu starten. Nach dem Boot können Programme geladen werden, um das System neu zu starten. Sie müssen jedoch darauf achten, Interrupts und andere asynchrone Hardwareprozesse zu deaktivieren, die den Neustartprozess des BIOS beeinträchtigen können, oder das System kann beim Neustart hängen oder abstürzen .

Wenn int 19h gerufen wird, versucht der BIOS zu lokalisieren Bootlader Software auf einem "Boot -Gerät" wie a Festplatte, a Diskette, CD, oder DVD. Es lädt und führt die erste Startsoftware aus, die es findet, und gibt ihm die Kontrolle über den PC.[18]

Das BIOS verwendet die in festgelegten Boot -Geräte Nichtflüchtiger BIOS -Gedächtnis (CMOs) oder, in den frühesten PCs,, Dip-Schalter. Das BIOS überprüft jedes Gerät, um festzustellen, ob es bootfähig ist, indem versucht wird, den ersten Sektor zu laden ((Bootsektor). Wenn der Sektor nicht gelesen werden kann, geht das BIOS zum nächsten Gerät fort. Wenn der Sektor erfolgreich gelesen wird, prüfen einige Biose auch in den letzten beiden Bytes des Sektors (512 Bytes lang) auf die Signatur der Startsektor 0x55 0xaa, bevor sie einen Startsektor akzeptieren und das Gerät bootfähig berücksichtigen.[NB 1]

Wenn ein bootfähiges Gerät gefunden wird, überträgt die BIOS die Steuerung in den geladenen Sektor. Das BIOS interpretiert nicht den Inhalt des Bootsektors, als möglicherweise in den letzten beiden Bytes die Signatur des Bootsektors zu überprüfen. Die Interpretation von Datenstrukturen wie Partitionstabellen und BIOS -Parameterblöcken erfolgt im Boot -Programm im Bootsektor selbst oder durch andere Programme, die durch den Boot -Prozess geladen werden.

Ein Nicht-Schleifgerät wie a Netzwerkadapter Versuche, durch ein Verfahren zu booten, das durch seine definiert wird Option ROM oder das äquivalente in das Motherboard BIOS ROS integrierte. Aus diesem Grund können Option -ROMs den vom Motherboard BIOS ROM definierten Boot -Prozess auch beeinflussen oder ersetzen.

Mit dem El Torito Optical Media Boot StandardDas optische Antrieb emuliert tatsächlich eine 3,5 "hohe Dichtefloppy-Scheibe zum BIOS für Startzwecke. Das Lesen des" ersten Sektors "einer CD-ROM oder einer DVD-ROM ist keine einfach definierte Operation wie auf einer Diskette oder einer Diskette oder einer Floppy-Festplatte oder einer einfach definierten Operation Eine Festplatte. Darüber hinaus macht es die Komplexität des Mediums schwierig, ein nützliches Boot -Programm in einem Sektor zu schreiben. Die bootfähige virtuelle Diskette kann Software enthalten, die Zugriff auf das optische Medium in seinem nativen Format bietet.

Boot-Priorität

Der Benutzer kann die vom BIOS implementierte Startpriorität auswählen. Zum Beispiel haben die meisten Computer eine Festplatte, die bootfähig ist, aber manchmal gibt es ein Wechselmedienlaufwerk mit einer höheren Startpriorität, sodass der Benutzer eine abnehmbare Festplatte verursachen kann.

In den meisten modernen Biosen kann der Startprioritätsreihenfolge vom Benutzer konfiguriert werden. In älteren Biosen sind eingeschränkte Startprioritätsoptionen ausgewählt. In den frühesten Biosen wurde ein festes Prioritätsschema implementiert, wobei Floppy -Disk -Laufwerke zuerst festgelegte Festplatten (d. H. Festplatten) zweitens und in der Regel keine anderen Stiefelgeräte unterstützt haben, die diese Regeln durch installierte Options -ROMs geändert haben. Das BIOS in einem frühen PC startete normalerweise auch nur vom ersten Diskettenlaufwerk oder dem ersten Festplattenlaufwerk, auch wenn zwei Laufwerke installiert würden.

Bootsausfall

Auf dem Original IBM PC und XT, wenn keine bootfähige Festplatte gefunden wurde, ROM Basic wurde mit int 18h angerufen. Da nur wenige Programme in ROM Basic verwendeten, haben die Clone PC -Hersteller es ausgelassen. Dann würde ein Computer, der nicht von einer Festplatte gestartet wurde, "kein ROM Basic" und angehalten (als Antwort auf INT 18H).

Spätere Computer zeigten eine Meldung wie "Keine bootfähigen Festplatte gefunden"; Einige würden dazu veranlassen, dass eine Festplatte eingefügt und eine Taste gedrückt wird, um den Startvorgang wiederzuerlangen. Ein modernes BIOS kann nichts anzeigen oder automatisch das BIOS -Konfigurationsdienstprogramm eingeben, wenn der Boot -Prozess ausfällt.

Boot -Umgebung

Die Umgebung für das Boot-Programm ist sehr einfach: Die CPU befindet sich im realen Modus, und die Register für allgemeine Zwecke und Segment sind nicht definiert, mit Ausnahme von SS, SP, CS und DL. CS: IP zeigt immer auf die physische Adresse 0x07c00. Welche Werte CS und IP tatsächlich haben, ist nicht gut definiert. Einige Biose verwenden ein CS: IP von 0x0000: 0x7c00 während andere benutzen können 0x07c0: 0x0000. Da Startprogramme immer an dieser festen Adresse geladen sind, müssen ein Boot -Programm nicht verschoben werden. DL kann die Antriebsnummer enthalten, wie verwendet mit Int 13h, des Boot -Geräts. SS: SP zeigt auf einen gültigen Stapel, der vermutlich groß genug ist, um Hardware -Interrupts zu unterstützen, aber ansonsten sind SS und SP undefiniert. (Ein Stapel muss bereits eingerichtet sein, damit Interrupts gewartet werden können, und Interrupts müssen aktiviert sein Während des Posts, um aktiv zu sein und die Tastatur zu funktionieren. Die Tastatur funktioniert auch dann, wenn der BIOS-Tastaturdienst nicht aufgerufen wird. Tastaturen werden empfangen und in den von BIOS verwalteten Puffer mit 15-Charakter-Typ-Ahead-Puffer platziert.) Das Boot-Programm muss festgelegt werden Sein eigener Stapel, denn die Größe des von BIOS eingerichteten Stapels ist unbekannt und sein Standort ist ebenfalls variabel. Obwohl das Boot -Programm den Standardstapel untersuchen kann, indem Sie SS: SP untersuchen, ist es einfacher und kürzer, einen neuen Stapel bedingungslos einzurichten.

Zur Startzeit sind alle BIOS -Dienste verfügbar und der Speicher unten -Adresse 0x00400 enthält die Vektortabelle unterbrechen. BIOS Post hat die Systemtimer, Interrupt -Controller (en), DMA -Controller (S) und andere Hardware für Motherboard/Chipsatz initialisiert, um alle BIOS -Dienste in den Bereitschaftszustand zu bringen. Dram -Aktualisierung für alle Systeme dram im herkömmlichen Speicher und im erweiterten Speicher, aber nicht unbedingt erweiterter Speicher, wurde eingerichtet und wird ausgeführt. Das Vektoren unterbrechen Entsprechend den BIOS-Interrupts wurden auf die entsprechenden Einstiegspunkte im BIOS festgelegt, Hardware-Interrupt-Vektoren für Geräte, die vom BIOS initialisiert wurden Damit Programme haken können, wurden auf einen Standard -Dummy -ISR eingestellt, der sofort zurückgibt. Das BIOS unterhält einen reservierten System -RAM an Adressen 0x00400–0x004ff mit verschiedenen Parametern, die während des Pfostens initialisiert wurden. Alle Speicher an und oben Adresse 0x00500 kann vom Boot -Programm verwendet werden; Es kann sich sogar selbst überschreiben.

Erweiterungen (Option ROMs)

Peripheriekarten wie Festplattenantrieb Gastbusadapter und Grafikkarten Haben Sie ihre eigene Firmware und BIOS -Erweiterung Option ROM Kann Teil der Expansionskartenfirmware sein, die BIOS zusätzliche Funktionen liefert. Code in Option ROMS wird vor dem BIOS -Stiefel aus dem Betriebssystem ausgeführt Massenspeicher. Diese ROMs testen und initialisieren in der Regel Hardware, fügen neue BIOS -Dienste hinzu oder ersetzen vorhandene BIOS -Dienste durch ihre eigenen Dienste. Zum Beispiel a SCSI -Controller Normalerweise hat ein BIOS -Erweiterungs -ROM, das Unterstützung für Festplatten erhöht, die über diesen Controller verbunden sind. Ein Erweiterungs -ROM könnte im Prinzip ein Betriebssystem enthalten oder einen völlig anderen Startprozess wie z. Netzwerkbooting. Der Betrieb eines IBM-kompatiblen Computersystems kann durch Entfernen oder Einfügen einer Adapterkarte (oder eines ROM-Chips), das ein BIOS-Erweiterungs-ROM enthält, vollständig geändert werden.

Das Motherboard -BIOS enthält typischerweise Code zum Initialisieren und Bootstrapping integrierter Anzeige und integriertes Speicher. Darüber hinaus haben Plug-in-Adapterkarten wie z. Scsi, ÜBERFALLEN, Netzwerkschnittstellenkarten, und Grafikkarten Fügen Sie oft ihr eigenes BIOS ein (z. Video -Bios), ergänzen oder ersetzen Sie den System -BIOS -Code für die angegebene Komponente. Sogar in das Motherboard eingebaute Geräte können sich auf diese Weise verhalten; Ihre Option ROMs können Teil des Motherboard -BIOS sein.

Eine Add-In-Karte erfordert eine Option ROM, wenn die Karte nicht vom Motherboard-BIOS unterstützt wird und die Karte initialisiert oder über BIOS-Dienste zugänglich gemacht werden muss, bevor das Betriebssystem geladen werden kann (normalerweise bedeutet dies, dass sie im Boot-Prozess erforderlich ist ). Ein zusätzlicher Vorteil von ROM bei einigen frühen PC -Systemen (insbesondere der IBM PCJR) war, dass ROM schneller als Hauptsystem -RAM war. (Auf modernen Systemen ist der Fall sehr viel umgekehrt, und der BIOS -ROM -Code wird normalerweise in den RAM kopiert ("schattig"), damit er schneller läuft.)

Boot -Prozedur

Wenn ein Expansions -ROM die Art und Weise, wie das Systemstiefel (z. BIOS -Startspezifikation (BBS) API seine Fähigkeit dazu zu registrieren. Sobald sich die Erweiterungs -ROMs über die BBS -APIs registriert haben, kann der Benutzer unter den verfügbaren Startoptionen in der Benutzeroberfläche des BIOS auswählen. Aus diesem Grund können die meisten BBS -konformen PC -BIOS -Implementierungen dem Benutzer die Benutzeroberfläche des BIOS erst dann eingeben, wenn die Expansions -ROMs die Ausführung und Registrierung der BBS -API abgeschlossen haben.

Wenn ein Expansions -ROM die Art und Weise, wie das System einseitig stirbt, ändern möchte, kann es einfach int 19h oder andere Interrupts anschließen, die normalerweise von Interrupt 19h genannt werden, wie z. Anschließend kann es den BIOS -Startvorgang durch einen seiner eigenen ersetzen oder lediglich die Bootsequenz ändern, indem sie ihre eigenen Startaktionen in sie einfügen, indem das BIOS festgelegt wird, bestimmte Geräte als bootfähig oder beides zu erkennen. Bevor die BIOS -Bootspezifikation verkündet wurde, war dies die einzige Möglichkeit für Erweiterungs -ROMs, die Startfähigkeit für Geräte zu implementieren, die nicht für das Booten des nativen BIOS des Motherboards unterstützt wurden.

Initialisierung

Nachdem das Motherboard BIOS seinen Beitrag abgeschlossen hat, suchen die meisten BIOS -Versionen nach Option ROM -Modulen, auch BIOS -Erweiterungs -ROMs, und führen sie aus. Das Motherboard BIOS scannt nach Erweiterungs -ROMs in einem Teil der ""Oberspeicherbereich"(Der Teil des X86 Real-Mode-Adressraums an und über der Adresse 0xa0000) und läuft jedes ROM, das gefunden wurde, in der Reihenfolge. Um die Option für Speicher-abgebildete Option zu entdecken, scannt eine BIOS-Implementierung den Real-Mode-Adressraum aus dem Adresse 0x0c0000 zu 0x0f0000 am 2KB (2.048 Bytes) Grenzen, auf der Suche nach einem Zwei-Byte-ROM Unterschrift: 0x55 gefolgt von 0xaa. In einem gültigen Expansions-ROM folgt auf diese Signatur von einem einzigen Byte, das die Anzahl von 512-Byte-Blöcken angibt, die das Expansions-ROM im realen Speicher einnimmt, und das nächste Byte ist die Option ROMs Einstiegspunkt (Auch als "Eingangsversatz" bekannt). Wenn das ROM eine gültige Prüfsumme hat, überträgt der BIOS die Kontrolle über die Eingangsadresse, die in einem normalen BIOS -Erweiterungs -ROM der Beginn der Initialisierungsroutine der Erweiterung sein sollte.

Zu diesem Zeitpunkt übernimmt der Erweiterungs -ROM -Code, in der Regel die von ihm steuerende Hardware und Registrierung zu testen und zu initialisieren Vektoren unterbrechen zur Verwendung durch Post-Boot-Anwendungen. Es kann BIOS -Dienste verwenden (einschließlich der von zuvor initialisierten Options -ROMS bereitgestellten ROMs), um eine Benutzerkonfigurationsschnittstelle bereitzustellen, diagnostische Informationen anzuzeigen oder alles andere zu tun, was sie benötigt. Es ist möglich, dass ein Option-ROM nicht zum BIOS zurückkehrt und die Bootsequenz des BIOS insgesamt vorschlägt.

Eine Option -ROM sollte normalerweise nach Abschluss des Initialisierungsprozesses zum BIOS zurückkehren. Sobald (und wenn) eine Option ROM zurückkehrt, sucht das BIOS weiterhin nach weiteren Options -ROMs und ruft jeweils auf, wie es gefunden wird, bis der gesamte Option ROM -Bereich im Speicherraum gescannt wurde.

Physische Platzierung

BIOS -Chips in einem Dell 310, das durch Ersetzen der Chips aktualisiert wurde

Option ROMs befinden sich normalerweise auf Adapterkarten. Der ursprüngliche PC und möglicherweise auch der PC XT haben einen Ersatz -ROM -Socket auf dem Motherboard (das "Systemboard" in IBMs Begriffen), in das ein Option -ROM eingefügt werden kann, und die vier ROMs, die den grundlegenden Interpreter enthalten können Außerdem entfernt und durch benutzerdefinierte ROMs ersetzt werden, die Optionen sein können. Das IBM PCJR ist einzigartig unter PCs, wenn Sie zwei ROM -Kartuschenschlitze auf der Vorderseite haben. Patronen in diesen Slots zeichnen in denselben Bereich des oberen Speicherbereichs ein, der für Options -ROMs verwendet wird, und die Patronen können Option ROM -Module enthalten, die das BIOS erkennen würde. Die Patronen können auch andere Arten von ROM -Modulen enthalten, wie z. B. grundlegende Programme, die unterschiedlich behandelt werden. Eine PCJR -Patrone kann mehrere ROM -Module verschiedener Typen enthalten, die möglicherweise zusammen in einem ROM -Chip gespeichert sind.

Betriebssystemdienste

Das BIOS-ROM wird an die Hardware des jeweiligen Herstellers angepasst, sodass Dienste auf niedrigem Niveau (z. B. das Lesen eines Tastenanschlags oder das Schreiben eines Datensektors an die Diskette) in standardisierter Weise zu Programmen, einschließlich Betriebssystemen, bereitgestellt werden können. Beispielsweise hat ein IBM -PC möglicherweise entweder ein Monochrom oder einen Farbanzeigeadapter (unter Verwendung verschiedener Anzeigespeicheradressen und Hardware), aber ein einzelnes Standard, BIOS Systemanruf kann aufgerufen werden, um ein Zeichen an einer bestimmten Position auf dem Bildschirm in anzuzeigen Textmodus oder Grafikmodus.

Das BIOS liefert eine kleine Bibliothek von grundlegenden Eingangs-/Ausgangsfunktionen zum Betrieb von Peripheriegeräten (z. Bei der Verwendung von MS-DOS können auf BIOS-Dienste durch ein Anwendungsprogramm (oder mit MS-DOS) zugegriffen werden, indem ein Int 13H-Interrupt-Befehl zum Zugriff auf Festplattenfunktionen oder durch Ausführung einer von mehreren anderen dokumentierten Ausführungen ausgeführt wird BIOS Interrupt -Anrufe zugreifen Videoanzeige, Klaviatur, Kassette und andere Gerätefunktionen.

Betriebssysteme und Executive -Software, die diese grundlegende Firmware -Funktionalität ersetzen sollen, bieten Austauschsoftware -Schnittstellen für Anwendungssoftware. Anwendungen können diese Dienste auch für sich selbst zur Verfügung stellen. Dies begann sogar in den 1980er Jahren unter MS-DOS, als Programmierer feststellten, dass die Verwendung der BIOS -Videodienste für die Grafikanzeige sehr langsam war. Um die Drehzahl der Bildschirmausgabe zu erhöhen, haben viele Programme das BIOS umgangen und die Videoanzeigehardware direkt programmiert. Andere Grafikprogrammierer, insbesondere aber nicht ausschließlich in der Demoscenebeobachtete, dass es technische Funktionen der PC -Anzeigeadapter gab, die nicht vom IBM -BIOS unterstützt wurden und nicht ausgenutzt werden konnten, ohne es zu umgehen. Da lief das atkompatible Bios in Intel Realer Modus, Betriebssysteme, die im geschützten Modus auf 286 und späteren Prozessoren ausgeführt wurden, erforderten Hardware -Geräte -Treiber, die mit dem geschützten Modus -Betrieb kompatibel sind, um BIOS -Dienste zu ersetzen.

In modernen PCs modern Betriebssysteme (wie zum Beispiel Fenster und Linux) das BIOS Interrupt -Anrufe wird nur während des Bootens und anfänglicher Belastung von Betriebssystemen verwendet. Bevor der erste grafische Bildschirm des Betriebssystems angezeigt wird, werden Eingang und Ausgabe normalerweise über BIOS behandelt. Ein Boot -Menü wie das Textmenü von Windows, mit dem Benutzer ein Betriebssystem zum Starten auswählen können, um in die zu starten Sicherheitsmodusoder um die zuletzt bekannte gute Konfiguration zu verwenden, wird über BIOS angezeigt und erhält Tastatureingaben über BIOS.[6]

Viele moderne PCs können immer noch ältere Betriebssysteme wie MS-DOS oder DR-DOS booten und ausführen, die für ihre Konsole- und Festplatten-I/A stark auf BIOS angewiesen sind, sofern das System über ein BIOS oder eine CSM-fähige UEFI-Firmware verfügt.

Prozessor -Mikrocode -Updates

Intel Prozessoren haben neu programmierbar Mikrocode seit der P6 Mikroarchitektur.[19][20][21] AMD Prozessoren haben seit dem neu programmierbare Mikrocode K7 Mikroarchitektur. Die BIOS enthalten Patches zum Prozessormikrocode, der Fehler im anfänglichen Prozessormikrocode behebt. Mikrocode wird in den Prozessor geladen Sram Daher ist die Reprogrammierung nicht anhaltend, sodass jedes Mal das Ladung von Mikrocode -Updates durchgeführt wird, wenn das System aufgeteilt wird. Ohne neu programmierbare Mikrocode wäre ein teurer Prozessor -Swap erforderlich.[22] Zum Beispiel die Pentium -FDIV -Fehler wurde ein teures Fiasko für Intel, da es a erforderlich war Produktrückruf Weil der defekte Mikrocode des ursprünglichen Pentiumprozessors nicht neu programmiert werden konnte. Betriebssysteme können aktualisieren Hauptprozessor Mikrocode auch.[23][24]

Identifikation

Einige Biose enthalten eine Software -Lizenzierungsbeschreibungstabelle (SLIC), eine digitale Signatur, die im BIOS von der platziert ist Originalausrüstung Hersteller (OEM) zum Beispiel Dell. Der SLIC wird in die ACPI -Datentabelle eingefügt und enthält keinen aktiven Code.[25][26]

Computerhersteller, die OEM -Versionen von Microsoft Windows und Microsoft Application Software verteilen Erholungsscheibe mit Windows -Software. Systeme mit einem SLIC können mit einem OEM-Produktschlüssel voraktiviert werden und verifizieren ein OEM-Zertifikat mit XML-formatiertem OEM gegen die SLIC im BIOS als ein Mittel zur Selbstaktivierung (siehe System gesperrt Preinstallation, SLP). Wenn ein Benutzer eine frische Installation von Windows durchführt, muss er sowohl den OEM -Schlüssel (entweder SLP oder COA) als auch das digitale Zertifikat für seinen SLIC besitzen, um die Aktivierung zu umgehen.[25] Dies kann erreicht werden, wenn der Benutzer mithilfe eines vom OEM bereitgestellten vorgezogenen Bild eine Wiederherstellung durchführt. Power -Benutzer können die erforderlichen Zertifikatdateien aus dem OEM -Bild kopieren, die SLP -Produktschlüssel dekodieren und dann die SLP -Aktivierung manuell durchführen. Risse für nichtgenuine Windows-Verteilungen bearbeiten normalerweise den SLIC oder emulieren Sie es, um die Windows-Aktivierung zu umgehen.

Übertakten

Einige BIOS -Implementierungen erlauben es Übertakteneine Aktion, in der die Zentralprozessor wird auf ein höher eingestellt Taktfrequenz als das Herstellerrating für garantierte Fähigkeiten. Das Übertakten kann jedoch die Zuverlässigkeit der Systeme in unzureichend gekühlten Computern ernsthaft beeinträchtigen und die Lebensdauer der Komponenten im Allgemeinen verkürzen. Durch das falsch durchgeführte Übertakten kann es auch dazu führen, dass Komponenten so schnell überhitzt, dass sie sich mechanisch selbst zerstören.[27]

Moderner Gebrauch

Einige älter Betriebssysteme, zum Beispiel MS-DOS, verlassen Sie sich auf das BIOS, um die meisten Eingangs-/Ausgangsaufgaben innerhalb des PCs auszuführen.[28]

Berufung Realer Modus BIOS -Dienste direkt sind ineffizient für Sicherheitsmodus (und langer Modus) Betriebssysteme. BIOS Interrupt -Anrufe werden nicht von modernen Multitasking -Betriebssystemen verwendet, nachdem sie anfänglich geladen wurden.

In den 1990er Jahren stellte BIOS einige zur Verfügung Sicherheitsmodus Schnittstellen für Microsoft Windows und Unix-artig Betriebssysteme wie z. Fortgeschrittener Leistungsmanagement (APM), BIOS Plug and Play BIOS, Desktop -Verwaltungsschnittstelle (DMI), Vesa BIOS -Erweiterungen (VBE), E820 und Multiprozessorspezifikation (Abgeordnete). Ab dem Jahr 2000 bieten die meisten Biose ACPI, Smbios, Vbe und E820 Schnittstellen für moderne Betriebssysteme.[29][30][31][32][33]

Nach Betriebssysteme Laden, die Systemverwaltungsmodus Code läuft immer noch in SMRAM. Seit 2010 befindet sich die BIOS -Technologie in einem Übergangsprozess in Richtung Uefi.[7]

Aufbau

Setup-Programm

Historisch gesehen hatten das BIOS im IBM PC und XT keine integrierte Benutzeroberfläche. Die BIOS-Versionen in früheren PCs (XT-Klasse) waren nicht softwarekonfigurierbar. Stattdessen setzen Benutzer die Optionen über Dip-Schalter auf dem Motherboard. Spätere Computer, einschließlich aller IBM-Kompatribüte mit 80286 CPUs, hatten einen batteriebrückten Batterie Nichtflüchtiger BIOS -Gedächtnis (CMOS RAM -Chip), der BIOS -Einstellungen enthielt.[34] Diese Einstellungen wie Video-Adapter-Typ, Speichergröße und Hartscheibenparameter können nur durch Ausführen eines Konfigurationsprogramms von einer Festplatte konfiguriert werden, die nicht in das ROM integriert ist. Eine spezielle "Referenzdiskette" wurde in eine eingefügt IBM bei So konfigurieren Sie Einstellungen wie Speichergröße.

Frühe BIOS-Versionen hatten keine Kennwörter oder Auswahloptionen für Boot-Geräte. Das BIOS war hartcodiert, um vom ersten Diskettenlaufwerk zu starten, oder, wenn das fehlgeschlagen war, die erste Festplatte. Die Zugriffskontrolle in frühen AT-Klasse-Maschinen erfolgte durch einen physischen Keylock-Schalter (der nicht schwer zu besiegen war, wenn der Computerfall geöffnet werden konnte). Jeder, der den Computer einschalten könnte, könnte ihn booten.

Später haben 386-Klasse-Computer das BIOS-Setup-Dienstprogramm neben dem BIOS-Code in das ROM selbst integriert. Diese Computer starten normalerweise im BIOS -Setup -Dienstprogramm, wenn eine bestimmte Taste oder eine bestimmte Taste -Kombination gedrückt wird, andernfalls werden der BIOS -Post- und -bartprozess ausgeführt.

Verleihen Sie das BIOS -Setup -Dienstprogramm auf einem Standard -PC

Ein modernes BIOS -Setup -Dienstprogramm hat a Text Benutzeroberfläche (Tui) oder grafische Benutzeroberfläche (GUI) Zugriff durch Drücken einer bestimmten Taste auf der Tastatur, wenn der PC startet. Normalerweise wird der Schlüssel für kurze Zeit während des frühen Starts beworben, z. B. "DEL drücken, um das Setup einzugeben". Der tatsächliche Schlüssel hängt von spezifischer Hardware ab. Die im Dienstprogramm BIOS -Setup vorhandenen Funktionen umfassen in der Regel:

  • Konfigurieren, Aktivieren und Deaktivieren der Hardwarekomponenten
  • Einstellen des Systemzeit
  • Festlegen der Startreihenfolge
  • Festlegen verschiedener Kennwörter, z. B. eines Kennworts zur Sicherung des Zugriffs auf die BIOS -Benutzeroberfläche und verhindern, dass böswillige Benutzer das System vor nicht autorisierten tragbaren Speichergeräten oder ein Kennwort zum Booten des Systems aus starten

Hardwareüberwachung

Ein moderner BIOS -Setup -Bildschirm bietet häufig a PC Gesundheitsstatus oder ein Hardwareüberwachung Registerkarte, die direkt mit einem Hardware -Monitor -Chip des Mainboards übereinstimmt.[35] Dies ermöglicht es, die CPU zu überwachen und Chassis Temperatur, die von der bereitgestellte Spannung Netzteilsowie überwachen und Kontrollieren Sie die Geschwindigkeit der Lüfter mit dem Motherboard verbunden.

Sobald das System gebootet ist, Hardwareüberwachung und Computerlüftersteuerung wird normalerweise direkt von dem Hardware -Monitor -Chip selbst durchgeführt, der ein separater Chip sein kann, der durch miteinander verbunden sein kann I2C oder Smbus, oder kommen als Teil eines Super i/o Lösung, durchmischt durch Branchenstandardarchitektur (ISA) oder Niedrige Stiftanzahl (LPC).[36] Einige Betriebssysteme wie Netbsd mit Envsys und OpenBSD mit sysctl hw.sensors, finden Sie integrierte Schnittstellen mit Hardware -Monitoren.

Unter bestimmten Umständen liefert das BIOS jedoch auch die zugrunde liegenden Informationen zur Hardwareüberwachung durch ACPIIn diesem Fall kann das Betriebssystem ACPI zur Durchführung der Hardwareüberwachung verwenden.[37][38]

Reprogrammierung

BIOS -Ersatzkit für eine Dell 310 aus den späten 1980er Jahren. Enthalten sind zwei Chips, ein Plastikhalter für die Chips und ein Chip -Abzieher.

In modernen PCs wird das BIOS im Umschreiben gespeichert Eeprom oder Noch Flash -Speicher, so dass der Inhalt ersetzt und geändert werden kann. Diese Umschreibung des Inhalts wird manchmal bezeichnet blinken. Dies kann durch ein spezielles Programm erfolgen, das normalerweise vom Hersteller des Systems bereitgestellt wird, oder bei POSTmit einem BIOS -Bild in einer Festplatte oder einem USB -Flash -Laufwerk. Eine Datei mit solchen Inhalten wird manchmal als "BIOS -Bild" bezeichnet. Ein BIOS wird möglicherweise reflasziert, um auf eine neuere Version zu upgraden, um Fehler zu beheben oder eine verbesserte Leistung zu liefern oder neuere Hardware zu unterstützen.

Hardware

amerikanische Megatrends BIOS 686. Dieser BIOS -Chip ist in a untergebracht PLCC Paket in einer Steckdose.

Das ursprüngliche IBM-PC-BIOS (und die Kassette Basic) wurde auf maskprogrammiertem Masken aufbewahrt Nur-Lese-Speicher (ROM) Chips in Steckdosen auf dem Motherboard. ROMs konnten von Benutzern ersetzt, aber nicht verändert werden. Um Aktualisierungen zu ermöglichen, verwendeten viele kompatible Computer neuprogrammierbare BIOS-Speichergeräte wie z. Eprom, Eeprom und später Flash-Speicher (normalerweise Noch Blitz) Geräte. Laut Robert Braver, dem Präsidenten des BIOS -Herstellers Micro Firmware,, Flash -Bios Chips wurden um 1995 üblich, da die elektrisch löschbaren Prom -Chips (EEPROM) billiger und leichter zu programmieren sind als Standard Ultraviolett löschbarer Abschlussball (Eprom) Chips. Flash-Chips werden im Kreislauf programmiert (und neu programmen), während EPROM-Chips zur Neuprogrammierung aus dem Motherboard entfernt werden müssen.[39] BIOS -Versionen werden aktualisiert, um neuere Hardwareversionen zu nutzen und Fehler in früheren Überarbeitungen von Biose zu korrigieren.[40]

Beginnend mit dem IBM AT unterstützten PCs eine Hardware -Uhr, die über BIOS festgelegt werden kann. Es hatte ein Jahrhundert, was das Jahrhundert manuell veränderte, als das Jahr 2000 stattfand. Die meisten BIOS -Revisionen, die 1995 und fast alle BIOS das Jahr 2000 Indem Sie das Jahrhundert bit automatisch einstellen, als die Uhr am 31. Dezember 1999 nach Mitternacht nachging.[41]

Die ersten Blitzchips wurden an die angebracht Isa Bus. Ab 1998 bewegte sich der BIOS -Flash in die LPC Bus, nach einer neuen Standardimplementierung als "Firmware Hub" (FWH). Im Jahr 2006 bewegte sich der BIOS -Flash -Speicher auf die Spi Bus.[42]

Die Größe des BIOS und die Kapazität des ROM, EEPROM oder anderer Medien, auf denen sie gespeichert werden können, hat im Laufe der Zeit zugenommen, da dem Code neue Funktionen hinzugefügt wurden. BIOS -Versionen existieren jetzt mit Größen bis zu 32 Megabyte. Für den Kontrast war das ursprüngliche IBM -PC -BIOS in einem 8 -kb -Masken -ROM enthalten. Einige moderne Motherboards enthalten noch größerer NAND Flash-Speicher ICs an Bord, die in der Lage sind, ganze kompakte Betriebssysteme zu speichern, wie einige Linux -Verteilungen. Zum Beispiel einige ASUS -Notizbücher enthalten Splashtop OS in ihre NAND Flash -Speicher -ICS eingebettet.[43] Die Idee, ein Betriebssystem zusammen mit BIOS in das ROM eines PCs aufzunehmen, ist jedoch nicht neu. In den 1980er Jahren bot Microsoft eine ROM-Option für MS-DOS an und wurde in den ROMs einiger PC-Klone wie dem enthalten Tandy 1000 HX.

Eine andere Art von Firmware -Chip wurde auf dem IBM -PC bei und frühen Krämpfen gefunden. Im at, die Tastaturschnittstelle wurde von a kontrolliert Mikrocontroller mit seinem eigenen programmierbaren Speicher. Auf dem IBM bei war dies ein 40-polige Gerät, während einige Hersteller eine EPROM-Version dieses Chips verwendeten, die einem EPROM ähnelte. Dem Controller wurde auch die zugewiesen A20 -Tor Funktion zum Verwalten von Speicher über dem Ein-Megabyte-Bereich; Gelegentlich war ein Upgrade dieses "Tastaturbios" erforderlich, um Software zu nutzen, die den Oberspeicher verwenden konnten.

Das BIOS kann Komponenten wie die enthalten Speicherreferenzcode (MRC), was für die Speicherinitialisierung verantwortlich ist (z. SPD und Speicherzeiten Initialisierung).[44]: 8[45]

Moderne BIOS[46] inklusiveIntel Management Engine[47] oder AMD -Plattform -Sicherheitsprozessor Firmware.

Verkäufer und Produkte

Vergleich verschiedener BIOS -Implementierungen
Gesellschaft Preisbios Amibios Insyde Seabios
Lizenz Proprietär Proprietär Proprietär LGPL v3
Gepflegt / entwickelt Beendet Beendet Beendet Ja
32-Bit PCI -BIOS -Anrufe Ja Ja Ja Ja
Ahci Ja Ja Ja Ja
APM Ja Ja Ja (1.2) Ja (1.2)
BBS Ja Ja Ja Ja
Startmenü Ja Ja Ja Ja
Kompression Ja (Lha[48]) Ja (LHA) Ja (RLE) Ja (LZMA)
CMOs Ja Ja Ja Ja
EDD Ja Ja Ja Ja
Escd Ja Ja ? Nein
Blitz von Rom ? Ja ? Nein
Sprache Montage Montage Montage C
LBA Ja (48) Ja (48) Ja Ja (48)
Multiprozessorspezifikation Ja Ja Ja Ja
Option ROM Ja Ja Ja Ja
Passwort Ja Ja Ja Nein
PMM ? Ja ? Ja
Setup -Bildschirm Ja Ja Ja Nein
Smbios Ja Ja Ja Ja
Begrüßungsbildschirm Ja (EPA)[49] Ja (PCX) Ja Ja (BMP, JPG)
Tpm Unbekannt Unbekannt Unbekannt Etwas
USB Booten Ja Ja Ja Ja
USB -Hub ? ? ? Ja
USB -Tastatur Ja Ja Ja Ja
USB -Maus Ja Ja Ja Ja

IBM veröffentlichte die gesamten Auflistungen des BIOS für den ursprünglichen PC, den PC XT, den PC bei und andere zeitgenössische PC -Modelle in einem Anhang des IBM PC Technisches Referenzhandbuch Für jeden Maschinenart. Die Auswirkung der Veröffentlichung der BIOS -Listings ist, dass jeder genau sehen kann, was ein definitives BIOS tut und wie es es tut.

Compaq tragbar 386 Bios

Im Mai 1984 Phoenix Software Associates veröffentlichte seine ersten Rom-Bios, die es OEMs ermöglichten, im Wesentlichen vollständig kompatible Klone zu erstellen, ohne die IBM-PC-BIOS selbst rückgängig zu machen, wie es Compaq für die getan hatte tragbar, hilft, das Wachstum in der PC-Kompatiblessindustrie und den Verkauf von Nicht-IBM-Versionen von DOS zu fördern.[50] Und der erste amerikanische Megatrends (AMI) BIOS wurde 1986 veröffentlicht.

Neue Standards, die auf dem BIOS gepfropft sind, sind normalerweise ohne vollständige öffentliche Dokumentation oder BIOS -Angebote. Infolgedessen ist es nicht so einfach, die intimen Details zu den vielen Nicht-IBM-Ergänzungen zu BIOS zu erlernen wie über die Kern-BIOS-Dienste.

Die meisten PC -Motherboard -Lieferanten lizenzten einen BIOS -Kern und Toolkit von einem kommerziellen Drittanbieter, der als "unabhängiger BIOS -Anbieter" oder IBV bekannt ist. Der Motherboard -Hersteller hat dieses BIOS dann an seine eigene Hardware angepasst. Aus diesem Grund werden aktualisierte Biosen normalerweise direkt vom Hersteller von Motherboards erhalten. Ehemalige große BIOS -Anbieter eingeschlossen amerikanische Megatrends (AMI), Insyde Software, Phoenix TechnologiesByosoft, Auszeichnung Softwareund Mikroidforschung. Mikroidforschung und Preis -Software wurden von erworben von Phoenix Technologies In 1998; Phoenix hat später den Markennamen ausgezeichnet. Allgemeine Software, das 2007 von Phoenix ebenfalls erworben wurde, verkaufte BIOS für eingebettete Systeme basierend auf Intel -Prozessoren.

Die Open-Source-Community erhöhte ihre Bemühungen, einen Ersatz für proprietäre Biosen und ihre zukünftigen Inkarnationen mit einem offenen Gegenstück durch die zu entwickeln Libreboot, CORBOOT und OpenBIOS/Offene Firmware Projekte. AMD Bereitstellung von Produktspezifikationen für einige Chipsätze und Google sponsert das Projekt. Hauptplatine Hersteller Tyan bietet an CORBOOT neben dem Standard -BIOS mit ihrem Opteron Motherboard -Linie.

Sicherheit

Ein amerikanische Megatrends BIOS zeigt eine "Intel CPU -UCODE -Ladefehler "nach einem fehlgeschlagenen Versuch, Mikrocode -Patches in die CPU hochzuladen
Ein abgelöster BIOS -Chip

Eeprom und Flash-Speicher Chips sind vorteilhaft, da sie vom Benutzer leicht aktualisiert werden können. Für Hardwarehersteller ist es üblich Käfer. Dieser Vorteil hatte jedoch das Risiko, dass ein nicht ordnungsgemäß ausgeführtes oder abgebrochenes BIOS -Update den Computer oder das Gerät unbrauchbar machen könnte. Um diese Situationen zu vermeiden, verwenden neuere Biosen einen "Startblock". Ein Teil des BIOS, der zuerst ausgeführt wird und separat aktualisiert werden muss. Dieser Code überprüft, ob der Rest des BIOS intakt ist (mit Verwendung Hash Überprüfungen oder andere Methoden), bevor die Kontrolle darauf übertragen wird. Wenn der Startblock eine Korruption im Haupt -BIOS erkennt, warnt er den Benutzer normalerweise, dass ein Wiederherstellungsprozess durch Booten von ausgelöst werden muss Abnehmbare Medien (Floppy-, CD- oder USB -Flash -Laufwerk) So kann der Benutzer versuchen, das BIOS erneut zu blinken. Etwas Motherboards haben eine Backup BIOS (manchmal als Dualbios -Boards bezeichnet), um sich von BIOS -Korruptionen zu erholen.

Es gibt mindestens fünf bekannte BIOS -Angriffsviren, von denen zwei zu Demonstrationszwecken waren. Der erste in freier Wildbahn war war war Mebromi, zielen auf chinesische Benutzer.

Das erste BIOS -Virus war eine Bios -Meningitis, die sie anstatt BIOS -Chips zu löschen. Die Bios -Meningitis hat im Vergleich zu einem Virus wie relativ harmlos Cih.

Das zweite BIOS -Virus war Cihauch bekannt als "Tschernobylvirus", das den Flash -ROS -BIOS -Gehalt auf kompatiblen Chipsätzen löschen konnte. CIH erschien Mitte 1998 und wurde im April 1999 aktiv CIH zielte auf den damals verbreiteten Intel i430TX-Motherboard-Chipsatz ab und nutzte die Tatsache, dass die Windows 9x Die zu diesem Zeitpunkt ebenfalls weit verbreiteten Betriebssysteme ermöglichten den direkten Hardwarezugriff auf alle Programme.

Moderne Systeme sind nicht anfällig für CIH, da eine Vielzahl von Chipsätzen verwendet wird, die mit dem Intel i430TX -Chipsatz und anderen Flash -ROM -Typen nicht kompatibel sind. Es gibt auch einen zusätzlichen Schutz vor versehentlichem BIOS -Umschreiben in Form von Stiefelblöcken, die vor versehentlichem Überschreiben oder Dual- und Quad -BIOS -Systemen geschützt sind, die bei einem Absturz einen Backup -BIOS verwenden können. Auch alle modernen Betriebssysteme wie Freebsd, Linux, Mac OS, Windows NT-basierten Windows -Betriebssystemen wie Windows 2000, Windows XP und neuer, erlauben Sie nicht Benutzermodus Programme für einen direkten Hardwarezugriff mit a Hardware -Abstraktionsschicht.[51]

Infolgedessen ist CIH ab 2008 im Wesentlichen harmlos geworden, was im schlimmsten Fall ärgert wird, indem ausführbare Dateien infiziert und die Antivirensoftware ausgelöst werden. Andere BIOS -Viren bleiben jedoch möglich;[52] Da die meisten Windows-Home-Benutzer ohne Windows Vista/7 von UAC alle Anwendungen mit administrativen Berechtigungen ausführen, könnte ein modernes CIH-ähnlicher Virus im Prinzip immer noch Zugriff auf Hardware erhalten, ohne zuerst einen Exploit zu verwenden. Das Betriebssystem OpenBSD hindert alle Benutzer daran, diesen Zugriff zu haben, und der Grsecurity -Patch für den Linux -Kernel verhindert auch diesen direkten Hardware -Zugriff standardmäßig. Der Unterschied ist, dass ein Angreifer einen viel schwierigeren Kernel -Niveau -Exploit oder Neustart der Maschine erfordert.

Das dritte BIOS-Virus war eine Technik, die von John Heasman, Hauptberater für Sicherheit in Großbritannien, vorgestellt wurde. Im Jahr 2006 zeigte er auf der Black Hat Security Conference, wie man Privilegien erhöht und das physische Gedächtnis las, wobei böswillige Verfahren verwendet wurden, die Normal ersetzten ACPI Funktionen, die im Flash -Speicher gespeichert sind.[53]

Das vierte BIOS -Virus war eine Technik namens "persistente BIOS -Infektion". Es erschien 2009 auf der Cansecwest Security Conference in Vancouver und auf der Syscan Security Conference in Singapur. Forscher Anibal Sacco[54] und Alfredo Ortega von Kernsicherheitstechnologien zeigten, wie man böswilligen Code in die Dekompressionsroutinen im BIOS einfügt, was eine nahezu vollständige Kontrolle des PC beim Start ermöglicht, noch bevor das Betriebssystem gebootet ist. Der Proof-of-Concept nutzt keinen Fehler in der BIOS-Implementierung aus, sondern nur die normalen BIOS-Blitzverfahren. Daher erfordert es einen physischen Zugriff auf die Maschine oder den Benutzer, um root zu sein. Trotz dieser Anforderungen unterstrich Ortega die tiefgreifenden Auswirkungen seiner Entdeckung von seiner und Sacco: "Wir können einen Fahrer so flicken, um einen vollständigen Arbeiten fallen zu lassen rootkit. Wir haben sogar einen kleinen Code, der Antiviren entfernen oder deaktivieren kann. "[55]

Mebromi ist ein Trojaner Welches zielt auf Computer mit Preisbios, Microsoft Windows, und Antiviren Software von zwei chinesischen Unternehmen: Steigender Antiviren und Jiangmin KV Antivirus.[56][57][58] Mebromi installiert einen Rootkit, der die infiziert Master Boot Record.

In einem Interview im Dezember 2013 mit 60 Minuten, Deborah Plunkett, Informationssicherungsdirektorin für die USA Nationale Sicherheitsbehörde behauptete, die NSA habe einen möglichen BIOS -Angriff eines ausländischen Nationalstaates auf das US -Finanzsystem aufgedeckt und vereitelt.[59] Das Programm zitierte anonyme Quellen, in denen behauptet wurde, es sei eine chinesische Verschwörung.[59] Allerdings Follow-up-Artikel in Der Wächter,[60] Der Atlantik,[61] Verdrahtet[62] und Das Register[63] widerlegte die Ansprüche der NSA.

Neuere Intel -Plattformen haben Intel Boot Guard (IBG) -Technologie aktiv Pch. Endbenutzer können diese Funktion nicht deaktivieren.

Alternativen und Nachfolger

Einheitliche erweiterbare Firmware -Schnittstelle (UEFI) ergänzt das BIOS in vielen neuen Maschinen. Ursprünglich für die geschrieben Intel Itanium Architektur, UEFI ist jetzt verfügbar für x86 und Armarchitektur Plattformen; Die Spezifikationsentwicklung wird von der angetrieben Unified EFI Forum, eine Industrie Besondere Interessengruppe. Der EFI -Booting wurde nur bei unterstützt Microsoft Windows Versionen unterstützen Gpt,[64] das Linux Kernel 2.6.1 und später und Mac OS an Intel-basierte Macs.[65] Ab 2014Neue PC -Hardware versendet überwiegend mit UEFI -Firmware. Die Architektur des Rootkit -Schutzes kann auch verhindern, dass das System die eigenen Softwareänderungen des Benutzers ausführt, was UEFI als älterer BIOS -Austausch in der umstritten macht Hardware offen Gemeinschaft. Ebenfalls, Windows 11 Erfordert UEFI.[66]

Andere Alternativen zur Funktionalität des "Legacy BIOS" in der X86 -Welt umfassen CORBOOT und Libreboot.

Einige Server und Arbeitsstationen verwenden eine plattformunabhängige Offene Firmware (IEEE-1275) basierend auf dem Weiter Programmiersprache; Es ist bei Suns enthalten Sparc Computer, IBMs Rs/6000 Linie und andere Powerpc Systeme wie die Chrp Motherboards zusammen mit dem X86-basierten Basis OLPC XO-1.

Ab mindestens 2015, Apfel hat Legacy BIOS -Unterstützung entfernt von Macbook Pro Computers. Daher unterstützt das BIOS -Dienstprogramm die Legacy -Option nicht mehr und druckt "Legacy -Modus, das nicht auf diesem System unterstützt wird". Im Jahr 2017 kündigte Intel an, dass es bis 2020 die Unterstützung für die Legacy -BIOS entfernen würde. Seit 2019 unterstützt die neue Intel -Plattform -OEM -PCs die Legacy -Option nicht mehr.

Siehe auch

Anmerkungen

  1. ^ Die Signatur zum Offset +0x1fe In den Bootsektoren ist 0x55 0xaa, das ist 0x55 bei Offset +0x1fe und 0xaa bei Offset +0x1ff. Seit Little-Endian Darstellung muss im Kontext von angenommen werden IBM PC Kompatible Maschinen können als 16-Bit-Wort geschrieben werden 0xaa55 in Programmen für x86 Prozessoren (beachten Sie die ausgetauschte Bestellung), während sie als geschrieben werden müsste 0x55aa in Programmen für andere CPU -Architekturen mit a Big-Endian Darstellung. Da dies in Büchern und sogar in Original-Microsoft-Referenzdokumenten mehrfach durcheinander gebracht wurde, verwendet dieser Artikel die offset-basierte Byte-Weise On-Disk-Darstellung, um mögliche Fehlinterpretationen zu vermeiden.

Verweise

  1. ^ "Ref - System BIOS". PCGuide. Archiviert von das Original Am 2014-12-21. Abgerufen 2014-12-06.
  2. ^ "Unified Extensible Firmware -Schnittstelle". Intel. Intel.
  3. ^ "Uefi". Osdev.org.
  4. ^ a b c Kildall, Gary Arlen (Juni 1975), CP/M 1.1 oder 1.2 BIOS und BDOs für Lawrence Livermore Laboratories
  5. ^ a b c Kildall, Gary Arlen (Januar 1980). "Die Geschichte von CP/M - Die Entwicklung einer Branche: Sichtweise einer Person" (Bd. 5, Nr. 1, Nummer 41 ed.). Dr. Dobbs Journal von Computer Calisthenics & Orthodontia. S. 6–7. Archiviert vom Original am 2016-11-24. Abgerufen 2013-06-03.
  6. ^ a b "Booten · Linux im Inneren". 0xax.gitbooks.io. Abgerufen 2020-11-10.
  7. ^ a b Bradley, Tony. "R.I.P. BIOS: Ein UEFI -Primer". PC Welt. Archiviert vom Original am 2014-01-27. Abgerufen 2014-01-27.
  8. ^ Swaine, Michael (1997-04-01). "Gary Kildall und kollegiales Unternehmertum". Dr. Dobbs Journal. Archiviert vom Original am 2007-01-24. Abgerufen 2006-11-20.
  9. ^ a b "IEEE -Meilenstein in Elektrotechnik und Computing - CP/M - Mikrocomputer -Betriebssystem, 1974" (PDF). Computergeschichte Museum. 2014-04-25. Archiviert (PDF) vom Original am 2019-04-03. Abgerufen 2019-04-03.
  10. ^ Shutek, Len (2016-08-02). "In seinen eigenen Worten: Gary Kildall". Bemerkenswerte Menschen. Computergeschichte Museum. Archiviert vom Original am 2016-12-17.
  11. ^ Killian, A. Joseph "Joe" (2001). "Gary Kildalls CP/M: Einige frühe CP/M -Geschichte - 1976-1977". Thomas "Todd" Fischer, IMSAI. Archiviert von das Original Am 2012-12-29. Abgerufen 2013-06-03.
  12. ^ Fraley, Bob; Spicer, Dag (2007-01-26). "Orale Geschichte von Joseph Killian, interviewt von: Bob Fraley, herausgegeben von: Dag Spicer, aufgezeichnet: 26. Januar 2007, Mountain View, Kalifornien, CHM -Referenznummer: x3879.2007" (PDF). Computergeschichte Museum. Archiviert von das Original (PDF) Am 2014-07-14. Abgerufen 2013-06-03.
  13. ^ Glass, Brett (1989). "Der IBM PC BIOS". Byte: 303–310. Abgerufen 2021-12-31.
  14. ^ "HP BIOS -Konfigurationsdienstprogramm". Hewlett Packard. 2013. Archiviert vom Original am 2015-01-12. Abgerufen 2015-01-12.
  15. ^ Sehen Intel 64 und IA-32 Architektures-Softwareentwicklerhandbuch Archiviert 2012-01-26 bei der Wayback -Maschine, Band 3, Abschnitt 9.1.2
  16. ^ Seite 5-27 IBM PN -Hardware Referenzbibliothek Technische Referenz, 1984, Veröffentlichungsnummer 6361459
  17. ^ "IBM 5162 PC XT286 TechRef 68x2537 Technisches Referenzhandbuch" (PDF). August 1986. p. 35 (System BIOS A-5). Archiviert (PDF) vom Original am 2014-12-11. Abgerufen 2014-12-11.
  18. ^ Wie Stuffworks: Was BIOS macht Archiviert 2008-02-07 am Wayback -Maschine.
  19. ^ Stiller, Andreas; Paul, Matthias R. (1996-05-12). "Prozessorgeflüster". C't - Magazin für Computertechnik. Trends & News / Aktuell - Prozessoren (auf Deutsch). Vol. 1996, Nr. 6. Verlag Heinz Heise Gmbh & Co kg. p. 20. ISSN 0724-8679. Archiviert vom Original am 2017-08-28. Abgerufen 2017-08-28.
  20. ^ Mueller, Scott (2001-06-08). Prozessor -Update -Funktion | Mikroprozessorentypen und Spezifikationen. Informit. Archiviert vom Original am 2014-04-16. Abgerufen 2014-04-15.
  21. ^ "Linux* -Prozessor -Mikrocode -Datendatei". Download-Center. DownloadCenter.intel.com. 2009-09-23. Archiviert vom Original am 2014-04-16. Abgerufen 2014-04-15.
  22. ^ Scott Müller, Upgrade und Reparatur von PCs 15. Ausgabe, Que Publishing, 2003 ISBN0-7897-2974-1, Seiten 109-110
  23. ^ "KB4100347: Intel -Mikrocode -Updates". Support.microsoft.com. Abgerufen 2020-09-20.
  24. ^ "Mikrocode - Debian Wiki". wiki.debian.org. Abgerufen 2020-09-19.
  25. ^ a b "Wie SLP und SLIC funktionieren". Guytechie.com. 2010-02-25. Archiviert vom Original am 2015-02-03. Abgerufen 2015-02-03.
  26. ^ "Erstellen und fügen Sie ein OEM -ACPI -SLIC -Tabellenmodul zu einem Congatec -BIOS hinzu." (PDF). congatec.com. 2011-06-16. Archiviert (PDF) vom Original am 2014-08-02. Abgerufen 2015-02-03.
  27. ^ Whitson Gordon. "Die Einführung eines Anfängers zur Übertakte Ihres Intel -Prozessors". Lifehacker. Gawker Media. Archiviert vom Original am 2014-12-07. Abgerufen 2014-12-06.
  28. ^ Smart Computing -Artikel - Was ist das BIOS? Archiviert 2012-03-10 bei der Wayback -Maschine - Basics der Computing Juli 1994 • Vol.5 Ausgabe 7
  29. ^ "Was ist ACPI (erweiterte Konfiguration und Leistungsschnittstelle)? - Definition von Whatis.com". SuchwindowsServer. Abgerufen 2020-09-18.
  30. ^ "Ändern der Hardware -Abstraktionsschicht in Windows 2000 / XP - smallvoid.com". Abgerufen 2020-09-18.
  31. ^ "Was ist ACPI?". www.spo-comm.de. Abgerufen 2020-09-18.
  32. ^ Lorihollasch. "Unterstützung für kopflose Systeme - Windows -Treiber". docs.microsoft.com. Abgerufen 2020-12-05.
  33. ^ "Speicherkarte (x86) - Osdev Wiki". Wiki.osdev.org. Abgerufen 2020-12-11.
  34. ^ Torres, Gabriel (2004-11-24). "Einführung und Lithiumbatterie". Ersetzen des Motherboard -Akkus. Hardwaresecrets.com. Archiviert von das Original Am 2013-12-24. Abgerufen 2013-06-20.
  35. ^ Konstantin A. Murenin (2010-05-21). "11.1. Schnittstelle vom BIOS". OpenBSD -Hardware -Sensoren - Umweltüberwachung und Lüftersteuerung (Mmath These). Universität von Waterloo: Uwspace. HDL:10012/5234. Dokument -ID: AB71498B6B1A60FF817B29D56997A418.
  36. ^ Konstantin A. Murenin (2007-04-17). "2. Hardware -Bewertung". Verallgemeinerte Vernetzung mit Mikroprozessor -System -Hardware -Monitoren. Proceedings of 2007 IEEE International Conference für Networking, Sensing and Control, 15. bis 17. April 2007. London, Großbritannien: IEEE. S. 901–906. doi:10.1109/ICNSC.2007.372901. ISBN 978-1-4244-1076-7. IEEE ICNSC 2007, S. 901—906.
  37. ^ "AIBS - ASUSTEK AI Booster ACPI ATK0110 -Spannung, Temperatur und Lüftersensor". OpenBSD, Libelle BSD, Netbsd und Freebsd. 2010.
  38. ^ "acpi_thermal (4)". www.freebsd.org. Abgerufen 2021-02-24.
  39. ^ "Dekodieren von Ram & Rom Archiviert 2012-04-06 bei der Wayback -Maschine. " Smart Computing. Juni 1997. Band 8, Ausgabe 6.
  40. ^ "Aktualisieren Sie Ihr Flash -BIOS für Plug -and -Play Archiviert 2012-04-06 bei der Wayback -Maschine. " Smart Computing. März 1996. Band 7, Ausgabe 3.
  41. ^ "Zeit, BIOS zu überprüfen Archiviert 2011-07-16 bei der Wayback -Maschine. " Smart Computing. April 1999. Band 7, Ausgabe 4.
  42. ^ "Archivierte Kopie". Archiviert von das Original am 2021-08-18. Abgerufen 2021-04-01.{{}}: CS1 Wartung: Archiviertes Kopie als Titel (Link)
  43. ^ "Splashtops Instant-on Linux Desktop | Geek.com". Archiviert von das Original am 2008-09-07.
  44. ^ Gepostet von Alex Watson, möglicherweise von Originalinhalten auf CustomPC.com [unklar]. "Das Leben und die Zeiten des modernen Motherboards". 2007-11-27. Archiviert vom Original am 2012-07-24. Abgerufen 2013-02-02.
  45. ^ David Hilber Jr. (August 2009). "Überlegungen zum Entwerfen eines eingebetteten Intel -Architektursystems mit Systemspeicher nach unten" (PDF). Intel. Archiviert (PDF) vom Original am 2012-10-18. Abgerufen 2013-02-02.
  46. ^ "Arten von Bios". rompacks.com. Abgerufen 2021-09-20.
  47. ^ "Ich - Flashrom". www.flashrom.org. Abgerufen 2020-09-19.
  48. ^ Stiller, Andreas (2001). "Prozessor-Patches". C't (auf Deutsch). Heise (5): 240. Archiviert vom Original am 2015-11-22. Abgerufen 2015-11-21.
  49. ^ "BIOS -Logo im Preis". 2015-06-15. Archiviert vom Original am 2015-12-21. Abgerufen 2015-12-06.
  50. ^ Phoenix wartet gespannt darauf, IBM BIOS der nächsten Generation zu klonen. Archiviert 2014-01-22 bei der Wayback -Maschine, InfoWorld, 9. März 1987.
  51. ^ "Definition der Hardware -Abstraktionsschicht". PCmag. Abgerufen 2022-07-11.
  52. ^ Neues BIOS -Virus stand den HDD -Tüchern, 27. März 2009. Marcus Yam. Toms Hardware uns
  53. ^ "Black Hat 2006 Multimedia - Präsentation, Audio- und Videoarchive". www.blackhat.com. Abgerufen 2019-04-21.
  54. ^ Sacco, Anibal; Alfredo Ortéga (2009-03-23). "Persistente Bios -Infektion". Sachen ausnutzen. Archiviert vom Original am 2009-08-04. Abgerufen 2010-02-06.
  55. ^ Fisher, Dennis. "Forscher enthüllen persistente BIOS -Angriffsmethoden". Bedrohung Post. Archiviert von das Original Am 2010-01-30. Abgerufen 2010-02-06.
  56. ^ Giuliani, Marco (2011-09-13). "Mebromi: Das erste Bios Rootkit in freier Wildbahn". Blog. Archiviert Aus dem Original am 09.09.19123. Abgerufen 2011-09-19.
  57. ^ "360 发布" BMW 病毒 "技术 分析 报告". Blog. Archiviert von das Original Am 2011-09-25. Abgerufen 2011-09-19.
  58. ^ Yuan, Liang. "Trojan.Mebromi". Bedrohungsreaktion. Archiviert Aus dem Original am 09.09.19123. Abgerufen 2011-09-19.
  59. ^ a b "Wie haben 60 Minuten Kameras in eine Spionageagentur gebracht?". CBS News. Archiviert vom Original am 2014-04-22. Abgerufen 2014-04-15.
  60. ^ Spencer Ackerman in Washington (2013-12-16). "NSA dauert 60 Minuten: Die endgültigen Fakten hinter CBS 'fehlerhaftem Bericht". theGuardian.com. Archiviert vom Original am 2014-01-25. Abgerufen 2014-01-27.
  61. ^ Friedersdorf, Conor (2013-12-16). "Eine Frage für 60 Minuten: Warum sollte China die Weltwirtschaft zerstören wollen?". Der Atlantik. Abgerufen 2019-03-26.
  62. ^ Poulsen, Kevin (2013-12-16). "60 Minuten Puffstück behauptet, NSA hat die USA vor Cyberterrorismus gerettet". Verdrahtet. ISSN 1059-1028. Abgerufen 2019-03-26 - via www.rwired.com.
  63. ^ Sharwood, Simon (2013-12-16). "NSA behauptet, das BIOS -Grundstück zu zerstören PCs"". Das Register. Abgerufen 2019-03-26.
  64. ^ "Windows und GPT -FAQ". microsoft.com. Microsoft. Archiviert Aus dem Original am 02.02.1919. Abgerufen 2014-12-06.
  65. ^ "Extensible Firmware -Schnittstelle (EFI) und Unified EFI (UEFI)". Intel. Archiviert vom Original am 01.01.2010 Uhr. Abgerufen 2014-12-06.
  66. ^ "Windows 11 -Spezifikationen und Systemanforderungen | Microsoft". Microsoft. Abgerufen 2021-10-14.

Weitere Lektüre

Externe Links