© sxc.hu
Linux portieren
Exotische Architekturen
von Jan Rähm, Ingo Oeser
Erschienen im Linux-Magazin
2009/04
Computer, Handys, Mediaplayer und Supermarktkassen - Linux ist auf unterschiedlichster Hardware anzutreffen. Ein Schlüssel für diese Anpassungsfähigkeit des freien Betriebssystems ist unter anderem die GNU Compiler Collection.
Es gibt kaum eine Rechnerarchitektur, auf der der Linux-Kernel nicht läuft. Wenn es eine gibt, finden sich meist sehr schnell ein paar Programmierer, die für Abhilfe sorgen. Die Geschichte der Linux-Portierung ist fast so alt wie der Kernel selbst: Kernel-Vater Linus Torvalds selbst übertrug seinen für x86 geschriebenen Systemkern auf die Alpha-Architektur. Nur wenig später fand Linux seinen Weg auf Sparc-Rechner. Die jüngsten Ports übertragen Linux auf die Embedded-Architekturen AVR32 und Blackfin.
Weltenbummler
Dass Linux jemals so viele fremde Welten erobern würde, war zumindest 1991 noch nicht absehbar. Linus Torvalds selbst hat angenommen, sein "Terminal-Emulator" sei nicht portabel, da er das Task-Switching der x86-Architektur verwendete [1]. Dank der frei verfügbaren GNU Compiler Collection (GCC) entwickelte sich Linux aber schnell zu einem der am besten portierbaren Systeme. Die Hersteller von Embedded-Systemen suchten einen hoch anpassbaren Systemkern und fanden ihn in Linux. Weitere Portierungen kamen schlicht deshalb zustande, weil einige Kernelentwickler Linux auch auf ihrer Lieblings-Architektur nutzen wollten.
Erster Brückenschlag
Grundlagen jeder Linux-Portierung sind die Binutils, eine Sammlung von Programmierwerkzeugen für Assembler- und Binärcode, sowie die GCC. Beide müssen zunächst auf dem vom Entwickler genutzten Rechner, dem Host, vorliegen. Der Entwickler richtet auf diesem Rechner - beispielsweise einem gewöhnlichen x86-Computer - eine Umgebung für die Cross-Kompilierung ein. Dazu erstellt er eine Maschinenbeschreibung der Zielmaschine, dem Target.
Die notwendigen Informationen liegen üblicherweise in Form von Hersteller-Spezifikationen vor. Diese Beschreibung und maschinenspezifische Einstellungen nutzen der GNU-Assembler (Gas) und die BFD-Bibliothek aus den Binutils. Sie erzeugen und formatieren damit aus Assembler-Befehlen gültigen Binärcode. Danach nimmt der Entwickler sich die GNU Compiler Collection vor. Sie benötigt ebenfalls ein Beschreibung des Target. Diesmal enthalten die Beschreibungen detaillierte Informationen über die Zielarchitektur, nämlich wie ihre Komponenten sich ansprechen lassen und wie sie miteinander kommunizieren.
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)
Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|
Mathias Huber,
20.03.2009 16:45
Hans H,
19.03.2009 18:05