Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

BIOS

Als BIOS (IPA: [ˈbaɪɔs],) – von englisch basic input/output system – wird im Allgemeinen die Firmware eines Personal Computer bezeichnet („PC-Firmware“), …

Inhalt6 Abschnitte
  1. 1. Definition und zentrale Aufgaben
  2. 2. BIOS-Konzept und Betriebssysteme
  3. 3. Klassisches PC-BIOS und Plattformbeispiele
  4. 4. EFI und UEFI als Nachfolger
  5. 5. Weitere Systemfirmware
  6. 6. Aktualisierung, Sicherheit und freie Alternativen

Definition und zentrale Aufgaben

Als BIOS (Basic Input/Output System) wird allgemein die Firmware eines Personal Computers bezeichnet. Firmware ist dauerhaft gespeicherte, hardwarenahe Software. Sie wird beim Kaltstart, also nach dem Einschalten, zuerst ausgeführt und ermöglicht durch Bootstrapping das Laden weiterer Software, insbesondere des Betriebssystems. Ursprünglich lag die Systemfirmware auf einem ROM-Chip der Hauptplatine und wurde deshalb auch System-ROM oder ROM-BIOS genannt. Heute befindet sie sich meist in einem Flash-Speicher. Der Artikel weist allerdings darauf hin, dass Systemfirmware nicht grundsätzlich ein BIOS sein muss; der Ausdruck wird häufig verallgemeinernd verwendet.

Die Systemfirmware löst beim Start zwei grundlegende Probleme. Erstens muss Software von einem Datenträger in den Hauptspeicher geladen werden, obwohl dafür bereits Software erforderlich ist. Dieses Henne-Ei-Problem löst ein Bootloader, also ein kleines Ladeprogramm. Bei heutigen PCs ist er Teil der dauerhaft gespeicherten Firmware. EPROM und Flash-Speicher behalten ihren Inhalt auch ohne Strom, sodass kein Ladeprogramm von Hand eingegeben werden muss. Bei älteren Rechnern konnte der weitverbreitete Kernspeicher seinen Inhalt ebenfalls ohne Strom bewahren; Programme mussten deshalb oft nur neu gestartet oder fortgesetzt werden.

Zweitens benötigt unterschiedliche Hardware jeweils besondere Treiber und Einstellungen. Werden hardwarespezifische Routinen in die Firmware ausgelagert, kann dieselbe Betriebssystemsoftware auf verschiedenen Rechnern laufen. Das BIOS wirkt damit als Hardware Abstraction Layer (HAL), also als Vermittlungsschicht zwischen Betriebssystem und Hardware. Moderne Betriebssysteme verwenden jedoch fast immer eigene Treiber, weil Firmware-Treiber häufig langsam oder eingeschränkt sind. Beim klassischen PC-BIOS sind dessen Real-Mode-Funktionen zudem im Protected Mode und Long Mode nicht verfügbar, in denen moderne Betriebssysteme für größere Arbeitsspeicher und einfacheres Multitasking arbeiten.

BIOS-Konzept und Betriebssysteme

Das BIOS-Konzept geht auf Gary Kildall und das Betriebssystem CP/M zurück; Kildall verwendete die Bezeichnung Basic Input/Output System bereits 1975. Weil es damals keinen herstellerübergreifenden Hardwarestandard gab, mussten die hardwarespezifischen Teile eines Betriebssystems für jedes Rechnersystem angepasst werden.

Während der Entwicklung von CP/M 1.3 und 1.4 im Jahr 1977 wurden hardwarespezifische und hardwareunabhängige Teile auch technisch voneinander getrennt. Ab CP/M 1.4 bestand das System aus zwei Schichten: dem hardwarespezifischen BIOS und dem darüberliegenden, vollständig hardwareunabhängigen BDOS (Basic Disk Operating System). Anwendungen verwendeten die Systemaufrufe des BDOS-Kernels. BDOS rief seinerseits die passenden BIOS-Routinen zur Hardwaresteuerung auf. Dadurch blieben Anwendungen zwischen unterschiedlichen Systemen portabel.

