Print
Published on by

Betriebssystem-Architekturen

 

 

Allgemeines zu Betriebssystemen

 

Ein Betriebssystem dient vorzugsweise der einfacheren Verwendung eines Computers. Das Rechensystem und die Abwicklung von Programmen werden über das Betriebssystem gesteuert und überwacht. Ressourcen und Hardware werden verwaltet und vieles mehr. Betriebssysteme sind nach DIN 44300 definiert.

Im Laufe der Jahre haben sich die Technologien und mit ihr auch die Betriebssystemkonzepte entwickelt. MS-DOS war nicht das erste Betriebssystem, gehört aber im kommerziellen Bereich sicherlich zu den bekanntesten, das 1981 entwickelt wurde. Zu den ersten Betriebssystemen gehörten Master Control Programm 1961 und Multics 1964.

Zu Anfangszeiten gab es noch keine grafische Oberfläche, es musste mit Befehlen gearbeitet werden. Heute ist an der Stelle eine Graphical User Interface (GUI) Schnittstelle, die es nahezu undenkbar macht, dass ein Computer auch in Textform verwendet werden könnte.

Dennoch, ob Textform oder Grafische Benutzeroberfläche, was man nicht sieht ist eine Architektur mit dem das System aufgebaut ist. Dabei unterscheidet man zwei Modi. Den Kern und den Benutzer. Hauptgrund für diese Darstellung sind die Zugriffsrechte. Ein Benutzer darf nicht ohne jeglichen Schutz in das System eingreifen. Denn der Kern des Systems sitzt unmittelbar auf der Hardware auf und muss getrennt von der Benutzeroberfläche zugänglich sein. An der Benutzeroberfläche werden Softwareprogramme wie Office-Anwendungen oder Multimediale Programme vom Anwender verwendet. Würde man ungehindert in das System kommen, wäre es denkbar in das grundlegende Rechnersystem einzugreifen, sei es ein Desktop-Computer oder ein Smartphone.

 

 

Architektur

Das System eines Rechnersystems ist aufgeteilt in einen Kern, der meist als Kernel oder core bezeichnet ist, und in einen user-mode, den Benutzermodus, auch Shell genannt. Das Betriebssystem und tieferliegende Benutzerschnittstellen gehören zum Kern, bzw. Kernelmodus.

Wie und wann auf eine der beiden Bereiche zugegriffen wird, wird durch die Architektur entschieden. Wobei selbstverständlich eine Zuordnung der Bereiche definiert ist. Ein Benutzer hat freien Zugang auf Anwendungsprogramme. Der Ablauf eines Programmes, was als Prozess oder Thread bezeichnet wird, enthält Anweisungen die teils in den Bereich des Kernel gehören und teilweise in den Benutzerbereich.

Zur Verwaltung des Rechnersystems gehören Verwaltung von Verzeichnissen oder Zugriffsrechten, Aufteilung der Sektoren und Datenblöcke usw.

In einer vereinfachten Darstellung sieht man die Funktion des Prozessors mit der Aufteilung in den Kernbereich und den Benutzerbereich. Es wird versucht das Betriebssystem in den einzelnen Schichten zu organisieren. Dies reicht von einfachen Funktion bis hin zu den komplexen Funktionen.

In der folgenden Abbildung ist der Prozessor des Rechnersystems als ein Ring dargestellt. In der Mitte ist der Kern als Ring 0 dargestellt. Die äußeren Ringe sind im User-mode. Dies ermöglicht einen Zugriff auf die Hardware mit Nutzerrechten für diesen Ring. Die Zugriffsrechte nehmen bis zum Kern auf den Computer ab. Die Zugriffsrechte sind die Rechte die den Zugriff auf die Hardware des Systems regeln. Während man also in einer Office-Anwendung einen Text auf ein Dokument schreiben kann, hätte man zu bestimmten Bereichen, wie das Installieren/Deinstallieren des Programms nicht ohne weiteres Zugriff.

Die Prozesse die sich innerhalb einer Schicht befinden, in der Darstellung die Ringe und Kern, sind voneinander getrennt. Es benötigt eine Schnittstelle damit die Ringe untereinander kommunizieren können.

 

