Zum Inhalt springen

„Open Firmware“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Bloobmonster (Diskussion | Beiträge)
Linkvorschlag-Funktion: 2 Links hinzugefügt.
 
(20 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:OpenBoot on UltraSparc5.png|miniatur|OpenBoot Screenshot des Bootvorgangs]]
[[Datei:OpenBoot on UltraSparc5.png|miniatur|OpenBoot Screenshot des Bootvorgangs]]


'''Open Firmware''' (kurz '''OFW''' oder '''OF''') ist ein offener, plattformunabhängiger Standard, der eine Bootumgebung für Betriebssysteme von Rechnersystemen definiert (offene Firmware für den [[Booten|Bootprozess]]). Open Firmware ist standardisiert in [[Institute of Electrical and Electronics Engineers|IEEE]]-1275.
'''Open Firmware''' (kurz '''OFW''' oder '''OF''') ist ein offener, plattformunabhängiger Standard, der eine Bootumgebung für Betriebssysteme von Rechnersystemen definiert (offene Firmware für den [[Booten|Bootprozess]]). Open Firmware ist standardisiert in [[Institute of Electrical and Electronics Engineers|IEEE]]-1275 und fungiert primär als [[System-Firmware]], dessen Funktionalität aber weit über jene vergleichbarer Konzepte wie etwa dem [[BIOS (IBM PC)|PC-BIOS]] hinausgeht.


Die Funktionalität geht dabei weit über ein typisches PC-[[BIOS]] hinaus. Verbreitung findet OFW letztlich nur auf der [[Sun SPARC|SPARC]]- und [[PowerPC]]-[[Prozessorarchitektur|Architektur]]. Außer am Kinder-Laptop [[OLPC XO-1]] konnte sich OFW im PC-Bereich der [[X86-Prozessor|x86-kompatiblen CPUs]] trotz der Vorteile nicht durchsetzen dort besteht die [[Firmware]] (BIOS und dessen dedizierter Nachfolger [[Unified Extensible Firmware Interface|EFI]]) seit jeher aus reinem x86-Maschinencode und ist daher auch nicht auf andere Prozessor-Architekturen portabel.
Verbreitung findet Open Firmware letztlich nur auf der [[SPARC-Architektur|SPARC]]- und [[PowerPC]]-[[Befehlssatzarchitektur|Architektur]]. Außer am Kinder-Laptop [[OLPC XO-1]] konnte sie sich trotz der Vorteile nie auf [[x86-Architektur|x86-]]Computern durchsetzen dort setzte sich das „BIOS“ (im Kontext PC-BIOS) als System-[[Firmware]] von [[IBM Personal Computer|IBM PCs]] auf einer wachsenden Zahl [[IBM-PC-kompatibler Computer|dazu kompatibler Computer]], den allermeisten [[Personal Computer]]n, durch. Dieses PC-BIOS ist in x86-[[Maschinensprache|Maschinencode]] geschrieben und war daher nicht auf andere Architekturen portabel.

Open Firmware an Funktionalität ebenbürtig ist hingegen der PC-BIOS-Nachfolger [[Unified Extensible Firmware Interface|UEFI]], der nicht nur auf x86-[[IBM-PC-kompatibler Computer|PCs]], sondern auch auf weiteren Architekturen verfügbar ist (neben [[Itanium-Architektur|Itanium]] und [[IA-32]]/[[x64|x86-64]] u. a. auch [[Arm-Architektur|Arm]]).


== Funktionsweise ==
== Funktionsweise ==
Open Firmware bietet eine Kommandozeile als optionalen Bootprompt und unterstützt programmierbare Kommandos in der hardwareunabhängigen assemblernahen Programmiersprache [[Forth (Informatik)|Forth]]. Über Open Firmware können Hersteller von Zusatzgeräten (z. B. Grafikkarten) deren Einbindung so gestalten, dass sie unabhängig von der [[Hauptprozessor|CPU]] sind. Dazu definiert Open Firmware eine Forth-Variante, die in einem [[Zwischencode]]-Format namens FCode auf einem [[Festwertspeicher]] auf dem Zusatzgerät gespeichert werden kann.
Open Firmware bietet eine [[Kommandozeile]] als optionalen Bootprompt und unterstützt programmierbare Kommandos in der hardwareunabhängigen assemblernahen Programmiersprache [[Forth (Informatik)|Forth]]. Über Open Firmware können Hersteller von Zusatzgeräten (z. B. Grafikkarten) deren Einbindung so gestalten, dass sie unabhängig von der [[Hauptprozessor|CPU]] sind. Dazu definiert Open Firmware eine Forth-Variante, die in einem [[Zwischencode]]-Format namens FCode auf einem [[Festwertspeicher]] auf dem Zusatzgerät gespeichert werden kann.