Hersteller konnten einen BIOS-Vorlagenquelltext von Digital Research lizenzieren und für ihre Rechner anpassen; BDOS wurde üblicherweise als Objektdatei geliefert und damit verbunden. Im ROM befanden sich meist nur ein einfacher Monitor und ein Bootloader, die das CP/M-Abbild von Diskette oder Festplatte luden. Auf diese Weise wurde CP/M an mehr als dreitausend Systeme angepasst. Einige Nachfolger und Varianten von CP/M enthielten ein erweitertes XIOS (Extended Input Output System).

Klassisches PC-BIOS und Plattformbeispiele

Beim IBM PC von 1981 war das BIOS ein zentraler Bestandteil. Es stellte Funktionen für den Hardwarezugriff bereit, sodass PC DOS dafür keine eigens entwickelten Gerätetreiber benötigte. Der IBM PC Model 5150 bestand weitgehend aus handelsüblichen Bauteilen und ließ sich grundsätzlich nachbauen; IBM schützte jedoch das BIOS urheberrechtlich. Erst ein durch Reverse Engineering unabhängig nachprogrammiertes BIOS ermöglichte rechtlich eigenständige IBM-kompatible PCs. Wegen ihres Erfolgs wurde eine Form des PC-BIOS im Großteil der x86-Rechner eingesetzt. In den ersten IBM PCs befand sich außerdem ein BASIC-Interpreter im ROM, auf einzelnen Systemen auch ein ROM-DOS.

Ob die Firmware ein wesentliches Merkmal einer Plattform ist, hängt von der Software ab. Ältere Programme für den Apple II oder DOS-PC griffen oft unmittelbar auf Firmwarefunktionen zu. Moderne macOS- und Windows-Anwendungen stützen sich dagegen auf das Betriebssystem; für sie ist normalerweise unerheblich, ob der Rechner BIOS, Open Firmware oder UEFI verwendet.

Beim Apple II stellte der im ROM gespeicherte System Monitor unter anderem einen einfachen Texteditor, einen Kommandointerpreter und Grundfunktionen zum Lesen und Schreiben der Datasette bereit. Außerdem bot der Rechner ein ROM-BASIC.

Beim Atari ST lag das gesamte Betriebssystem TOS einschließlich der grafischen Oberfläche GEM im ROM. Zur hardwarenahen Ebene gehörten XBIOS und BIOS. XBIOS-Funktionen wurden über Trap #14, BIOS-Funktionen über Trap #13 der 68000-Architektur aufgerufen. Weitere Schichten waren GEMDOS, VDI und AES.

Commodore-Amiga-Rechner verwendeten Kickstart. Diese Firmware erfüllte BIOS-Funktionen und enthielt zusätzlich den Kernel exec von AmigaOS. Beim Amiga 1000 mussten die Kickstart-Versionen 1.0 bis 1.3 von einer Bootstrap-Diskette in einen geschützten RAM-Bereich namens WOM geladen werden; nach einem Warmstart blieben sie erhalten. Spätere Modelle wie Amiga 500 und Amiga 2000 verwendeten ROM. Ein Kickstart Switcher erlaubte die Wahl zwischen zwei ROM-Versionen, was wegen der Kompatibilitätsprobleme von Kickstart 2.0 mit älteren Programmen und Spielen wichtig war.

EFI und UEFI als Nachfolger

Seit Mitte der 2000er Jahre wurde das klassische PC-BIOS zunehmend durch das Extensible Firmware Interface (EFI) ersetzt. Intel entwickelte EFI zunächst für die 64-Bit-Itanium-Architektur. Nachdem sich statt Itanium vor allem die von AMD entwickelte 64-Bit-Erweiterung AMD64 der x86-Architektur durchsetzte, veröffentlichte Intel 2004 EFI 1.1 für x86 beziehungsweise IA-32 unter dem Namen Tiano. 2005 übergab Intel die Weiterentwicklung an ein Industriegremium; dabei entstand die Bezeichnung Unified Extensible Firmware Interface (UEFI).

Apple setzte 2006 als erster und damals einziger Desktop-PC-Hersteller EFI ein. Beim Wechsel von PowerPC zu Intel-Prozessoren ersetzte Apple Open Firmware durch EFI 1.1 mit Mac-spezifischen Erweiterungen. Das Compatibility Support Module (CSM) emulierte ein PC-BIOS und erlaubte dadurch den Start älterer Betriebssysteme, die ein solches BIOS voraussetzten. Apple unterstützte Windows später offiziell über Boot Camp.

