Betriebssysteme


1. Vorwort


Unter dem Begriff Betriebssystem verbirgt sich eine Vielzahl an Software für die unterschiedlichsten Bereiche - von der Waschmaschinensteuerung, über den Personal Computer, bis hin zum Cluster-Rechner. Allgemein kann man den Begriff Betriebssystem wörtlich nehmen und die Aussage treffen: Ein Betriebssystem ist Software, die den Betrieb eines System erleichtert oder erst ermöglicht.

Als Beispiel dafür möchte ich die Waschmaschinensteuerung bringen. Der Programmierer bedient sich eines EchtzeitKeine Zugangsberechtigung-Betriebssystems, um in erster Linie mehrere Aufgaben mittels Multithreading vom selben Mikrocontroller abarbeiten zu lassen. Die Implementierung wird dem Programmierer durch die vom Betriebssystem gebotenen Funktionen erleichtert. Einige andere Kategorie: Ein Benutzer eines Personal-Computers installiert ein Betriebssystem, weil er sonst nichts mit der Hardware anfangen könnte. Ähnlich ist es bei dem Cluster-Rechner.

Die Liste der Betriebssysteme aus der Wikipedia gibt einen guten Überblick über die Vielfalt und Anzahl der Betriebssysteme.

Einen guten Überblick über das, was der Benutzer eines Personal Computers, eines PDAs oder der Administrator eines Servers, also eines eher umfangreicheren Systems, von einem Betriebssystem erwartet gibt es unter http://www.nondot.org/sabre/os/articles.

Betriebssysteme müssen nicht immer etwas kosten: http://de.wikipedia.org/wiki/Kategorie:Freies_Betriebssystem

Man muss sich nicht ein Betriebssystem zulegen, wenn man nur mit Threads arbeiten möchte: Siehe Protothreads - Lightweight, Stackless Threads in C (habe ich noch nicht probiert!)


2. Auswahlkriterien


Die Wahl eines Betriebssystems richtet sich in erster Line an der verwendeten Prozessorarchitektur, den verfügbaren Ressourcen (Speicher) und falls erforderlich der Echtzeitfähigkeit aus. Damit kann man die Auswahl schon stark eingrenzen.

  • EchtzeitKeine Zugangsberechtigung-Betriebssystem (EchtzeitKeine Zugangsberechtigung ist wie immer, Definitionssache!)
  • Prozessorarchitektur (x86, ARM, SPARC, AVR 8-bit, etc.)
  • Systemressourcen (RAM, Flash, ROM, Festplatte etc.), bei Betriebssystemen werden die Mindestanforderungen an die Hardware angegeben
  • Memory Protection
  • Threads
  • Lizenz (Open Source, BSD, spezielle kommerzielle Lizenz des Anbieters)
  • Qualität Support
  • Qualität der Dokumentation
  • Kosten


3. Beispiele


3.1 Klassifikation


Nachfolgend möchte ich noch eine kleine Auswahl der Betriebssysteme auflisten, die mich in irgendeiner Form interessiert haben oder die ich privat verwendet habe. Ich unterscheide in drei Klassen:

  • Embedded - Small foot print
    Meist EchtzeitKeine Zugangsberechtigung-Betriebssystem mit wenigen Kilobyte Bedarf an Festspeicher (Flash, ROM) und einigen Byte bedarf an Arbeitsspeicher (SRAM)
  • Embedded - Large foot print
    Das sind meist PDAs oder generell eingebettete Geräte, die zwar relativ zu den heutigen PCs beschränkte Ressourcen haben, allerdings meine Personal Computer von früher in den Schatten stellen - tolle Definition, ist doch wahr ;)
  • Personal Computer und Server
    Das sind meistens modulare Systeme, wie sie heute weit verbereitet sind, mit hoher Verarbeitungsgeschwindigkeiten, reichlich Arbeitsspeicher und Festspeicher.


3.2 Embedded - EchtzeitKeine Zugangsberechtigung, Small foot print


Das sind vorwiegend Mikrocontroller.

  • NutOSKeine Zugangsberechtigung is an intentionally simple RTOS for the ATmega128Keine Zugangsberechtigung, which provides a minimum of services to run Nut/Net, the TCP/IP stack. Läuft bei mir auf einem ATmega128 mit 28k externen RAM. Cooperative Multithreading, Open Source, gute Dokumentation, kann ich empfehlen
  • eCos is an open source, royalty-free, real-time operating system intended for embedded applications.
  • TinyOS is ein open-source Betriebssystem. Es wurde für drahtlose Sensornetzwerke entworfen es unterstützt eine Komponenten-basierte Architektur, was die Entwicklungszeit verkürzen und die Code-Größe verkleiner soll.
  • Segger - embOS Real Time Operating System
  • FreeRTOS is a portable, open source, mini Real Time Kernel - a free to download and royalty free RTOS that can be used in commercial applications
  • Another Free Embedded Real Time Operating System at http://www.viara.cn/en/rt/index.html


3.3 Embedded - Large foot print


Für PDAs, Navigationssysteme, Router, WLAN-Accesspoints, Embedded Server, Multimedia-Rechner, Set-Top-Box

  • Derivate der Linux-Distribution Debian
  • Windows CE


3.4 Personal Computer / Server




4. Weitere Verweise

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki