🖥️

Einführung in die Prozessverwaltung

Nov 18, 2024

Prozessverwaltung

Einführung in die Prozessverwaltung

  • Prozess: Abstraktion eines laufenden Programms.
  • Motivation: Verständnis der Verwaltung von Prozessen, wichtig für Softwareentwicklung.

Agenda der Vorlesung

  • Motivation
  • Lernziele und Inhalt
  • Prozesse und deren Zustände
  • Unterbrechungen
  • Zusammenfassung
  • Lernzielkontrolle
  • 1-Minuten Fragen

Lernziele

  • Definition und Repräsentation von Prozessen verstehen.
  • Prozesszustände benennen und interpretieren können.

Grundlagen von Prozessen

Programm vs. Prozess

  • Programm: Folge von Anweisungen, gespeichert als Datei.
  • Prozess: Ausführung eines Programms mit eigenem Kontext (Befehlszähler, Register, etc.).

Prozessmanager

  • Aufgaben:
    • Erstellen und Löschen von Prozessen
    • Anhalten und Fortsetzen von Prozessen
    • Synchronisation von Prozessen
    • Scheduling und Prozesswechsel (Context Switch)

Multitasking

  • Singletasking: Nur ein Prozess zur gleichen Zeit auf einer CPU.
  • Multitasking: Schneller Wechsel zwischen Prozessen auf einer CPU, illusioniert Parallelität.

Parallelität vs. Nebenläufigkeit

  • Parallelität: Gleichzeitige Ausführung, benötigt mehrere Prozessoren/Cores.
  • Nebenläufigkeit: Unabhängige Ausführung, egal ob zeitlich durchmischt oder echt gleichzeitig.

Prozessmodell

  • Prozesse als konzeptionelle eigene CPUs.
  • CPU wechselt zwischen Prozessen, jeder Prozess hat eigenen logischen Befehlszähler.
  • Adressraum: Speicherbereiche, die für den Prozess reserviert sind.

Prozesshierarchie und -erzeugung

  • Prozesse können andere Prozesse erstellen (Eltern- und Kinderprozesse).
  • Identifikation über Prozess-Id (PID).

Prozessdarstellung

  • Process Control Block (PCB):
    • Enthält alle notwendigen Informationen zur Prozessausführung (Zustand, PID, Speichergrenzen, etc.).

Unterbrechungen

  • Systemaufruf: Vom Prozess angefragt, um Dienste des Betriebssystems im Kernel Mode zu nutzen.
  • Arten von Unterbrechungen:
    • System Call: Privilegierte Operationen z.B. Datei lesen
    • Interrupt: Von Hardware ausgelöst z.B. Netzwerkpaket
    • Exception: Fehler wie Division durch Null

Prozesszustände und -wechsel

  • Zustände:
    • New
    • Ready
    • Running
    • Blocked/Waiting
    • Terminated
  • Context Switch: Wechsel von Prozessen zur effizienten Nutzung der CPU.

Zusammenfassung

  • Ein Prozess ist ein ausgeführtes Programm mit verwaltetem Kontext.
  • Prozesse durchlaufen verschiedene Zustände und wechseln mittels Context Switches.
  • Multitasking ermöglicht die scheinbare Parallelisierung von Prozessen auf einer CPU.

Lernzielkontrolle

  • Zeichnen und Beschreiben von Zustandsmodellen.
  • Unterschiede zwischen Programm und Prozess.
  • Funktionsweise von Systemaufrufen und Unterbrechungen.
  • Erklärung der Prozesszustände und des PCB.