2015-02-22_Ring-CPU

Bild 1 Rindarstellung Prozessor

 

 

 

 

Klassifikation

Betriebssysteme lassen sich je nach Anwendungsgebiet und ihrer jeweiligen Eignung entsprechend einordnen und bewerten. Die wichtigsten Kriterien sind die Betriebsart, gefolgt von der möglichen Nutzeranzahl und der Fähigkeit möglicher Auftragsverarbeitung.

 

 

Betriebsart

Die Betriebsart beschreibt die Kommunikation zwischen dem Betriebssystem und seiner Umgebung.

Ein Auftrag ist ein Befehl, der einen Prozess, also ein Programm entsprechend aktiviert. Das kann starten, abbrechen, oder anderweitige Befehle sein. Gibt man einen Befehl ein, ist das eine Aktion die eine weitere Aktion hervorruft. Die Zeit die benötigt wird, um diese Aktionen entsprechend auszuführen, nennt man Antwortzeit. Diese Antwortzeit ist ein wichtiges Kriterium der Betriebsart. Der zeitliche Aspekt beschreibt die Zeitspanne zwischen der Erteilung eines Auftrages an das Betriebssystem und der Rückmeldung des Betriebssystems nach Diensterfüllung als Antwortzeit.

Betriebsarten die von Betriebssystemen unterstützt werden:

  • Stapelbetrieb (Jobverarbeitung)
  • Dialogbetrieb (interaktiver Betrieb)
  • Echtzeitbetrieb
  • Netzwerkbetrieb

Im Stapelbetrieb wird der Auftrag eines Nutzers in Form eines Jobs (Programm, Daten und Steueranweisungen) an das Betriebssystem übergeben und bearbeitet.

Im Dialogbetrieb findet ein häufiger Wechsel zwischen Kommandoeingaben und Rückmeldungen statt.

Echtzeitsysteme sind z.B. in Anwendungen wie Airbag Steuerung und Temperaturmessungen zu finden. Die Besonderheit ist, das die Antwortzeit unterhalb eines Grenzbereiches liegen muss.

Netzwerkbetriebssysteme sind meist Server Systeme, wie bsw. Windows Server, Linux Server oder Novell Netware.

 

 

Anzahl möglicher Nutzer
Die Anzahl der möglichen Nutzer stellt die Anforderung an das Betriebssystem, ob es in der Lage ist, mehrere Nutzer zuzulassen, oder ob ein System vor allem dazu geeignet sein soll mit nur einem Benutzer zu arbeiten. Der sicherlich wichtigste Hintergrund ist die Sicherheit. Sicherheitsvorkehrungen müssen im Mehrnutzersystem wesentlich höher und sind umfangreicher zu gestalten als bei Single-Systemen. Es wird unterschieden:

  • Einzel-Nutzer-Betriebssysteme (single-user System)
  • Mehr-Nutzer-Betriebssysteme (multi-user System)

 

Anzahl möglicher Aufträge
Unabhängig von der Anzahl der möglichen Prozessoren kann ein System auch mit nur einem Prozessor mehrere Prozesse, also Programme und Abläufe parallel verarbeiten, was als Quasi-parallel bezeichnet wird.

  • Einzelprozess-Betriebssystem (single-tasking System)
  • Mehr-Prozess-Betriebssystem (Multitasking-system, Multiprogramming)

 

 

 

 

 

Architekturmodelle

 

Wie sich bereits im Ringmodell erkennen ließ, sind Betriebssysteme „privilegierte Kontrollinstanzen“.

Wie der Zugriff auf diese Instanzen erfolgt, ist abhängig von der Architektur, was im Folgenden vorgestellt werden soll.

 

Monolithische Architektur

Der Begriff monolithisch bedeutet „kleinste Elemente untrennbar verbunden“ (Duden). Bei dieser Architektur sind die Betriebssystemkomponenten die für ein System benötigt werden in Schichten aufgebaut.

Die Monolithische Struktur ist wohl die am häufigsten vorkommende Struktur. Hauptmerkmale sind, das jede Prozedur von jeder anderen aufgerufen werden kann und als eine sehr einfache Struktur gilt. Die Geschwindigkeit, bzw. die Performance steht hier im Vordergrund. Die Komponenten des Betriebssystems arbeiten im Kernel-Modus.

Auf der Hardware setzen unmittelbar Geräte-Treiber und Dispatcher auf. In der nächsten Schicht folgen der Scheduler und die Virtual Memory. Es folgen das Dateisystem und die Interprozesskommunikation. Die Systemaufrufe für die Anwendungsprogramme und das Virtual File System sind in der obersten Schicht.

 

Ein Dispatcher teilt die Prozesse an den Scheduler. Der Dispatcher kann Prozesse entziehen und übergeben.  Die Reihenfolge der Abarbeitung der Prozesse erfolgt allerdings durch den Scheduler. Der Scheduler hat die Aufgabe Prozesse zu starten, zu unterbrechen oder zu beenden. Er ist so etwas wie der Verwalter der Prozesse, bzw. Programmablauf.

Was sich hier für den Performance-Gewinn als Vorteil heraus stellt ist, das die Kernel-Modus Ebene bis zur Anwendungsebene reicht. Das bedeutet dass kein ständiger Wechsel zwischen Kernel und User-Mode erfolgen muss. Beim später vorgestellten Mikrokernel ist das nicht der Fall und beeinträchtigt die Geschwindigkeit. Bei der Monolithischen Architektur wirkt sich dieses Verhalten positiv auf die Ressourcen und den Rechenaufwand aus. Allerdings kann der Ausfall eines der entsprechenden Systems zum Ausfall des gesamten Systems führen. Die Module, der Bereich unter dem Systemaufruf, gehört zum Kernel. Fällt hier ein Modul aus, fällt das gesamte System aus. Ein Thema an dem bei Betriebssystemen immer wieder gearbeitet und entwickelt wird. 

 

2015-02-22_Monolithisch

Bild 2 Monolithische Architektur

 

 

 

 

 

Micro-Kern-Architektur
 

Die Mikrokernelarchitektur enthält nur wenige und nur die wichtigsten hardwareabhängigen Betriebssystemkomponenten. Alle anderen Leistungen werden außerhalb des Kernes, also in der Shell erbracht. Durch die Architektur soll Ausfallsicherheit gewährleistet werden. Eine hohe Modularisierung sorgt für klare Trennung zwischen Systemkomponenten. Durch separate Systemkomponenten mit eindeutigen Schnittstellen kann ein Systemabsturz vermieden werden. Gerätetreiber arbeiten im Benutzermodus, sind vom Kern getrennt bzw. die einzelnen Komponenten gekapselt und können somit nicht zum Systemabsturz führen.

 

Kernel-Modus
Im Kernel-Modus befinden sich Basic-IPC (Basis-Interprozesskommunikation), Virtual Memory (virtueller Speicher) und das Scheduling (Prozess-Planung).

Die Basis-Interprozesskommunikation (Basis-IPC) ermöglicht die Kommunikation zwischen Prozessen. Dabei werden die Speicherbereiche durch Pipes getrennt.

Ein virtuelle Speicherverwaltung (Virtual Memory) ermöglicht es einem Anwendungsprogramm einen Adressraum zusammenhängend darzustellen, während dieser physisch verteilt ist. Dieser als Virtual Memory bezeichnete Speicher, ist ein dem Betriebssystem zur Verfügung gestellter Adressraum der vom physischen Arbeitsspeicher abhängt. Die virtuelle Abbildung nennt man Paging.

Ein Scheduler verwaltet die Prozesse eines Betriebssystems. Er bestimmt die Reihenfolge der Prozessanfrage. Präemtive Scheduler (unterbrechend) ermöglichen mehrere scheinbar gleichzeitig arbeitende Prozesse auf einem Einfach-Prozessor.

 

Benutzer-Modus

Im Benutzer-Modus befinden sich Anwendungs-IPC (Anwendungs-Interprozesskommunikation), UNIX-Server, Geräte-Treiber und das Datei-System.

Die Anwendungs-Interprozesskommunikation hat dieselbe Funktion wie die der Basic-IPC.

Geräte-Treiber ermöglichen die Kommunikation zwischen Software und Hardware durch Nutzung entsprechender Schnittstellen. Sie stellen Funktionen wie Komprimierung und Verschlüsselung bereit.

Der UNIX-Server stellt modular ein Subsystem einer Unix-Umgebung nach POSIX-Standard dar. Er erfüllt die Funktionen einer standardisierten API (Application Programming Interface) und ermöglicht den Anwendungsprogrammen eine Schnittstelle zum Betriebssystem.

 

2015-02-22_Mikrokernel

Bild 3 Mikro-Kern-Architektur

 

 

 

 

Hybrid-Kernel-Architektur

Beispiele sind die Betriebssysteme Windows 7 und Mac OS X. Der Hybridkernel ist eine Mischung zwischen Mikrokernel und Monolithischem System. Welche Systemkomponenten im Benutzer- bzw. Kernel-Modus implementiert werden, liegt an der individuellen Architektur des Betriebssystems.

 

2015-02-22_Hybrid-Kernel

Bild 4 Hybrid-Kernel

 

 

 

Märkte

Im folgenden sind die Marktanteile zu sehen, um sich ein Bild des gegenwärtigen Standes zu machen.

 

Marktanteile Betriebssysteme Desktop

Betriebssystem Desktop

Marktanteil

Windows

91,56 %

Mac

7,11 %

Linux

1,34 %

Andere

0%

Stand: Januar 2015

Quelle: www.netmarketshare.com

Bild 5 Marktanteile Desktop Betriebssysteme

 

 

Marktanteile Betriebssysteme Desktop Versionen

Betriebssysteme nach Versionen Desktop Marktanteil

Windows 7

55,92%

Windows XP

18,93%

Windows 8.1

10,04%

Windows 8.1

3,79%

Mac OS X 10.10

3,45%

Windows Vista

2,44%

Mac OS X 10.9

1,82%

Andere

3,61%

Stand: Januar 2015

Quelle: www.netmarketshare.com

 

Bild 6 Marktanteile Desktop Betriebssysteme nach Versionen

 

 

Marktanteile Betriebssysteme Mobile

Betriebssystem Mobile

Marktanteil

Android

47,45 %

iOS

42,59 %

Java ME

3,37 %

Symbian

3,22 %

Windows Phone

2,25 %

BlackBerry

0,98 %

Kindle

0,07 %

Andere

0,07 %

Stand: Januar 2015

Quelle: www.netmarketshare.com

Bild 7 Marktanteile Betriebssysteme Mobile

 

 

 

 

 

 

 

 

 

 

Abbildungsübersicht

Bild 1     Abbildung geändert http://de.wikipedia.org/wiki/Ring_(CPU)/wr.informatik.uni-hamburg.de/_.../sds-1011-ihnen-betriebssystemschicht.

Bild 2     Abbildung geändert, www.inf.fu-berlin.de/lehre/.../OS_V11_Operating_System_Design.pdf

Bild 3     Abbildung geändert, www.inf.fu-berlin.de/lehre/.../OS_V11_Operating_System_Design.pdf

Bild 4     Abbildung geändert, www.inf.fu-berlin.de/lehre/.../OS_V11_Operating_System_Design.pdf

Bild 5     Abbildung www.netmarketshare.com

Bild 6     Abbildung www.netmarketshare.com

Bild 7     Abbildung www.netmarketshare.com

 

Quellenverzeichnis

Bücher

Betriebssysteme, Prof. Dr. Uwe Schneider

 

Internet

wr.informatik.uni-hamburg.de/_.../sds-1011-ihnen-betriebssystemschicht.

www.inf.fu-berlin.de/lehre/.../OS_V11_Operating_System_Design.pdf

http://www.netmarketshare.com/

Comments: 0

Only registered users may post comments.
Sign in and post comment Register now