Auch andere x86-PCs, einschließlich Rechnern mit AMD-Prozessoren, erhielten schrittweise UEFI. Weil Betriebssysteme UEFI ausdrücklich unterstützen müssen, bot das CSM während der Übergangszeit BIOS-Kompatibilität. Es wurde etwa ab 2020 aus neuen UEFI-Systemen entfernt. Linux war das erste PC-Betriebssystem, das von EFI beziehungsweise UEFI starten konnte. Bei Windows Vista kam die Unterstützung erst mit Service Pack 1 für die x64-Ausgabe hinzu. Seit Windows 8, das auch 32-Bit-EFI ab EFI 1.1 unterstützt, setzte sich UEFI auf Desktop-PCs endgültig durch.

Windows verlangt grundsätzlich dieselbe Architektur wie die Firmware: Ein 32-Bit-Windows ab Windows 8 läuft auf 32-Bit-EFI, ein 64-Bit-Windows auf 64-Bit-UEFI. Im BIOS-Modus oder bei aktiviertem CSM können auf einem x64-Prozessor sowohl 32- als auch 64-Bit-Windows starten. Dort steht Windows jedoch keine GUID-Partitionstabelle (GPT) zur Verfügung; wegen des MBR-Partitionsschemas ist das Installationslaufwerk auf 2,2 TB begrenzt. Linux kann BIOS oder UEFI wesentlich freier mit MBR oder GPT sowie 32- oder 64-Bit-Ausgaben kombinieren.

Windows 7 verlangt UEFI 2.0 oder neuer. EFI 1.1 älterer Apple-Rechner bis ungefähr 2013 eignet sich trotz grundsätzlicher Unterstützung durch einige Windows-Versionen oft nicht für einen nativen UEFI-Start, unter anderem wegen Grafiktreibern, die ein Video-BIOS erwarten, und wegen Abweichungen von Apples EFI-Implementierung. Seit Mitte der 2010er Jahre ist UEFI auf x64-PCs Standard. Apple gab UEFI bei den ab 2020 eingeführten, Arm-basierten Apple-Silicon-Macs wieder auf.

Weitere Systemfirmware

Open Firmware ist ein plattformunabhängiger, auf der Programmiersprache Forth beruhender Standard nach IEEE 1275. Er wurde vor allem für SPARC- und PowerPC-Rechner entwickelt und unter anderem von Sun, IBM und Apple sowie auf CHRP-Systemen eingesetzt. 2006 wurden fast alle Implementierungen unter einer BSD-Lizenz veröffentlicht. Der ab 2007 produzierte Laptop OLPC XO-1 brachte Open Firmware auch auf die x86-Architektur. OpenBIOS ist eine freie Implementierung, wird auf x86 wegen mangelnder Betriebssystemunterstützung aber hauptsächlich zur Forth-Programmierung genutzt.

DEC-Alpha-Systeme besitzen zwei Firmware-Schnittstellen. ARC beziehungsweise das spätere AlphaBIOS diente ausschließlich zum Start von Windows NT auf der Alpha-Architektur. ARC war für Systeme der Serie Model 4/xxx erhältlich und wurde ab den Model-5/xxx-Systemen, darunter AlphaServer 1000/1000A, durch AlphaBIOS ersetzt. SRM (System Reference Manual) ist dagegen die Standardfirmware für Digital Unix und OpenVMS und wird auch für *BSD und Linux verwendet. Neuere Versionen erlauben die Umschaltung zwischen beiden Schnittstellen.

Das Common Firmware Environment (CFE) wurde ab etwa 2000 von Broadcom für die SiByte-Prozessorfamilie entwickelt und kann von Geräteherstellern angepasst werden. Ursprünglich für MIPS64 vorgesehen, wurde es auch auf andere Architekturen portiert, beispielsweise auf den PowerPC-Prozessor des AmigaOne X1000.

Intel entwickelte für seine Smartphone- und MID-Plattform Moorestown von 2010 das Simple Firmware Interface (SFI). Es kam ohne alte, lizenzkostenpflichtige PC-BIOS-Patente aus, verlangte jedoch speziell angepasste Betriebssysteme. Intel stellte SFI 2020 ein.

