South Africa - Flag South Africa

Incoterms:DDU
Duty, customs fees and taxes are collected at time of delivery.

Please confirm your currency selection:

US Dollars
Free shipping on most orders over $150 (USD)
All major credit cards accepted

Euros
Free shipping on most orders over 150 € (EUR)
All major credit cards accepted

South African Rand
Free shipping on most orders over R2 000 (ZAR)
American Express not accepted as a method of payment

British Pounds
Free shipping on most orders over £150 (GBP)
All major credit cards accepted

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Linux und IoT M. Tim Jones

Ursprünglich ist Linux als Betriebssystem von Hobby-Programmierern entstanden, das für PCs mit 80386-Prozessoren ausgelegt war. Seit es 1991 veröffentlicht wurde, hat es sich jedoch schnell weit verbreitet und läuft auf PCs, Servern, Mainframes und IoT-Geräten (Internet of Things). Auf den meisten Spitzen-Supercomputern der Welt ist Linux installiert.

Das von Linux unterstützte Spektrum ist beeindruckend. Vom kleinsten Gerät bis hin zu den größten Mainframes und Supercomputern – auf vielen von ihnen läuft eine Variante des beliebten Betriebssystems. Die Gründe für die Popularität von Linux sind von der Nutzung abhängig. In einigen Fällen ist der Open-Source-Aspekt entscheidend, in anderen die Breite der Geräteunterstützung und das Spektrum der Prozessoren und Plattformen.

Nehmen wir nun einige der wichtigsten Gründe für die Beliebtheit von Linux im IoT-Markt etwas genauer unter die Lupe.

Linux-Architektur

Linux ist ein Open-Source-Betriebssystem, das sich von kleinen ressourcenbeschränkten Computern bis hoch zu den größten Supercomputern skalieren lässt. Die Source ist portierbar, das heißt, Linux ist auf mehreren unterschiedlichen Prozessorarchitekturen ausführbar (Intel®, Arm, IBM PowerPC usw.). 

Linux verfügt über eine Stack-Architektur (Abbildung 1). Die oberste Ebene von Linux beherbergt den Benutzerbereich, in dem sich die Anwendungen befinden (zusammen mit Tools, Bibliotheken, Shells usw.). Der Kernel-Bereich enthält den Linux-Kernel und die Gerätetreiber. Der Linux-Kernel ist für Zeitplanung, Prozess- und Speichermanagement verantwortlich und bietet einige elementare Funktionen. Gerätetreiber machen angesichts der zahlreichen unterstützten Geräte den größten Teil des Codes im Linux-Betriebssystem aus. Bei der Entwicklung eines IoT-Gerätes oder -Gateways ist es mit Linux einfach, sich die Vorteile von Peripheriefunktionen (Netzwerk- oder Wireless-Schnittstellen, Display-Schnittstellen usw.) zunutze zu machen und sie in ihrem gewünschten Kontext einzusetzen.

Abbildung 1: Übergreifende Stack-Architektur von Linux 

In der traditionellen Firmware-Entwicklung erstellt der Entwickler den Code für ein Zielsystem und lädt ihn dann zum Testen auf das System. Linux kann alle Entwicklungstools auf dem Zielsystem hosten, wodurch es die Entwicklung und das Testen des Codes erheblich vereinfacht.

Linux-Sicherheit

Sicherheit ist ein zentrales Thema beim IoT-Design. Linux bietet in verschiedener Hinsicht eine sichere Plattform für IoT-Anwendungen. Zunächst einmal ist Linux ein Open-Source-System. Das bedeutet, dass Fehler, die zu Exploits führen können, schnell entdeckt und behoben werden können (im Vergleich zu Closed-Source-Betriebssystemen, auf die naturgemäß weniger prüfende Augen gerichtet sind). Zweitens beinhaltet Linux zahlreiche Sicherheitsfunktionen, von einem Sicherheitsmodul-Framework (das verschiedene Sicherheitsimplementierungen wie AppArmor unterstützt) bis hin zu Kernel-internen Funktionen, die die Sicherheit fördern (wie etwa ASLR, das Zuweisen zufälliger Speicheradressen).

Linux-Distributionen für IoT

Linux ist als Software-Plattform für IoT so populär geworden, dass nicht nur eine, sondern gleich mehrere Linux-Distributionen für IoT-Designs existieren. Tabelle 1 enthält eine Auflistung einiger populärer Linux-Distributionen für IoT.

Tabelle 1: Beliebte Linux-Distributionen

Distribution

Beschreibung

AndroidThings

Android-basiertes Betriebssystem für Android-APIs und Google-Dienste

Debian Tinker

Debian-Variante für kleine Geräte

OpenWrt

Linux-basierte Distribution für Embedded-Geräte (wird hauptsächlich in Wireless-Routern verwendet)

Raspbian

Raspbian ist ein Derivat des Linux-Betriebssystems Debian, das auf Raspberry Pi-Hardware läuft (umfasst über 35.000 Pakete)

Tizen

Der Embedded-Linux-Stack von Samsung, der zahlreiche Verbraucher- und IoT-Geräte unterstützt

Ubuntu Core

Ubuntu Core ist eine Embedded-Version von Ubuntu, die auf Systemen mit minimalen Ressourcen wie dem Pi läuft

Yocto

Yocto ist an sich keine Distribution, sondern ein Open-Source-Projekt, das dabei hilft, Linux-Distributionen für Embedded- und IoT-Geräte zu entwickeln.

 

 

Fazit

Linux ist das Herzstück des IoT-Ökosystems – von den kleinsten IoT-Geräten bis hin zu Edge-Gateways und der Cloud. Eine aktuelle Online-Umfrage, die von der Eclipse IoT Working Group, AGILE IoT, IEEE und der Open Mobile Alliance gesponsert wurde, hat ergeben, dass unter den IoT-Entwicklern etwa 72 Prozent der Umfrageteilnehmer Linux für ihre IoT-Geräte verwendet haben. Durch Faktoren wie den Open-Source-Aspekt, die Skalierbarkeit, Sicherheitsfunktionen und die große Auswahl an Distributionen ist Linux in der IoT-Entwicklung eine beliebte Option.

Wichtigste Punkte:

  • Linux unterstützt das IoT-Ökosystem von den kleinsten Geräten bis hin zu den größten Supercomputern.
  • Verschiedene Linux-Distributionen stehen zur Unterstützung von IoT-Designs zur Auswahl.
  • Die Sicherheitsfunktionen von Linux schützen IoT-Geräte.


« Zurück


M. Tim Jones hat über 30 Jahre Erfahrung im Bereich IT-Architekturen und Entwicklung, insbesondere für Embedded Systems.  Er hat mehrere Bücher und zahlreiche Artikel zu einer Fülle an Themen wie Software- und Firmware-Entwicklung verfasst.  Seine Fachkenntnisse reichen von der Entwicklung von Kernels für geostationäre Raumfahrzeuge bis hin zu Architekturen für Embedded Systems und die Protokoll-Entwicklung. 


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen