Betriebsystem

Aus xinux.net
Zur Navigation springen Zur Suche springen

Was ist ein Betriebssystem?

  • Ein Betriebssystem liegt logisch gesehen zwischen Anwendungsprogramm und Hardware.
  • Es nimmt die Anforderungen der Anwendungsprogramme entgegen und leitet diese kontrolliert an die Hardware weiter.
  • Kein Anwendungsprogramm sollte direkt auf die Hardware zugreifen können.
  • Den zentralen Zugang schafft einzig das Betriebssystem.
  • Somit kann das Betriebssystem unsinnige Anforderungen oder Bedienungsfehler abblocken.

Aufgaben eines Betriebssystems

  • Verbergen der Komplexität der Maschine vor dem Anwender (Abstraktion)
  • Bereitstellen einer Benutzerschnittstelle ("Kommandointerpreter", "Shell")
  • Bereitstellen einer normierten Programmierschnittstelle (API)
  • Verwaltung der Ressourcen der Maschine::
    • Hauptspeicher
    • Prozessor(en)
    • Hintergrundspeicher (Platte, Band, etc.)
    • Geräte (Terminal, Drucker, Plotter, etc.)
    • Rechenzeit
    • Koordination von Prozessen

Aufbau eines Betriebssystems

  • Ein Rechensystem besteht aus Hardware, Systemprogrammen und Anwendungs programmen.
  • Unter einem Betriebssystem wird meist die Summe aus Betriebssystemkern (Kernel) und den wichtigsten Systemprogrammen verstanden.
  • Einminimaler LINUX-Kernel besitzt ungefähr eine Größe von 400 - 800 kByte.
  • Weitere wichtige Systemkomponenten benötigen zusätzlich 10 - 100 Mbyte Plattenplatz.
  • Ein Betriebssystem stellt den Rechner als erweiterte Maschine (virtuelle Maschine) über definierte Software-Schnittstellen zur Verfügung.
  • Das Betriebssystem dient als Betriebsmittelverwalter, der Anforderungen befriedigt, protokolliert, abrechnet und vermittelt.


Aufgaben des Betriebssystemkerns

Prozessverwaltung (dispatching and scheduling)

  • Mehrere Benutzer können mit mehreren Aktionen gleichzeitig im System arbeiten, ohne sich gegenseitig zu beeinflussen.
  • Damit dies möglich ist, müssen die Aktionen organisiert, koordiniert und verwaltet werden.
  • Die zu verwaltende Einheit nennt man Prozess.

Speicherverwaltung (memory management)

  • Zuteilen von Speicherbereichen an laufende Prozesse, Schutz der Speicherbereiche vor unbefugten Zugriffen, bei Speicherengpässen
  • Auslagern von ganzen (swapping) oder von Teilen (paging) von Prozessen auf die Platte (swap file).

Dateiverwaltung (file handling)

  • Zuteilung von Plattenplatz für Programme, Benutzer und Systemdienste, Schreiben, Lesen und Strukturieren der Daten auf den Massenspeichern
  • Durch Bereitstellung einer entsprechenden Schnittstelle (VFS, virtual file system) kann der Kern Dateisysteme unterschiedlichster Art (EXT2, FAT, NFS, HPFS, NTFS, ...) ansprechen.

Geräteverwaltung (resource management)

  • Der Kern ermöglicht und kontrolliert den Zugriff auf die Hardware.
  • Er steuert die Ein- und Ausgabetätigkeiten der Anwender.
  • An den Kern gebunden sind die entsprechenden Gerätetreiber (device driver), die damit eine Kommunikation zwischen Kern und Hardware ermöglichen.

SHELL

  • Wenn man mit Linux arbeiten will, kann man nicht direkt mit dem Betriebssystem kommunizieren.
  • Man braucht dazu ein Hilfsprogramm, welches die Kommandoeingaben ordnungsgemäß an das Betriebssystem weiterleitet.
  • Dieses Hilfsprogramm hat den Namen Shell.