Betriebssysteme

Aufbau und Aufgaben eines Betriebssystems

Ein Betriebssystem (OS - Operating System) ist die zentrale Software, die die Hardware-Ressourcen eines Computers verwaltet und Anwendungen die Nutzung dieser Ressourcen ermöglicht. Es bildet die Schnittstelle zwischen Benutzer/Anwendung und der Hardware.

Aufgaben:

  • Ressourcenverwaltung: Verwaltung von CPU-Zeit, Hauptspeicher, Massenspeicher, Ein- und Ausgabegeräten.
  • Prozessmanagement: Starten, Beenden und Verwalten von Prozessen (laufende Programme).
  • Speicherverwaltung: Zuweisung und Freigabe von Hauptspeicher für Prozesse.
  • Dateisystemverwaltung: Organisieren, Speichern und Abrufen von Dateien auf Massenspeichern.
  • Geräteverwaltung: Steuerung und Koordination von Hardware-Geräten (Drucker, Tastatur, Maus, etc.) über Gerätetreiber.
  • Benutzerverwaltung: Authentifizierung, Autorisierung und Verwaltung von Benutzerkonten und Zugriffsrechten.
  • Fehlerbehandlung: Erkennung und Reaktion auf Hardware- oder Softwarefehler.
  • Benutzerschnittstelle: Bereitstellung einer Schnittstelle (GUI oder CLI) zur Interaktion mit dem Benutzer.

Das Schalenmodell eines Computersystems

Das Schalenmodell (oder Zwiebelschalenmodell) veranschaulicht die hierarchische Struktur eines Computersystems, von der Hardware bis zum Endanwender.

  • Hardware (Innerste Schale):
    • Physische Komponenten wie CPU, RAM, Mainboard, Speichermedien, Peripheriegeräte.
    • Bildet die grundlegende Basis des Systems.
  • UEFI/BIOS (Firmware):
    • Basic Input/Output System oder Unified Extensible Firmware Interface.
    • Software, die auf einem Chip auf dem Mainboard gespeichert ist.
    • Initialisiert beim Start die Hardware, führt Selbsttests durch (POST) und lädt das Betriebssystem.
  • Betriebssystem (OS):
    • Verwaltet die Hardware-Ressourcen und bietet grundlegende Dienste für Anwendungen.
    • Besteht aus Kernel, Gerätetreibern und Systemdiensten.
    • Bildet eine Abstraktionsschicht über der Hardware.
  • Anwendungen (Programme):
    • Software, die spezifische Aufgaben für den Benutzer ausführt (Textverarbeitung, Browser, Spiele).
    • Nutzt die Dienste des Betriebssystems.
  • Anwender (Äußerste Schale):
    • Der Mensch, der mit dem Computersystem interagiert.
    • Nutzt die Anwendungen und indirekt die Hardware-Ressourcen.

Multitasking

Multitasking bezeichnet die Fähigkeit eines Betriebssystems, scheinbar mehrere Aufgaben (Prozesse) gleichzeitig auszuführen, obwohl die CPU tatsächlich nur eine Aufgabe zu einem Zeitpunkt abarbeitet (bei einem einzelnen Kern).

  • Prinzip: Schneller Wechsel zwischen den Prozessen (Zeitmultiplexing), so dass der Benutzer den Eindruck hat, alle Aufgaben würden parallel laufen.
  • Ziele: Effiziente Auslastung der CPU, bessere Systemreaktion und Interaktivität für den Benutzer.

Prozessmanagement

Prozessmanagement ist die Aufgabe des Betriebssystems, die Erstellung, Ausführung, Anhaltung, Wiederaufnahme und Beendigung von Prozessen zu verwalten. Ein Prozess ist eine Instanz eines laufenden Programms.

  • Prozesszustände: Neu, Bereit, Ausführend, Wartend, Beendet.
  • Prozesskontrollblock (PCB): Datenstruktur, die alle relevanten Informationen über einen Prozess enthält (Zustand, Priorität, Registerwerte, Speicheradressen).

