Betriebsystem
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.