OFW definiert eine Umgebung, die unabhängig von verwendetem Prozessor und System als eine Art [[Kernel (Betriebssystem)|Kernel]] fungiert (siehe [[virtuelle Maschine]]). Einsteckbare Geräte können dabei eigene Routinen beim System anmelden, die prinzipiell auf jeder Open-Firmware-Plattform ausgeführt werden können. Der Zugriff auf Geräte im System ist über eine Laufzeitumgebung möglich. Dort werden die Geräte in einer Baumstruktur verwaltet, deren Einträge eine dynamische Zahl von Attributen haben.
OFW definiert eine Umgebung, die unabhängig von verwendetem Prozessor und System als eine Art [[Kernel (Betriebssystem)|Kernel]] fungiert (siehe [[virtuelle Maschine]]). Einsteckbare Geräte können dabei eigene Routinen beim System anmelden, die prinzipiell auf jeder Open-Firmware-Plattform ausgeführt werden können. Der Zugriff auf Geräte im System ist über eine Laufzeitumgebung möglich. Dort werden die Geräte in einer Baumstruktur verwaltet, deren Einträge eine dynamische Zahl von Attributen haben.


Der Zugriff auf die Geräte ist auch dem geladenen Betriebssystem möglich, sofern das ''Client Interface'' in der Open Firmware implementiert wurde. Da die Open-Firmware-Umgebung enge Grenzen setzt, in denen FCode-Treiber zu arbeiten haben, sind diese oft nicht sehr performant und unterstützen nur die Funktionen der Hardware, die zum Start benötigt werden. Aus diesem Grund übernimmt das Betriebssystem in aller Regel relativ schnell selbst die Kontrolle. Die Terminalkonsole von Solaris auf der SPARC-Architektur greift zum Beispiel auf den Grafikkartentreiber in der Open Firmware zurück, wodurch die Konsole sehr langsam ist.
Der Zugriff auf die Geräte ist auch dem geladenen Betriebssystem möglich, sofern das ''Client Interface'' in der Open Firmware implementiert wurde. Da die Open-Firmware-Umgebung enge Grenzen setzt, in denen FCode-Treiber zu arbeiten haben, sind diese oft nicht sehr performant und unterstützen nur die Funktionen der [[Hardware]], die zum Start benötigt werden. Aus diesem Grund übernimmt das Betriebssystem in aller Regel relativ schnell selbst die Kontrolle. Die Terminalkonsole von Solaris auf der SPARC-Architektur greift zum Beispiel auf den Grafikkartentreiber in der Open Firmware zurück, wodurch die Konsole sehr langsam ist.


Auch einfache Diagnosefunktionen können vor dem eigentlichen Systemstart ausgeführt werden, oder es können Einstellungen (Environment-Variablen) geändert werden – vergleichbar mit einem Linux-Bootprompt, jedoch wesentlich flexibler.
Auch einfache Diagnosefunktionen können vor dem eigentlichen Systemstart ausgeführt oder es können Einstellungen (Environment-Variablen) geändert werden – vergleichbar mit einem Linux-Bootprompt, jedoch wesentlich flexibler.


== Geschichte ==
== Geschichte ==
Die erste Spezifikation von Open Firmware stammt von [[Sun Microsystems]].
Die erste Spezifikation von Open Firmware stammt von [[Sun Microsystems]].


Open Firmware wurde zunächst in Sun Microsystems’ [[Sun SPARC|SPARC]]-Architektur als OpenBootProm verwendet, und dann später mit der Einführung der [[PowerPC]]-Architektur für [[Apple]]s [[Apple Macintosh|Macintosh]]-Rechner übernommen.
Open Firmware wurde zunächst in Sun Microsystems’ [[SPARC-Architektur|SPARC]]-Architektur als OpenBootProm verwendet, und dann später mit der Einführung der [[PowerPC]]-Architektur für [[Apple]]s [[Macintosh]]-Rechner übernommen.