Aktualisierung, Sicherheit und freie Alternativen

Ein BIOS-Update ist eine Softwareaktualisierung der Systemfirmware. Der Ausdruck wird auch verwendet, wenn die Firmware technisch kein BIOS ist, beispielsweise bei UEFI. Die aktualisierte Software wird üblicherweise in den Flash-Speicher geschrieben, der bei älteren Systemen durch ein EPROM ersetzt wurde.

BIOS und UEFI sind tief im System verankert und deshalb potenziell sicherheitskritisch. Bei proprietärer Firmware ist der Quellcode nicht öffentlich. Absichtliche oder unbeabsichtigte Sicherheitslücken können sich dadurch öffentlicher Kontrolle entziehen und Möglichkeiten für Ausspähung, Manipulation oder Industriespionage bieten; die NSA erarbeitete 2010 hierzu eine Durchführbarkeitsstudie. Als weitere Kritikpunkte nennt der Artikel die Abhängigkeit von wenigen US-amerikanischen Herstellern, Microsofts Rolle bei der Einstufung vertrauenswürdiger Software unter UEFI, nicht erfüllte Anforderungen der deutschen Bundesregierung an Computersicherheit und mögliche fest eingebaute Nutzungseinschränkungen wie Digital Rights Management. Als Beispiel einer Einschränkung erlaubt das proprietäre Xbox-BIOS nur den Start von Microsoft zugelassener Software.

Der Flash-ROM-Baustein lässt sich abhängig von der Hauptplatine ersetzen oder überschreiben. Dadurch kann beispielsweise ein Linux-Kernel unmittelbar aus dem Flash starten, ohne ein proprietäres BIOS. Dieses Verfahren wird vor allem bei Industriecomputern eingesetzt. Freie Projekte sind Coreboot, früher LinuxBIOS, sowie Libreboot, eine Abspaltung von Coreboot ohne proprietäre Binärbestandteile, sogenannte BLOBs. Beide sind mit PC-BIOS und UEFI kompatibel. Auch OpenBIOS ist quelloffen und frei verfügbar.

Lernvideos zu BIOS

Weiterlesen

Internationales Phonetisches Alphabet Das Internationale Phonetische Alphabet (kurz IPA) ist ein phonetisches Alphabet und somit eine Sammlung von Zeichen, mit deren Hilfe die Laute aller … Computer Ein Computer (englisch; deutsche Aussprache [kɔmˈpjuːtɐ]) oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Bootstrapping (Informatik) Bootstrapping (veraltet auch Urladeverfahren bzw. Urladen) bezeichnet in der Informatik einen Prozess, der auf einem einfachen System ein komplexeres System … Betriebssystem Betriebssysteme bestehen in der Regel aus einem Kernel (deutsch: Kern), der die Hardware des Computers verwaltet, sowie speziellen Programmen, die beim Start … Akronym Akronyme, die aus Initialen zusammengesetzt sind und ausbuchstabiert werden und mit Endbetonung ausgesprochen werden, wie WM · Akronyme, die aus Initialen … Hauptplatine Die Hauptplatine (englisch Mainboard; auch Motherboard oder system board, im Apple-Umfeld Logicboard) ist die zentrale Platine eines Computers. Festwertspeicher Ein Festwertspeicher oder Nur-Lese-Speicher (englisch read-only memory, ROM) ist ein Datenspeicher, auf den im normalen Betrieb nur lesend zugegriffen … Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Peripheriegerät Peripheriegeräte dienen der Ein- und Ausgabe von Daten oder Befehlen in die Zentraleinheit. Sie erbringen eine „Dienstleistung“ für den Benutzer, diese kann … Halbleiterspeicher Ein Halbleiterspeicher (englisch semiconductor memory) ist ein auf Grundlage von Halbleitertechnik realisierter Datenspeicher. Halbleiterspeicher werden … Persistenz (Informatik) Persistenz gewährleistet Datenkontinuität und Zuverlässigkeit. Sie schützt vor Informationsverlust bei Systemabbrüchen und ermöglicht die Wiederaufnahme von … Flash-Speicher Flash-Speicher sind digitale Speicherbausteine für eine nichtflüchtige Speicherung ohne Erhaltungs-Energieverbrauch. Die genaue Bezeichnung dieses …