Basic Input Output System
aus Wikipedia, der freien Enzyklopädie
Ein Basic Input Output System (BIOS) ist bei x86-PCs die Basis-Software, die der Computer direkt nach dem Einschalten lädt und ausführt. Das griechische Wort bedeutet zu deutsch Leben und könnte im übertragenen Sinne bedeuten, dass dem Rechner durch das BIOS das Leben eingehaucht wird. Diese Software wird dazu in einem nichtflüchtigen Speicher abgelegt und steht dem Steuerwerk der CPU direkt zur Verfügung.
Ein BIOS unterscheidet sich von der funktionsähnlichen Lowlevel-Firmware darin, dass es nicht selbst den Betrieb des Computers steuert, sondern dazu ein Betriebssystem bootet. Allerdings stellt auch das BIOS selbst eine Form von Firmware dar.
Im Gegensatz zu einem reinen Bootloader verbleibt es nach dem Booten im Speicher und stellt dem Betriebssystem Softwarefunktionen zur Ansteuerung der Hardware bzw. von deren Firmware zur Verfügung.
Im flüchtigen Sprachgebrauch wird der Begriff heute auch manchmal eingeengt auf die BIOS-Einstellungen (s. u.).
Inhaltsverzeichnis |
[Bearbeiten] Aufgabe des BIOS
Ein BIOS löst zwei Probleme, die beim Kaltstart eines PCs auftreten:
- Zum Einen ein klassisches Henne-Ei-Problem: Software ist in der Regel auf einem Datenträger gespeichert, die zunächst in den Hauptspeicher des Rechners eingelesen werden muss. Zum Einlesen des Datenträgers benötigt die CPU aber wiederum Software. Frühere Computer und Rechenanlagen lösten dieses Problem dadurch, dass sie die CPU nach dem Einschalten des Rechners grundsätzlich zunächst in den Pausemodus versetzten. Bevor der Rechner gestartet werden konnte, musste man zunächst manuell oder mithilfe spezieller Peripherie eine minimale Software (oft auch Bootloader, Urlader oder Ladeprogramm genannt) in den Hauptspeicher eintragen. Häufig war die Neueingabe des Urladers beim Starten des Rechners aber gar nicht nötig, da der in den 1960er und frühen 1970er Jahren weit verbreitete Kernspeicher – ganz im Gegensatz zum heute gebräuchlichen Halbleiterspeicher – seinen Inhalt auch beim Ausschalten nicht verlor und die Programme im Hauptspeicher deshalb zumeist nur neu gestartet werden mussten oder sogar fortgesetzt werden konnten. Das Ladeprogramm ist bei heutigen PCs Teil des BIOS, das in einem speziellen Speicherbaustein, dem Flash-Speicher abgelegt ist, dessen Speicherinhalt auch ohne Stromzufuhr erhalten bleibt. Damit entfällt heute die manuelle Eingabe eines Ladeprogramms.
- Zum Anderen erfordert unterschiedliche Hardware, die in unterschiedlichen Rechnern verbaut ist, jeweils eine spezielle Ansteuerungssoftware („Treibersoftware“). Ein Betriebssystem musste also früher auf jede Variante jedes Rechnertyps speziell zugeschnitten werden, um darauf lauffähig zu sein. Durch die Auslagerung dieser speziellen Ansteuersoftware in den jeweiligen Rechner wurde es möglich, die gleiche Betriebssystemsoftware auf verschiedenen Rechnern laufen zu lassen.
Allerdings lässt sich beobachten, dass moderne Betriebssysteme wieder dazu übergehen, eigene Treibersoftware für die Hardware zu benutzen, da im Protected Mode keine BIOS-Calls mehr möglich sind.
[Bearbeiten] BIOS beim IBM-kompatiblen PC
[Bearbeiten] Funktionen
Durch modernere Hardware hat das BIOS im Laufe der Zeit neue Funktionen hinzugewonnen. Nicht alle der im Folgenden genannten Punkte wurden schon vom Ur-BIOS auf dem ersten IBM PC ausgeführt. Die Weiterentwicklung der Hardware hat im Laufe der Zeit (Stand 2005 ist das BIOS-Konzept bereits über 20 Jahre alt) zu einer Reihe von iterativen, inkompatiblen Ergänzungen geführt, die zunehmend den Charakter von „Flickschusterei“ tragen und nicht mehr wirklich zeitgemäß für moderne 64 Bit-Systeme sind. Daher wurde in Form von Extensible Firmware Interface (EFI) bereits ein BIOS-Nachfolger entwickelt.
Im Wesentlichen führt das BIOS die folgenden Funktionen aus, bevor das Betriebssystem gestartet wird:
- Power On Self-Test (POST)
- Initialisierung der Hardware
- Aufforderung zur Eingabe eines BIOS-Passworts (falls konfiguriert)
- Aufforderung zur Eingabe eines Festplatten-Passworts (falls konfiguriert)
- Darstellung eines Startbildschirms
- Möglichkeit ein BIOS-Konfigurationsmenü („BIOS-Setup“) aufzurufen
- Aufrufen von BIOS-Erweiterungen, die auf Steckkarten untergebracht sind, z. B.:
- Grafikkarten
- Netzwerkkarten
- SCSI-Karten
- RAID-Karten
- Feststellen, von welchem Datenträger gebootet werden kann und soll
- Laden des Software-Bootloaders von diesem Datenträger.
Danach übernimmt der geladene Bootloader die Kontrolle über den Rechner. Meist lädt und startet er das auf dem entsprechenden Datenträger gespeicherte Betriebssystem entweder sofort oder bietet ein Menü zur Auswahl eines Betriebssystems an (Bootmanager). Bei klassischen Betriebssystemen (z. B. DOS) wird das BIOS auch im weiteren Betrieb genutzt. Es übernimmt für das Betriebssystem die Kommunikation mit diverser Hardware, z. B.:
- Tastatur
- serielle und parallele Schnittstellen
- Systemlautsprecher
- Grafikkarte (nur Textdarstellung)
- Diskettenlaufwerke
- Festplatten
Andere, moderne Arten von Hardware werden vom BIOS nicht bedient. Zur Ansteuerung z. B. einer Maus ist auch unter DOS ein spezieller Hardwaretreiber nötig.
Neuere, treiberbasierte Betriebssysteme wie z. B. Linux oder Microsoft Windows nutzen diese BIOS-Dienste nicht. Sie laden für jede Art von Hardware einen speziellen Treiber. Sie müssen jedoch am Anfang ihres Startvorgangs noch kurz auf die BIOS-Funktionen zur Ansteuerung der Festplatten zurückgreifen, um ihren Festplattentreiber zu laden.
Siehe auch Return On AC Power Loss.
[Bearbeiten] Sicherheit
Das BIOS ist die zweite Sicherheitsstufe, die unberechtigten Zugriff auf einen Computer verhindern kann. Zuvor gibt es die physische Sicherung mit Schlössern o. ä., welche stets vorzuziehen ist. Im BIOS-Setup kann eine Passwortabfrage für das Starten des Rechners eingerichtet werden. Dies stellt aber nur auf den ersten Blick eine Sicherung des Systems dar, da diese Einstellungen bei physischem Zugang zum Computer mehr oder weniger leicht durch Manipulationen auf der Hauptplatine ausgehebelt werden kann (z. B. Rücksetzen der BIOS-Konfiguration durch Entfernen der Batterie). Zudem wirkt diese Sicherung auch nur auf die Hauptplatine, auf der sich das BIOS enthaltende ROM befindet. Tauscht man diese aus, oder baut man die Festplatte(n) des Systems in einen anderen Rechner ein, kann problemlos auf alle Daten zugegriffen werden. Zudem haben die Hersteller meist ein festes (Recovery-)Passwort (eigentlich nur den Servicekräften bekannt) eingerichtet, um den Zugang wiederherstellen zu können, wenn man sein eigenes Passwort vergessen hat.
Für viele BIOS-Versionen gibt es neben dem User-Passwort, mit dem das Booten des Betriebssystems gesperrt wird, auch ein Master- oder Supervisor-Passwort, welches die Einstellungen des BIOS vor Veränderungen schützt. Damit lässt sich ein passwortgeschützter Rechner auch dann wieder starten, wenn man etwa das User-Passwort vergessen hat.
[Bearbeiten] BIOS-Einstellungen
In das Setup-Programm des BIOS gelangt man meistens, indem man beim Einschalten des Rechners eine bestimmte Taste oder Tastenkombination betätigt (meist Entf, Einf, F10, F12 oder F2). Selten findet man Mainboards, auf denen ein bestimmter Jumper gesetzt werden muss.
Bei Schwierigkeiten bietet das BIOS i. A. die Möglichkeit, die Standardeinstellungen des Rechner- oder des BIOS-Herstellers zu setzen.
[Bearbeiten] Aktualisieren des BIOS
Auf modernen Hauptplatinen ist das BIOS in einem wiederbeschreibbaren Speicher (genauer: EEPROM meist Flash-Speicher) abgelegt. Daher kann es durch neuere Versionen ersetzt werden („Flashen“). Da ein Rechner ohne vollständiges BIOS jedoch nicht funktionsfähig ist, stellt dieser Vorgang immer ein gewisses Risiko dar. Wird er unterbrochen, z. B. durch einen Stromausfall, muss der Chip, auf dem das BIOS gespeichert ist, normalerweise ausgetauscht werden.
Mit der Zeit entwickelten AMI, Award, Phoenix und andere Hersteller „BootBlock"/Recovery-BIOS-Bereiche, die bei einem Flash-Vorgang dann normalerweise nicht mehr überschrieben werden (sollten). Schlug der Flash-Vorgang fehl, startet das „BootBlock"/Recovery-BIOS und ermöglicht es, von Diskette zu booten.
Mit dieser Notfallmöglichkeit kann man eine bootbare Diskette mit einem DOS-Kernel vorbereiten, die das BIOS-Update und ein Flash-Programm enthält. Bootbare Disketten kann man in DOS, Windows 9x mit dem Befehl:
format a: /s
erstellen.
In Windows XP und höher funktioniert das Erstellen einer einfachen bootbaren DOS-Diskette über den Diskettenformatierungsdialog.
Einige Hauptplatinen („motherboards“) bieten ein so genanntes DualBIOS an. Im Fehlerfall kann das zweite (noch intakte) BIOS den Startvorgang übernehmen und die Änderung rückgängig gemacht werden. Das kann beim Flashen des BIOS ein Rettungsanker sein, sollte die neu aufgespielte BIOS-Version nicht funktionieren. Des Weiteren können mit einem DualBIOS verschiedene BIOS-Einstellungen geladen werden.
[Bearbeiten] BIOS-Hersteller
Eine Auswahl von Herstellern von BIOSen für IBM-kompatible PCs:
- IBM stellt seit geraumer Zeit kein eigenes BIOS mehr her
- AMI
- MR BIOS
- Phoenix/Award - Award und Phoenix haben fusioniert, so dass es ab der Version 6.0 aktuell nur noch dieses BIOS gibt.
[Bearbeiten] Vergleichbare Konzepte bei Nicht-x86-Systemen
[Bearbeiten] BIOS bei CP/M-Computern
In der Ausdrucksweise von CP/M bedeutet BIOS nicht ein Programm in einem Festspeicher, sondern die unterste Ebene des Betriebssystems selbst, die von einer Diskette oder Festplatte geladen wird. Bei MS-DOS (für x86) heißt die entsprechende Komponente daher aufgrund der Verwechslungsgefahr nicht BIOS, sondern „IO.SYS“.
[Bearbeiten] Kickstart beim Commodore Amiga
Die Amiga-Rechner von Commodore benötigen als BIOS das so genannte Kickstart. Die ersten Modelle des Amiga 1000 mussten nach dem Einschalten (Kaltstart) noch per Bootstrap-Diskette mit den Kickstart Versionen 1.0 bis 1.3 gestartet werden. Das Kickstart wurde im WOM, einem besonderen Bereich des RAM, abgelegt und gegen Überschreiben gesichert. Nach einem Reset (Warmstart) blieb dieses im Speicher erhalten und brauchte nicht neu geladen zu werden. Dieser Umstand hat jedoch den Vorteil, dass man sehr schnell und unkompliziert auf eine neuere Version aktualisieren kann. Alle späteren Modelle, wie der Amiga 500 oder der Amiga 2000, verfügten bereits über ein ROM, welches sich nur durch Austausch des Bausteins in seiner Version ändern ließ. Jedoch konnte man durch Verwendung eines „kickstart switcher“ zwischen zwei ROMs vor dem Einschalten die Kickstartversion per Schalter wechseln. Dies wurde besonders relevant seit Kickstart 2.0, welches einige ältere Spiele nicht mehr unterstützte. Insbesondere Besitzer des Amigamodells 500+, welches Kickstart 2.0 verwendete, waren auf einen Kickstartswitcher angewiesen, sofern sie die zu 2.0 inkompatiblen Spiele auf ihrem Amiga laden wollten.
[Bearbeiten] XBIOS/TOS beim Atari ST
Beim Atari ST war das gesamte Betriebssystem TOS, einschließlich der grafischen Benutzeroberfläche GEM, im ROM untergebracht und war quasi direkt nach dem Einschalten betriebsbereit.
Als BIOS bezeichnete man die unterste Schicht des Betriebssystems, für den Programmierer erkennbar als eine Sammlung speicherresidenter Funktionen. Darüberliegende Schichten (ebenfalls erkennbar als solche Sammlungen) waren:
- das GEMDOS (GEM Disk Operating System)
- das VDI (Virtual Device Interface)
- das AES (Application Environment System)
Das XBIOS (Extended Basic Input/Output System) war keine eigene Schicht, sondern lag parallel zum BIOS auf derselben Schicht. Programmtechnisch sind einige Funktionen des XBIOS aber unterhalb des BIOS angesiedelt, d. h. noch Hardware-näher.
[Bearbeiten] Open Firmware (z. B. bei Apple-Computern)
Für Nicht-x86-Rechner (z. B. PowerPC oder SPARC) wurde von mehreren Herstellern (u. a. Sun) der plattformunabhängige Open Firmware-Ansatz (IEEE-1275) auf FORTH-Basis definiert. Dieser kommt nicht nur bei Suns Sparc-Rechnern, sondern auch bei den PowerMacs von Apple und CHRP-Rechnern von Drittherstellern wie Genesi (mit dem Pegasos) zum Einsatz.
Auf den neuen Intel-Macs verwendet Apple das so genannte Extensible Firmware Interface (EFI).
[Bearbeiten] Zukunft
[Bearbeiten] Extensible Firmware Interface
Intel und Microsoft sind bestrebt, das über 20 Jahre alte BIOS durch das Extensible Firmware Interface (EFI) zu ersetzen, welches bessere Voraussetzungen für zukünftige Computergenerationen bieten soll. Es findet teilweise schon im Server-Bereich Verwendung, und mit der Einführung von Windows Vista sollte es auch bei konventionellen x86-PCs die Ablösung des inzwischen veralteten BIOS-Konzeptes einleiten. Im März 2006 kündigte jedoch Microsoft an, mit Vista EFI nicht zu unterstützen. Apple setzt EFI bereits in sämtlichen Intel x86-basierten Macintosh-Modellen ein.
[Bearbeiten] Freie BIOS-Alternativen
Die verschiedenen BIOS-Implementierungen der verschiedenen PCs sind im Regelfall proprietäre (d. h. nicht freie) Software, was große Unsicherheiten birgt. So erlaubt z. B. das BIOS der Xbox es nicht, andere Software als die von Microsoft zugelassene zu starten. Des Weiteren ist zu befürchten, dass im Zuge von DRM zukünftig im BIOS Einschränkungen der Handlungsfreiheit des Benutzers verankert werden.
Es ist möglich, den EEPROM-Baustein, auf dem das BIOS abgelegt ist, zu ersetzen oder zu überschreiben, um so z. B. den Linux-Kernel direkt aus dem EEPROM heraus zu starten, ohne BIOS. Die Vorgehensweise ist jedoch von der jeweiligen Hauptplatine abhängig und somit nicht ganz einfach.
Projekte mit dieser Zielsetzung sind etwa LinuxBIOS und OpenBIOS.
[Bearbeiten] Weblinks
[Bearbeiten] BIOS-Entwickler (Developer)
- American Megatrends Inc.
- Award Software international (archiviert) (1998 übernommen von Phoenix)
- MicroID Research – MRBIOS (archiviert) (indirekt übernommen von Phoenix)
- Phoenix Technologies
- General Software – EBIOS (Embedded BIOS)
- Insyde Software – H2O BIOS, Systemsoft BIOS, XpressROM BIOS, MobilePRO BIOS™
[Bearbeiten] Weitere BIOS bezogene Weblinks
- Uniflash - Universelles Flash tool
- OpenBIOS homepage
- LinuxBIOS homepage
- BIOS-Kompendium Homepage, BIOS-Brenn-/„Reparier“-Service
- Borg Number One's BIOS Pages – BIOS Tool Collection (BNOBTC), BIOS Logo Galerie
- WimsBios, BIOS-Forum
- „Wie macht man ein BIOS-Update?“ bei THG
- „Hardwerker“, Werkzeuge zur Fehlersuche - Enumeration PCI-Adapter durch BIOS und WinPnP
- BIOS-Beepcodes: zur Fehlersuche beim Boot-Vorgang
- BIOS-Fehlermeldungen mit Lösungsvorschlägen