Im PC-Bereich mit [[X86-Prozessor|x86]]-kompatiblen CPUs konnte sich OFW nicht durchsetzen, dort geht der Trend in Richtung [[Unified Extensible Firmware Interface|EFI]]. Daher setzt seit dem Umstieg auf die [[Intel]]-Architektur auch Apple anstelle der OFW nun Intels BIOS-Nachfolger EFI ein.
Im PC-Bereich mit [[x86-Architektur|x86]]-kompatiblen Prozessoren konnte sich OFW nicht durchsetzen, dort geht der Trend in Richtung [[Unified Extensible Firmware Interface|UEFI]]. Daher setzt seit dem Umstieg auf die [[Intel]]-x86-Architektur auch Apple anstelle der OFW nun Intels BIOS-Nachfolger UEFI ein.


== Einsatzgebiete ==
== Einsatzgebiete ==
Open Firmware wird heutzutage auf einer Vielzahl von Plattformen, vom Einzelplatz- bis zum Großrechnersystem verwendet. Zum Einsatz kommt Open Firmware z. B. bei sämtlichen Systemen von Sun Microsystems – aber auch auf [[Common Hardware Reference Platform|CHRP]]-Rechnern von Apple ([[Macintosh-Modelle|PowerMacs]]) oder von anderen Herstellern, die auf der [[PowerPC]]-Architektur basieren. Beispielsweise benutzen die Rechner [[Pegasos]]-I und -II sowie die [[EFIKA]]-Mainboards der Firma Genesi eine Open Firmware.
Open Firmware wird heutzutage auf einer Vielzahl von Plattformen, vom Einzelplatz- bis zum Großrechnersystem, verwendet. Zum Einsatz kommt Open Firmware z. B. bei sämtlichen Systemen von Sun Microsystems – aber auch auf [[Common Hardware Reference Platform|CHRP]]-Rechnern von Apple ([[Macintosh-Modelle#PowerPC|Macs mit PowerPC-Prozessor]] wie [[Power Macintosh|Power Macs]]) oder von anderen Herstellern, die auf der [[PowerPC]]-Architektur basieren. Beispielsweise benutzen die Rechner [[Pegasos (Computer)|Pegasos]]-I und -II sowie die [[EFIKA]]-Mainboards der Firma Genesi eine Open Firmware.


Der [[OLPC XO-1]] der Initiative {{lang|en|“One Laptop Per Child”}} verwendet eine x86-Open-Firmware-Implementation zusammen mit einem angepassten Kind-gerechten [[Linux]]-Betriebssystem.
Der [[OLPC XO-1]] der Initiative {{lang|en|“One Laptop Per Child”}} verwendet eine x86-Open-Firmware-Implementation zusammen mit einem angepassten Kind-gerechten [[Linux]]-Betriebssystem.
Zeile 28: Zeile 30:
== Siehe auch ==
== Siehe auch ==
* [[OpenBIOS]], eine freie Implementierung von OFW
* [[OpenBIOS]], eine freie Implementierung von OFW
* [[coreboot]], eine freie Implementierung von Plattforminitialisierung
* [[Libreboot]], eine freie Implementierung von Plattforminitialisierung ohne [[Binary Large Object|BLOBs]], Fork von coreboot


== Weblinks ==
== Weblinks ==
Zeile 33: Zeile 37:
* [http://developer.apple.com/documentation/Hardware/Developer_Notes/Macintosh_CPUs-G4/PowerMac_G4_03Aug00/PMG4.5b.html Drei Artikel über Open Firmware] von der [[Apple Developer Connection]]
* [http://developer.apple.com/documentation/Hardware/Developer_Notes/Macintosh_CPUs-G4/PowerMac_G4_03Aug00/PMG4.5b.html Drei Artikel über Open Firmware] von der [[Apple Developer Connection]]
* [http://www.firmworks.com/QuickRef.html Open Firmware Kurzreferenz]
* [http://www.firmworks.com/QuickRef.html Open Firmware Kurzreferenz]
* [http://www.codegen.com/SmartFirmware/index.html SmartFirmware]

=== Open Source ===
* [http://sourceforge.net/projects/u-boot Das U-Boot – Universal Bootloader]


[[Kategorie:Firmware]]
[[Kategorie:Firmware]]
[[Kategorie:IEEE-Norm]]
[[Kategorie:Forth (Programmiersprache)]]

Aktuelle Version vom 27. März 2025, 21:38 Uhr

OpenBoot Screenshot des Bootvorgangs

Open Firmware (kurz OFW oder OF) ist ein offener, plattformunabhängiger Standard, der eine Bootumgebung für Betriebssysteme von Rechnersystemen definiert (offene Firmware für den Bootprozess). Open Firmware ist standardisiert in IEEE-1275 und fungiert primär als System-Firmware, dessen Funktionalität aber weit über jene vergleichbarer Konzepte wie etwa dem PC-BIOS hinausgeht.

Verbreitung findet Open Firmware letztlich nur auf der SPARC- und PowerPC-Architektur. Außer am Kinder-Laptop OLPC XO-1 konnte sie sich trotz der Vorteile nie auf x86-Computern durchsetzen – dort setzte sich das „BIOS“ (im Kontext PC-BIOS) als System-Firmware von IBM PCs auf einer wachsenden Zahl dazu kompatibler Computer, den allermeisten Personal Computern, durch. Dieses PC-BIOS ist in x86-Maschinencode geschrieben und war daher nicht auf andere Architekturen portabel.

Open Firmware an Funktionalität ebenbürtig ist hingegen der PC-BIOS-Nachfolger UEFI, der nicht nur auf x86-PCs, sondern auch auf weiteren Architekturen verfügbar ist (neben Itanium und IA-32/x86-64 u. a. auch Arm).

Open Firmware bietet eine Kommandozeile als optionalen Bootprompt und unterstützt programmierbare Kommandos in der hardwareunabhängigen assemblernahen Programmiersprache Forth. Über Open Firmware können Hersteller von Zusatzgeräten (z. B. Grafikkarten) deren Einbindung so gestalten, dass sie unabhängig von der CPU sind. Dazu definiert Open Firmware eine Forth-Variante, die in einem Zwischencode-Format namens FCode auf einem Festwertspeicher auf dem Zusatzgerät gespeichert werden kann.

OFW definiert eine Umgebung, die unabhängig von verwendetem Prozessor und System als eine Art Kernel fungiert (siehe virtuelle Maschine). Einsteckbare Geräte können dabei eigene Routinen beim System anmelden, die prinzipiell auf jeder Open-Firmware-Plattform ausgeführt werden können. Der Zugriff auf Geräte im System ist über eine Laufzeitumgebung möglich. Dort werden die Geräte in einer Baumstruktur verwaltet, deren Einträge eine dynamische Zahl von Attributen haben.

Der Zugriff auf die Geräte ist auch dem geladenen Betriebssystem möglich, sofern das Client Interface in der Open Firmware implementiert wurde. Da die Open-Firmware-Umgebung enge Grenzen setzt, in denen FCode-Treiber zu arbeiten haben, sind diese oft nicht sehr performant und unterstützen nur die Funktionen der Hardware, die zum Start benötigt werden. Aus diesem Grund übernimmt das Betriebssystem in aller Regel relativ schnell selbst die Kontrolle. Die Terminalkonsole von Solaris auf der SPARC-Architektur greift zum Beispiel auf den Grafikkartentreiber in der Open Firmware zurück, wodurch die Konsole sehr langsam ist.

Auch einfache Diagnosefunktionen können vor dem eigentlichen Systemstart ausgeführt oder es können Einstellungen (Environment-Variablen) geändert werden – vergleichbar mit einem Linux-Bootprompt, jedoch wesentlich flexibler.

Die erste Spezifikation von Open Firmware stammt von Sun Microsystems.

Open Firmware wurde zunächst in Sun Microsystems’ SPARC-Architektur als OpenBootProm verwendet, und dann später mit der Einführung der PowerPC-Architektur für Apples Macintosh-Rechner übernommen.

Im PC-Bereich mit x86-kompatiblen Prozessoren konnte sich OFW nicht durchsetzen, dort geht der Trend in Richtung UEFI. Daher setzt seit dem Umstieg auf die Intel-x86-Architektur auch Apple anstelle der OFW nun Intels BIOS-Nachfolger UEFI ein.

Open Firmware wird heutzutage auf einer Vielzahl von Plattformen, vom Einzelplatz- bis zum Großrechnersystem, verwendet. Zum Einsatz kommt Open Firmware z. B. bei sämtlichen Systemen von Sun Microsystems – aber auch auf CHRP-Rechnern von Apple (Macs mit PowerPC-Prozessor wie Power Macs) oder von anderen Herstellern, die auf der PowerPC-Architektur basieren. Beispielsweise benutzen die Rechner Pegasos-I und -II sowie die EFIKA-Mainboards der Firma Genesi eine Open Firmware.

Der OLPC XO-1 der Initiative “One Laptop Per Child” verwendet eine x86-Open-Firmware-Implementation zusammen mit einem angepassten Kind-gerechten Linux-Betriebssystem.

  • OpenBIOS, eine freie Implementierung von OFW
  • coreboot, eine freie Implementierung von Plattforminitialisierung
  • Libreboot, eine freie Implementierung von Plattforminitialisierung ohne BLOBs, Fork von coreboot