www.wikidata.de-de.nina.az
Als Embedded Linux deutsch eingebettetes Linux bezeichnet man ein eingebettetes System mit einem auf dem Linux Kernel basierenden Betriebssystem Dies impliziert nicht den Gebrauch bestimmter Mindest Bibliotheken oder Anwendungen mit diesem Kernel Inhaltsverzeichnis 1 Arten 2 Aufbau 2 1 Allgemeiner Aufbau 2 2 Uberblick uber Kernel 2 3 Entwicklungsumgebungen 2 4 Verwendete Hardware 2 4 1 x86 2 4 2 ARM 2 4 3 ETRAX CRIS 2 4 4 PowerPC 2 4 5 MIPS 2 4 6 Hitachi SuperH 2 4 7 Motorola 68000 2 4 8 Andere Hardwarekomponenten 3 Literatur 4 Einzelnachweise 5 WeblinksArten BearbeitenEmbedded Linux Systeme werden normalerweise aufgrund ihrer verschiedenen Systemeigenschaften und nicht aufgrund ihrer Einsatzorte eingeteilt Das konnen u a die Skalierbarkeit die Unterstutzung fur bestimmte Prozessoren der Stromverbrauch das Zeitverhalten Echtzeitfahigkeit der Grad der moglichen Nutzerinteraktionen oder andere wesentliche Faktoren sein Aufbau BearbeitenAllgemeiner Aufbau Bearbeiten Ein Embedded Linux System ist grob in drei Schichten unterteilbar Die unterste Schicht wird durch die zugrunde liegende Hardware gestellt Hierbei wird von den Treibern der folgenden Schicht so gut wie alles an Hardware abgedeckt was ein 32 Bit Prozessor bietet Die zweite Schicht besteht aus dem eigentlichen Kernel welcher wieder dreifach geschichtet ist Die unterste Schicht hiervon ist eine Low Level Schnittstelle welche eine erste Hardware Abstraktion mit kleinem API fur daruberliegende Schichten bietet Danach folgen kleine Module zur Vorab Interpretation von strukturierten Daten aus den Filesystem und Netzwerkprotokollen welche der Kernel empfangt und sendet An dieser Stelle konnen schon erste Weichen zu Standards auf hoheren Schichten gestellt werden Die letzte Kernelschicht wird auch High Level Abstraction Layer genannt und ist schon bei vielen Linux Derivaten und Unixen gleich oder ahnlich Diese Schicht ist bis auf Ausnahmen hardwareunabhangig hier werden z B Prozesse Threads Dateien Sockets und Signale generiert bzw verarbeitet In der letzten Schicht des Embedded Linux Systems sind verschiedene C Bibliotheken oder speziell fur eingebettete Systeme speicheroptimierte Ersatzbibliotheken und auch die Anwendungssoftware angesiedelt Die Bibliotheken werden meist dynamisch mit den Anwendungen verlinkt Uberblick uber Kernel Bearbeiten Hauptartikel Linux Kernel Entwicklungsumgebungen Bearbeiten Bei der Entwicklung von Embedded Linux Systemen kann grob zwischen Cross Development und Standalone Setups also Nicht Cross Development unterschieden werden Cross Development lasst sich ausserdem in die beiden Untergruppen Linked Setup und Removable Storage Setup unterteilen Ein Beispiel fur Cross Development ist OpenWrt 1 Linked Setup ist die Entwicklungsumgebung die das klassische Cross Development darstellt Man benutzt ein Host System auf dem eine grossere IDE Integrated Development Environment laufen kann zum Implementieren des eigentlichen Quellcodes Dieser Code wird uber die Links daher der Name Linked Setup auf das Target ubertragen auf dem sich dann ein Bootloader der Kernel und ein minimales Rootfilesystem oder ein Networkfilesystem befinden Die Links sind serielle Verbindungen wie RS232 oder aber Ethernet oder beides zusammen Aufgrund der hoheren Geschwindigkeit wird haufig Ethernet fur den Upload des Codes auf das Target benutzt und die Verbindung des RS232 fur die Ruckrichtung zum Debugging mit geringerem Datenaufkommen Der Aufbau des Removable Storage Setup lehnt sich grundsatzlich an den des Linked Setup an jedoch wird bei der Entwicklung ein Zwischenspeicher Storage zur Verfugung gestellt auf dem der zweite Bootloader der Kernel sowie das Rootfilesystem vom Host abgelegt werden Auf dem Target befindet sich vorerst lediglich der erste Bootloader welcher danach den Rest des Systems vom Zwischenspeicher bootet Bei der Entwicklung mit sogenanntem Standalone Setup verzichtet man auf eine grosse separate Entwicklungsplattform zu Gunsten eines alleinstehenden entwicklungsfahigen Targets Offensichtlich deutet dies auf eine gewisse Grosse des Targets hin denn die Entwicklungsumgebung liegt nun auf ihm selbst Bei gegebener Hardware ist diese Moglichkeit popular da dann alle zu entwickelnden Komponenten von vornherein in ihrer naturlichen Arbeitsumgebung laufen Verwendete Hardware Bearbeiten In Embedded Linux Systemen kann eine Vielzahl unterschiedlicher Hardware Anwendung finden Dies gilt nicht nur weil sich schliesslich bei noch nicht unterstutzter Hardware auch Treiber from scratch also von Grund auf selbst schreiben lassen oder weil selbst fertige off the peg Distributionen schon einen Grossteil der potentiellen Hardware ohne Anpassungen nutzen konnen sondern weil schlicht eine uberwaltigende Mehrzahl der potentiell zur Verfugung stehenden Hardware von Linux unterstutzt wird John Lombardo schrieb im Jahr 2001 Your application will determine what type of I O devices you need Fortunately a veritable army of Linux programmers have had years to develop and refine the necessary device drivers to support nearly any hardware imaginable Diese Aussage bezog sich lediglich auf verwendbare Ein und Ausgabegerate beziehungsweise Schnittstellen jedoch kann man wohl mit gutem Gewissen behaupten dass dies mit Ausnahme der Prozessoren auf den allergrossten Teil der Hardware anwendbar ist An dieser Stelle werden die unterstutzten Hardwarekomponenten ohne Anspruch auf Vollstandigkeit genannt Wegen Lombardos Aussage kann die Betrachtung der restlichen also Nicht CPU Hardware wegfallen und somit der Schwerpunkt auf die Prozessorfamilien gelegt werden Nichtgenannte Prozessortypen werden nicht automatisch nicht unterstutzt sondern schlicht seltener verwendet und stellen meist Einzellosungen dar x86 Bearbeiten Eine sehr haufig verwendete Prozessorfamilie ist die x86 Die Linuxunterstutzung beginnt prinzipiell mit allen Versionen des 386ers Wie schon weiter oben erwahnt wird durch das Projekt ELKS Embedded Linux Kernel Subset auch die Verwendbarkeit von Linux auf 286ern sichergestellt um Embedded Linux Systeme besser an die Grossenerfordernisse von kleineren Eingebetteten Systemen anzupassen Nach dem 486er wurden auch Intels Pentiums sowie die entsprechenden Fabrikate anderer Hersteller unterstutzt was technologisch und historisch gesehen den Sprung auf superskalare CISC Prozessoren fur Linux darstellte Insgesamt kann man feststellen dass der Familie der x86er eine nahezu luckenlose Unterstutzung durch Linux erfahrt was jedoch nicht vordergrundig aus dem Embedded Bereich herruhrt sondern von Workstations und Desktop PCs Damit lasst sich begrunden warum die Reihe der x86er trotz ihrer breiten Linuxkompatibilitat im traditionellen Umfeld der Eingebetteten Systeme nur einen kleinen Anteil an der verwendeten Architektur stellt Haufiger finden ARM MIPS sowie PowerPC wegen geringerer Komplexitat und gunstigerer Kosten den Weg in die Produktion ARM Bearbeiten Die ARM Architektur Advanced RISC Machine sowie die des StrongARM sind im Bereich der Eingebetteten Systeme beliebte Prozessoren und zwar in erster Linie auf Grund ihrer geringen Stromaufnahme Daher kamen sie schon fruh fur Embedded Linux Systeme in Betracht und wurden unterstutzt Obwohl ARM auch eine Firma ist werden von ihr nur die Lizenzen zum Bau ihrer Prozessoren vertrieben Alle bekannten Prozessorhersteller sind Lizenznehmer bei fur ARM Die Projekte RTAI und RTLinux von der Firma FSMLabs es werden hier eine freie sowie eine kommerzielle Variante angeboten haben sich spezifischer mit der Nutzung von ARM Architekturen mit Hinblick auf harte Echtzeitanwendungen fur Embedded Linux befasst Die Tatsache dass es sich hierbei um militarische End Anwendungen mit sehr kostenintensiven Produkten handelt zeigt ubrigens ausserst deutlich dass man sehr hohe Erwartungen an Embedded Linux als hartes Echtzeitbetriebssystem stellt und nicht von einem grossen Kostenaufwand zuruckschreckt Als zukunftsweisend ist zu erwahnen dass in den Embedded Linux Systemen auch haufig schon die Java Coprozessoren der ARMs verwendet werden konnen ETRAX CRIS Bearbeiten ETRAX CRIS bezeichnet eine Prozessorfamilie von Axis Communications Dabei steht ETRAX fur Ethernet Token Ring Achse engl AXis auch wenn der Begriff nicht langer korrekt ist weil der Support fur Token Ring bei den jungeren Modellen entfernt wurde Diese Prozessoren basieren auf dem Code Reduced Instruction Set CRIS Aktuelle Modelle sind ETRAX 100LX mit 100 MHz 32 bit RISC CPU und ETRAX 200FS mit 200 MHz 32 bit RISC CPU welche uber einen Kryptographie Beschleuniger und ein uber Microcode steuerbaren I O Prozessor verfugt ETRAX CPUs sind fur den Einsatz unter Embedded Linux optimiert und eignen sich durch ihre hohe Konfigurierbarkeit hervorragend zur Netzwerkintegration elektronischer Gerate Der italienische Hersteller ACME Systems hat auf Basis des 100LX einen voll funktionsfahigen Linux Einplatinen Computer mit LAN und USB unter dem Namen Fox Board auf den Markt gebracht PowerPC Bearbeiten Fur die Einbindung des PowerPC wird ahnlich ambitionierte Arbeit betrieben wie bei der ARM Architektur Dieses Akronym besteht aus zwei Teilen Power ist die Abkurzung fur Performance optimization with enhanced RISC also in etwa Leistungsoptimierung durch erweitertes RISC und PC steht hierbei fur Performance Chip also Hochleistungs Chip In einigen Fallen wird diese Architektur auch AIM genannt was aus den Anfangsbuchstaben der Entwicklerfirmen Apple IBM und Motorola zusammengesetzt wird Es existieren 32 Bit und 64 Bit Versionen welche gleichermassen durch Linux unterstutzt werden Insbesondere sind auch hier die Echtzeit Projekte RTAI und RTLinux federfuhrend um den PowerPC in harten Echtzeitumgebungen unter einem Linuxbetriebssystem zu verwenden sowie die Java Unterstutzung sicherzustellen MIPS Bearbeiten Obgleich die MIPS Architektur Microprocessor without interlocked pipeline stages bedeutet so viel wie Mikroprozessor ohne Pipeline Sperren sich ebenfalls durch geringere Komplexitat und damit geringere Kosten auszeichnet ist die Linuxunterstutzung hierfur noch nicht ausgereift Es mag eine Frage der Zeit sein bis die 32 Bit oder die 64 Bit Version in Embedded Linux Systemen Einzug halt momentan beschrankt sich die Unterstutzung auf eine Portierung einzelner Distributionen da der Befehlssatz von Lizenznehmer zu Lizenznehmer mitunter sehr stark variiert Da die MIPS Architektur ursprunglich im Workstation und Serverbereich gross geworden ist haufig auf ein spezielles Motherboard zugeschnitten war und die Java Unterstutzung nicht sichergestellt war ist der Einsatz als Grundlage eines Embedded Linux Systems nicht unumstritten beziehungsweise zumindest aufwandig und fuhrt zu proprietaren Losungen Hitachi SuperH Bearbeiten Hitachi SuperH ist eine RISC artige Prozessorarchitektur welche ursprunglich von Hitachi entwickelt und spater auch in Lizenz gebaut wurde Sie wird dank ihrer Bandbreite von 8 bis 64 Bit eigentlich nur 32 und 64 Bit 8 Bit und 16 Bit sind die ahnlichen Vorganger haufig in Eingebetteten Systemen genutzt Der Einsatz von Linux auf dieser Architektur wurde allerdings erst nach der Entwicklung einer Version mit MMU beziehungsweise nach der Anpassung von mCLinux an MMU lose Prozessoren haufiger Ahnliches lasst sich fur die Adressbreite sagen Linux fand zunachst nur auf den 32 Bit Versionen Anwendung erst nach der Entwicklung von mCLinux auch auf 16 Bit breiten Datenpfaden Fur diese Architektur spricht dass sie wenig Strom verbraucht und relativ gunstig herzustellen ist Motorola 68000 Bearbeiten Die 68000er Familie von Motorola auch m68k genannt wird mit 8 16 und 32 Bit als CISC Prozessor eines Embedded Linux Systems mit Echtzeitanwendungen verwendet In Nicht Linux Systemen fand sie ebenfalls oft Verwendung wenn Echtzeitfahigkeit gefordert war hier wurden oftmals zusatzlich mathematische Coprozessoren verwandt Zu dieser Architektur ist jedoch zu sagen dass Linux fur sie momentan nur geringen Support bietet was auch an der fehlenden Java Unterstutzung liegen kann Andere Hardwarekomponenten Bearbeiten Wie schon oben erwahnt ist die Linux Kompatibilitat fur unterschiedlichste Hardware quasi garantiert Dies trifft sowohl fur Busse Schnittstellen Speicher und Netzwerke als auch fur I O und andere Peripheriegerate zu Generell betrifft diese Formulierung zunachst die konventionellen Gerate Aber selbst wenn noch keine Unterstutzung fur neuere Hardware wie zum Beispiel Satellitenempfanger vorliegt dann bedeutet es einen verhaltnismassig geringen zeitlichen Aufwand eigene Treiber zu implementieren Erwahnenswert ist ferner dass angebotene Treiber haufig Hardwaremonitoring unterstutzen Dies geschieht entweder uber Watchdogs in der Software oder als separates Hardwareteil oder uber die Interpretation besonderer Monitoringsignale der jeweiligen Hardware selbst Literatur BearbeitenJurgen Quade Embedded Linux lernen mit dem Raspberry Pi Linux Systeme selber bauen und programmieren dpunkt Verlag Heidelberg 2014 ISBN 978 3 86490 143 0 Karim Yaghmour Building Embedded Linux Systems O Reilly Beijing u a 2003 ISBN 0 596 00222 XEinzelnachweise Bearbeiten Uber OpenWrt Buildroot Abgerufen am 15 Mai 2012 Eine knappe BeschreibungWeblinks Bearbeiten nbsp Commons Embedded Linux Sammlung von Bildern Videos und Audiodateien Linkkatalog zum Thema Embedded Linux englisch bei curlie org ehemals DMOZ Abgerufen von https de wikipedia org w index php title Embedded Linux amp oldid 227158491