Basisarbeit

An der Wurzel aller Betriebssysteme tut sich etwas: Dem Basic Input/Output System (BIOS) - bisher Sache der Mainboard- und Systemhersteller - ist in den letzten zwei Jahren ein neuer Spross gewachsen, das Linux-BIOS. Inzwischen hat es den Reifegrad erreicht, den es braucht, um in Systemen auf den Markt zu gehen.

vorlesen Druckansicht 27 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Axel Urbanski

Bisher war das Linux-BIOS nur für echte Kenner der Materie nach viel Feinschliff nutzbar. Doch jetzt liefern die Firmen Cluster-Labs und RLX die ersten Blade-Systeme mit Linux-BIOS aus. Diese Rechner sind zwar für Linux prädestiniert, aber ebenso in der Lage, Open BSD und W2K zu booten.

Der Wunsch nach einem System, das in Sekundenschnelle seinen Dienst antritt und sich möglichst automatisch konfiguriert, hat zum Linux-BIOS-Projekt geführt. Das Anwendungsgebiet ist breit und reicht vom Server über den Desktop bis hin zu Multimediageräten. So verschieden die Anwendungen sind, eine Anforderung ist allen gemeinsam: den Rechner nach dem Reset in einen bootfähigen Zustand zu versetzten und ein Betriebssystem zu laden. Diese Aufgabe stellt sich seit Anbeginn des Computerzeitalters, und es hat auf den einzelnen Plattformen verschiedene Lösungen gegeben.

Sun Microsystems etwa stattet seine SPARC-Systeme mit einem Boot-PROM aus, das immer einen seriellen Zugang über ein einfaches Textterminal zum System liefert, sodass ein solcher Rechner gut ohne Grafikkarte leben kann. Die Software dieses Basissystems ist in Forth geschrieben, einer Sprache aus dem Echtzeitbereich. IBM ging einen anderen Weg und wählte die Textkonsole mit der Sprache Basic als Lösung. An X86-Server hat damals niemand gedacht.

Für die ersten Intel-basierten Rechner gab es kein Betriebssystem, sondern nur ein Disc Operating System (DOS). Die Kommunikation zwischen der Soft- und Hardware läuft dort zum großen Teil über Interrupts (IRQ) und hierfür muss ein BIOS Interrupt-Service-Routinen (ISR) zur Verfügung stellen; alles noch in historisch bedingtem 16-Bit-Code. Ein entscheidender Dienst, den das BIOS für Anwendungen bereitstellt, ist der Int13, der für den Plattenzugriff zuständig ist und den zum Beispiel der SCSI-Controller entsprechend umlenkt.

Schon mit den ersten 32-Bit-Betriebssystemen haben die Treiber die Kontrolle über die Hardware übernommen und so das BIOS weitgehend umgangen. Bei den 64-Bit-Systemen geht es noch krasser zu: um für das Betriebssystem ein BIOS zu generieren, muss ein Itanium einen 32-Bit-Prozessor emulieren, der dann 16-Bit-Befehle ausführt. Dies Verfahren gilt in ähnlicher Weise für den Athlon64, selbst wenn der weniger Aufwand für den 32-Bit-Modus treiben muss. Daher sollen die zukünftigen x86-kompatiblen 64-Bit-Systeme auf BIOS-Routinen gänzlich verzichten. Heute übernehmen Betriebssystemroutinen (Plug and Play) die endgültige Konfiguration des Rechners. Was für das BIOS als letzte Aufgabe übrig bleibt, ist die Initialisierung der Hardware. Da liegt es nahe, eine einheitliche offene Umgebung zu schaffen.

Verschiedene Projekte begannen mit kleineren Entwicklungen: Free-BIOS und Open-BIOS kümmerten sich um die X86-Welt, Openfirmware um IBMs Power-Prozessoren (PPC) und SPARC. Den Kopf der Entwicklung bildet heute das Linux-BIOS-Projekt. Es hängt mit dem Clustermatic Project der „Cluster Research Lab“ beim Advanced Computing Laboratory des Los Alamos National Laboratory zusammen. Hier verfolgt man drei Ziele: Vereinheitlichung aller Firmwarefunktionen, Clusterfähigkeit und Umstellung auf Open Source. Seit etwa anderthalb Jahren betreibt man dort mit Unterstützung von Linux-BIOS und Clustermatic einige große Cluster mit bis zu 1024 Dual-P4-Knoten.

In der Printausgabe finden Sie mehr zur Technik und zum aktuellen Stand der Entwicklung sowie einen weiteren Artikel ĂĽber einen der ersten Rechner mit Linux-BIOS. (rh)