ScholarGate
Assistent

Betriebssysteme

Ein Betriebssystem ist die Softwareschicht, die die Hardware eines Computers verwaltet und Anwendungen Dienste bereitstellt, indem sie den Prozessor, den Speicher, die Speichermedien und die Geräte unter den Programmen multiplexiert, während sie Schutz und Abstraktion durchsetzt.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Ein Betriebssystem ist die Systemsoftware, die Hardwareressourcen verwaltet, Abstraktionen wie Prozesse, Dateien und Adressräume bereitstellt und zwischen Anwendungsprogrammen und der zugrunde liegenden Maschine vermittelt, während sie Isolation und gerechte Aufteilung durchsetzt.

Scope

Dieser Bereich behandelt die Prinzipien und die Struktur von Betriebssystemen: Prozesse und Threads, CPU-Scheduling, Speicherverwaltung und virtueller Speicher, Dateisysteme, Parallelität und Synchronisation, Geräte- und E/A-Verwaltung sowie Schutz. Er betrachtet das Betriebssystem als Ressourcenmanager und Abstraktionsschicht zwischen Hardware und Anwendungen. Er grenzt an Speichermedienhierarchie und Caches (er verwaltet den virtuellen Speicher) sowie Speicher- und E/A-Systeme (er verwaltet Geräte und Persistenz) und schließt verteilte Koordination über Maschinen hinweg aus, die unter verteiltem und parallelem Rechnen behandelt wird.

Sub-topics

Core questions

  • Wie erzeugt das Betriebssystem die Abstraktion unabhängiger Prozesse und Threads auf gemeinsamer Hardware?
  • Wie entscheidet der Scheduler, welche bereite Aufgabe ausgeführt werden soll, und nach welchen Zielen?
  • Wie verwaltet das Betriebssystem den Speicher und implementiert virtuellen Speicher und Paging?
  • Wie organisieren Dateisysteme persistente Daten auf Speichermedien zuverlässig?
  • Wie bietet das Betriebssystem Schutz, Isolation und kontrollierten Zugriff auf Ressourcen?

Key concepts

  • Kernel- und Benutzermodus
  • Prozess und Thread
  • Kontextwechsel
  • CPU-Scheduling
  • virtueller Speicher und Paging
  • Dateisystem
  • Parallelität und Synchronisation
  • Deadlock
  • Systemaufrufe
  • Schutz und Isolation

Key theories

Prozess- und Adressraum-Abstraktion
Das Betriebssystem virtualisiert die CPU und den Speicher, sodass jedes Programm so läuft, als ob es die Maschine besitzt: Ein Prozess bündelt einen Adressraum, einen Ausführungskontext und Ressourcen, und der Kernel wechselt zwischen den Prozessen und schützt sie voreinander.
Working-Set-Speicherverwaltung
Dennings Working-Set-Modell charakterisiert die Menge der Seiten, die ein Prozess über ein Zeitfenster aktiv nutzt; das Residenthalten des Working Sets jedes Prozesses vermeidet Thrashing und leitet Paging- und Zulassungsentscheidungen in virtuellen Speichersystemen.

Mechanisms

Der Kernel läuft in einem privilegierten Modus und vermittelt den Zugriff auf die Hardware. Er repräsentiert laufende Programme als Prozesse und Threads und wechselt zwischen ihnen über Kontextwechsel, die von einem Scheduler gesteuert werden. Der Speicher wird durch Paging und virtuelle Adressübersetzung verwaltet; persistente Daten werden durch Dateisysteme organisiert; und der gemeinsame Zustand wird mit Synchronisationsprimitiven wie Sperren, Semaphoren und Monitoren koordiniert. Systemaufrufe ermöglichen Anwendungen einen kontrollierten Zugriff auf Kernel-Dienste.

Clinical relevance

Betriebssysteme sind die Grundlage praktisch aller Computer: von Servern und Desktops bis hin zu Telefonen und eingebetteten Geräten. Ihr Design bestimmt Leistung, Zuverlässigkeit und Sicherheit – Scheduling beeinflusst die Reaktionsfähigkeit, Speicherverwaltung beeinflusst den Durchsatz, und Isolationsmechanismen sind die Grundlage der Systemsicherheit und Virtualisierung. Weit verbreitete Kernel wie Linux und Windows verkörpern diese Prinzipien im planetarischen Maßstab.

History

Betriebssysteme entwickelten sich von Batch-Monitoren der 1950er Jahre über Multiprogramming- und Time-Sharing-Systeme wie CTSS und Multics in den 1960er Jahren. UNIX, um 1970 von Thompson und Ritchie geschaffen, etablierte dauerhafte Abstraktionen, die in modernen Systemen immer noch sichtbar sind. Dijkstras Arbeit über Semaphore und Parallelität sowie Dennings Working-Set-Modell legten theoretische Grundlagen, und persönliche, mobile und virtualisierte Systeme erweiterten das Feld in späteren Jahrzehnten.

Debates

Monolithisches versus Mikrokernel-Design
Eine langjährige Debatte wägt monolithische Kernel, die die meisten Dienste im privilegierten Modus für Leistung ausführen, gegen Mikrokernel ab, die Dienste für Modularität und Zuverlässigkeit in den Benutzerbereich verlagern; moderne Systeme mischen beide Ansätze.

Key figures

  • Edsger W. Dijkstra
  • Peter J. Denning
  • Per Brinch Hansen
  • Ken Thompson
  • Dennis Ritchie
  • Abraham Silberschatz
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • silberschatz2018
  • tanenbaum2014os
  • denning1968

Frequently asked questions

Was ist der Unterschied zwischen einem Prozess und einem Thread?
Ein Prozess ist eine unabhängige Programmausführung mit eigenem Adressraum und eigenen Ressourcen. Ein Thread ist eine Ausführungseinheit innerhalb eines Prozesses; mehrere Threads teilen sich den Adressraum des Prozesses, was die Kommunikation kostengünstig macht, aber Synchronisation erfordert, um Race Conditions zu vermeiden.
Was kann der Kernel, was gewöhnliche Programme nicht können?
Der Kernel läuft in einem privilegierten Prozessormodus, der ihm direkten Hardwarezugriff, Speicherverwaltung, Interrupt-Behandlung und Prozesswechsel ermöglicht. Anwendungen fordern diese privilegierten Dienste über Systemaufrufe an, anstatt sie selbst auszuführen, was Isolation und Schutz bewahrt.

Methods for this concept

Related concepts