Scheduling (Ablaufplanung)

Scheduling ist der Mechanismus im Betriebssystem, der entscheidet, welcher der bereiten Prozesse als Nächstes die CPU zugewiesen bekommt. Ziel ist eine faire und effiziente Zuteilung der CPU-Zeit.

  • Algorithmen (Beispiele):
    • First-Come, First-Served (FCFS): Prozesse werden in der Reihenfolge ihrer Ankunft ausgeführt.
    • Shortest Job Next (SJN): Der Prozess mit der kürzesten geschätzten Ausführungszeit wird bevorzugt.
    • Round Robin: Jeder Prozess erhält eine feste Zeitspanne ( Zeitscheibe oder Quantum ) der CPU-Zeit; nach Ablauf wird zum nächsten Prozess gewechselt.
    • Prioritäts-Scheduling: Prozesse mit höherer Priorität werden bevorzugt.

Interrupt

Ein Interrupt ist ein Signal an die CPU, das sie dazu veranlasst, ihre aktuelle Aufgabe zu unterbrechen und sofort auf ein wichtiges Ereignis zu reagieren. Interrupts können von Hardware (z.B. Tastatureingabe, Festplattenzugriff) oder Software (z.B. Fehler, Systemaufruf) ausgelöst werden.

  • Ablauf:
    1. Ereignis löst Interrupt aus.
    2. CPU unterbricht aktuelle Ausführung, speichert ihren Zustand.
    3. CPU springt zu einer speziellen Interrupt-Service-Routine (ISR), die das Ereignis behandelt.
    4. Nach Bearbeitung des Interrupts kehrt die CPU zur unterbrochenen Aufgabe zurück.
  • Vorteil: Ermöglicht eine effiziente Reaktion auf asynchrone Ereignisse und verhindert, dass die CPU untätig auf Ereignisse wartet.

Polling

Polling ist eine Methode zur Abfrage von Hardware-Geräten oder Ereignissen, bei der die CPU wiederholt den Status eines Geräts prüft, um festzustellen, ob eine Aktion erforderlich ist.

  • Prinzip: Die CPU fragt in einer Schleife aktiv den Zustand eines Registers oder einer Schnittstelle ab.
  • Nachteil: Ineffizient, da die CPU viel Zeit mit Warten und Abfragen verbringt, auch wenn kein Ereignis vorliegt. Blockiert die CPU für andere Aufgaben.
  • Vergleich zu Interrupts: Interrupts sind ereignisgesteuert und effizienter, während Polling zeitgesteuert und oft ineffizienter ist, aber in einfachen Systemen oder für sehr kurze Wartezeiten eingesetzt werden kann.

Übungsaufgabe: Betriebssystem-Konzepte anwenden

Aufgabenstellung: Beantworte die folgenden Fragen:

  1. Beschreibe in eigenen Worten die Hauptaufgaben eines Betriebssystems.
  2. Erläuter das Schalenmodell eines Computersystems und nenne für jede Schale ein Beispiel.
  3. Stelle dir vor, du arbeitest an einem Computer, während im Hintergrund ein Download läuft und du gleichzeitig Musik hörst. Welches Betriebssystem-Konzept ermöglicht dies, und wie funktioniert es prinforcipiell bei einem Single-Core-Prozessor?
  4. Erkläre den Unterschied zwischen einem Interrupt und Polling anhand eines Beispiels aus dem Alltag eines Computers (z.B. Tastatureingabe).
  5. Nenne zwei verschiedene Scheduling-Algorithmen und beschreibe kurz, wie sie funktionieren.

Schwierigkeitsgrad: mittel
Erwartete Bearbeitungszeit: 20 Minuten


Nächster Schritt

Kreativität und Technik gehen Hand in Hand. Lass uns gemeinsam spannende Projekte entwickeln und dabei lernen, wie man Hardware und Software kombiniert, um einzigartige Lösungen zu schaffen.

Weiter zu: Projekte und Ideen →