2024-03-05 00:34:31 +01:00
|
|
|
|
<!--
|
|
|
|
|
Challenges with Direct Statistics
|
|
|
|
|
|
|
|
|
|
No Centralized Reporting:
|
|
|
|
|
Unlike mobile OS usage (Android vs. iOS), there's no unified app store
|
|
|
|
|
or market survey specifically for embedded Linux UIs. Projects range
|
|
|
|
|
from hobbyist work to closed-source industrial systems, making data
|
|
|
|
|
collection highly fragmented.
|
|
|
|
|
|
|
|
|
|
Embedded Development Diversity:
|
|
|
|
|
The range of devices running embedded Linux is immense, varying greatly
|
|
|
|
|
in purpose and visibility. This creates a large sample space that’s
|
|
|
|
|
hard to track systematically.
|
|
|
|
|
|
|
|
|
|
Subjectivity in Definition:
|
|
|
|
|
What constitutes "most used" gets tricky. Is it by volume of devices
|
|
|
|
|
regardless of scale, or by developer preferences in recent projects?
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
\pagebreak
|
|
|
|
|
|
|
|
|
|
# Grundlagen
|
|
|
|
|
|
|
|
|
|
## Eingebettete Systeme
|
|
|
|
|
|
|
|
|
|
Traditionelle Ansichten über Computer beschreiben sie oft als
|
|
|
|
|
eigenständige Geräte wie Desktops oder Laptops. Im Gegensatz dazu
|
|
|
|
|
skizzierte Mark Weiser in seinem einflussreichen Paper
|
|
|
|
|
"The Computer of the 21st Century" 1999 eine Vision des "Ubiquitous Computing". [@weiserComputer21stCentury1999]
|
|
|
|
|
Diese Vision beschreibt eine Welt, in der nahtlos integrierte Geräte in unserem
|
|
|
|
|
Leben "verschwinden". Eingebettete Systeme verkörpern heute diese Philosophie.
|
|
|
|
|
Sie sind keine Allzweckcomputer, sondern spezialisierte Computer, die
|
|
|
|
|
in Geräten und Systemen eingebettet sind. Sie sind in der Regel auf eine
|
|
|
|
|
spezielle Aufgabe oder Funktion zugeschnitten und sind oft in
|
|
|
|
|
Geräten des täglichen Lebens zu finden.
|
|
|
|
|
|
|
|
|
|
Beispiele für eingebettete Systeme finden sich in allen Lebensbereichen:
|
|
|
|
|
|
|
|
|
|
- **Automobilindustrie**: Infotainment System
|
|
|
|
|
- **Industrie**: Automatisierungssysteme, Steuerung von Maschinen
|
|
|
|
|
- **Medizintechnik**: Medizinische Geräte, Diagnosegeräte
|
|
|
|
|
- **Haushaltsgeräte**: Waschmaschinen, Kühlschränke
|
|
|
|
|
- **Consumer Electronics**: Smartphones, Smartwatches
|
|
|
|
|
|
|
|
|
|
Eingebettete Systeme sind oft auf Echtzeitfähigkeit, Energieeffizienz
|
|
|
|
|
und Zuverlässigkeit ausgelegt. Sie sind in der Regel nicht so leistungsfähig
|
|
|
|
|
wie Desktop- oder Server-Computer, aber sie sind in der Lage, spezialisierte
|
|
|
|
|
Aufgaben zu erfüllen.
|
|
|
|
|
|
|
|
|
|
Auch Experten fällt eine klare Definition von eingebetteten Systemen
|
|
|
|
|
in der heutigen Zeit nicht leicht, wie auch Jack Ganssle, ein
|
|
|
|
|
Experte für eingebettete Systeme mit über 30 Jahre Berufserfahrung,
|
|
|
|
|
in einem Blog Beitrag schreibt. [@ganssleWhatEmbedded2008]
|
|
|
|
|
So konnte man laut Ganssle früher Systeme, die mit einem Mikrocontroller oder
|
|
|
|
|
Mikroprozessor ausgestattet sind und in einem Gerät eingebettet sind,
|
|
|
|
|
klar als eingebettete Systeme bezeichnen.
|
|
|
|
|
Doch heutzutage werden oft auch Systeme, die mit einem vollwertigen
|
|
|
|
|
Betriebssystem ausgestattet sind, als eingebettete Systeme bezeichnet.
|
|
|
|
|
Dazu gehört das Linux Betriebssystem, welches in vielen eingebetteten
|
|
|
|
|
Systemen zum Einsatz kommt und auch Windows ist laut Ganssle in
|
|
|
|
|
eingebetteten Systemen anzutreffen. Als weiteres Beispiel dazu
|
|
|
|
|
nennt er das Handy, welches als es nur zum telefonieren genutzt wurde
|
|
|
|
|
klar als eingebettetes System bezeichnet werden konnte, doch heutzutage
|
|
|
|
|
ist es ein vollwertiger Computer, der auch als solcher
|
|
|
|
|
für eine Vielzahl von anderen Funktionen genutzt werden kann.
|
|
|
|
|
|
|
|
|
|
\pagebreak
|
|
|
|
|
|
|
|
|
|
In weiterer Literatur zu eingebetteten Systemen finden sich
|
|
|
|
|
die folgenden Definitionen:
|
|
|
|
|
|
|
|
|
|
> "An embedded system is a microprocessor based system that is
|
|
|
|
|
> built to control a function or a range of functions." [@heathEmbeddedSystemsDesign2002]
|
|
|
|
|
|
|
|
|
|
> "Embedded systems are information processing systems embedded into enclosing products."
|
|
|
|
|
> [@marwedelEmbeddedSystemDesign2021]
|
|
|
|
|
|
|
|
|
|
Auch aus diesen Definitionen geht hervor, dass die Definition von eingebetteten
|
|
|
|
|
Systemen nicht eindeutig ist. Da es sowohl eine Funktion oder eine Reihe von
|
|
|
|
|
Funktionen steuern kann, als auch speziell ein System ist, das in ein Produkt
|
|
|
|
|
eingebettet ist.
|
|
|
|
|
|
|
|
|
|
Ein eingebettetes System ist also meistens ein Computersystem, das spezialisiert
|
|
|
|
|
ist auf eine bestimmte Funktion oder Aufgabe. Mittlerweile heißt das jedoch auch,
|
|
|
|
|
dass es sich oft um Systeme handelt, welche eigentlich vollwertige Computer sind und
|
|
|
|
|
daher viele Funktionen ausführen könnten, doch der Hersteller oder Entwickler das
|
|
|
|
|
System auf gezielte Funktionen beschränkt. So würde ein Bankautomat mit eingebetteten Linux
|
|
|
|
|
nur auf die speziellen Aufgaben beschränkt werden, welche ein Bankautomat zu erfüllen hat, obwohl er
|
|
|
|
|
eigentlich ein vollwertiger Computer sein könnte und viele weitere Funktionen ausführen könnte.
|
|
|
|
|
Besonders bei eingebetteten Systemen mit Touchscreens könnte eine schier unendliche Anzahl von
|
|
|
|
|
Funktionen auf dem Display angezeigt und angesteuert werden. Daher kommt die Definition
|
|
|
|
|
eines eingebetteten Systems auch auf die Definition des Systems vom Hersteller oder Entwickler an.
|
|
|
|
|
|
|
|
|
|
<!-- Ein weiterer Name für eingebettete Systeme is "Cyber-Physical Systems" (CPS).
|
|
|
|
|
|
|
|
|
|
Mit der zunehmenden Verbreitung von eingebetteten Systemen in einer
|
|
|
|
|
Vielzahl von Geräten und der steigenden Netzwerkkonnektivität verschmelzen
|
|
|
|
|
rechnerische und physikalische Prozesse immer enger miteinander. Im Jahr
|
|
|
|
|
2006 prägte Helen Gill von der National Science Foundation den Begriff
|
|
|
|
|
"Cyber-Physical Systems" (CPS), um diesen Paradigmenwechsel zu beschreiben. -->
|
|
|
|
|
|
|
|
|
|
## Linux
|
|
|
|
|
|
|
|
|
|
Linux ist die Bezeichnung für ein freies und quelloffenes Betriebssystem,
|
|
|
|
|
das auf dem Linux-Kernel und dem GNU-Betriebssystem basiert. Hinter der
|
|
|
|
|
Bezeichnung GNU steht das GNU-Projekt, das 1983 von Richard Stallman
|
|
|
|
|
ins Leben gerufen wurde. Das GNU-Projekt hat das Ziel, ein vollständig
|
|
|
|
|
freies Betriebssystem zu entwickeln, das auf freier Software basiert.
|
|
|
|
|
Im allgemeinen Sprachgebrauch wird Linux oft als Bezeichnung für das
|
|
|
|
|
gesamte Betriebssystem genutzt, obwohl es sich eigentlich um das
|
|
|
|
|
Betriebssystem GNU/Linux handelt. Richard Stallman, der Gründer des
|
|
|
|
|
GNU-Projekts und der Free Software Foundation, erläutert in einem
|
|
|
|
|
Blog-Beitrag, dass es wichtig wäre, GNU zu erwähnen, da es viele
|
|
|
|
|
der Kernkomponenten des Betriebssystems zusammen mit dem Linux-Kernel
|
|
|
|
|
bildet und dass die Bezeichnung GNU/Linux diesen wichtigen Beitrag
|
|
|
|
|
anerkennt. Zudem würde es dabei helfen, die Idee des GNU-Projekts
|
|
|
|
|
und der Free Software Foundation zu verbreiten. [@richardstallmanWhyGNULinux]
|
|
|
|
|
|
|
|
|
|
In der Arbeit wird die Bezeichnung "Linux" für das Betriebssystem
|
|
|
|
|
verwendet, da es sich um die allgemein gebräuchliche Bezeichnung
|
|
|
|
|
handelt und die Bezeichnung "GNU/Linux" in der Literatur und im
|
|
|
|
|
allgemeinen Sprachgebrauch nicht so verbreitet ist. Besonders im
|
|
|
|
|
eingebetteten Bereich wird es allgemein als "Eingebettetes Linux"
|
|
|
|
|
bezeichnet und nicht als "Eingebettetes GNU/Linux".
|
|
|
|
|
|
|
|
|
|
Linux gehört zu den weltweit am weitesten verbreiteten Betriebssystemen
|
|
|
|
|
und zählt zur Gruppe von "unixoide" oder unix-ähnlichen Betriebssystemen,
|
|
|
|
|
da es Konzepte des 1969 von Bell Laboratories entwickelten Betriebssystems
|
|
|
|
|
Unix aufgreift.
|
|
|
|
|
|
|
|
|
|
Nutzer von Linux verwendet oft eine sogenannte "Distribution" von Linux
|
|
|
|
|
wie Ubuntu. Eine Linux-Distribution, auch als Distro bezeichnet, ist ein vollständiges
|
|
|
|
|
Betriebssystem, das auf dem Linux-Kernel aufbaut. Der Kernel ist das
|
|
|
|
|
Herzstück des Betriebssystems. Zusätzlich zum Kernel gibt es weitere
|
|
|
|
|
wichtige Bestandteile einer Distro, wie Systembibliotheken, Dienstprogramme
|
|
|
|
|
und Softwareanwendungen. Die Auswahl dieser wird vom Ersteller der Distro
|
|
|
|
|
getroffen. Distros gibt es in vielen Varianten, jede mit ihren eigenen
|
|
|
|
|
Zielen, Zielgruppen und Softwareauswahl. Das bedeutet, dass es für viele
|
|
|
|
|
verschiedene Anwendungsfälle eine passende Distro gibt. [@dikkyryanpratamaWhatLinuxDistribution]
|
|
|
|
|
|
|
|
|
|
### Eingebettetes Linux
|
|
|
|
|
|
|
|
|
|
Unter eingebetteten Linux versteht man die Nutzung des
|
|
|
|
|
Linux-Betriebssystems im Umfeld eingebetteter Systeme. Der
|
|
|
|
|
einzige wesentliche Unterschied zu dem normalen Linux-Betriebssystem
|
|
|
|
|
ist dabei, dass das System auf die speziellen Anforderungen
|
|
|
|
|
eingebetteter Systeme zugeschnitten ist und vor allem
|
|
|
|
|
sparsamer mit den Ressourcen umgeht. Es hält jedoch nichts davon ab,
|
|
|
|
|
jede Art von Linux-Distribution auf einem eingebetteten System zu
|
|
|
|
|
installieren und als "eingebettetes Linux" zu betreiben. Um jedoch
|
|
|
|
|
das volle Potenzial eines eingebetteten Systems auszuschöpfen, ist
|
|
|
|
|
es ratsam, eine speziell für eingebettete Systeme entwickelte
|
|
|
|
|
Linux-Distribution zu verwenden. Yocto ist ein Projekt mit
|
|
|
|
|
dem eine solche spezielle Distribution für eingebettete Systeme
|
|
|
|
|
erstellt werden kann.
|
|
|
|
|
|
|
|
|
|
### Das Yocto Projekt
|
|
|
|
|
|
|
|
|
|
Yocto ist ein Open-Source-Projekt der Linux Foundation, das es ermöglicht,
|
|
|
|
|
maßgeschneiderte Linux-Distributionen für eingebettete Systeme
|
|
|
|
|
zu erstellen. Es bietet hierzu eine Sammlung von Tools, Vorlagen und
|
2024-03-09 23:25:22 +01:00
|
|
|
|
Methoden, die vor allem auf den Prinzipien der quellbasierten
|
2024-03-05 00:34:31 +01:00
|
|
|
|
Linux-Distribution Gentoo basieren. Eine quellbasierte Distribution
|
|
|
|
|
ist eine Linux-Distribution, die aus den Quellcodes der Software
|
|
|
|
|
zusammengestellt wird. Das bedeutet, dass die Software auf dem
|
|
|
|
|
Zielgerät aus den Quellcodes kompiliert wird und nicht aus
|
|
|
|
|
vorkompilierten Binärdateien installiert wird. Dies ermöglicht
|
|
|
|
|
eine hohe Flexibilität und Anpassbarkeit der Distribution und
|
|
|
|
|
Software. Yocto erweitert dieses Prinzip speziell auf eingebettete
|
|
|
|
|
Systeme. Es ist keine fertige Distribution, sondern ein Framework,
|
|
|
|
|
mit dem eigene Distributionen speziell für eingebettete Systeme erstellt werden können.
|
|
|
|
|
[@linuxfoundationYoctoProject162024]
|