BSY - Betriebssysteme

Betriebssysteme

Betriebssysteme


L. K.
Diese Lernkarten behandeln grundlegende Konzepte von Betriebssystemen auf Universitätsniveau, mit Fokus auf Prozesse, Threads, CPU, Speicher und I/O. Sie erklären die Unterschiede zwischen Kernel-Level und User-Level Threads, Race Conditions, Synchronisation und die Organisation von Prozessen. Ideal für Studierende der Informatik, die ein tiefes Verständnis der Funktionsweise von Betriebssystemen erlangen möchten.
Cartes-fiches
162
Utilisateurs
4
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
25.05.2019 / 03.06.2020

Cartes-fiches

Beschreibe den Ablauf eine System Calls.

  1. Anwenderprogramm stellt Parameter bereit (Register, Stack)
  2. Ruft Bibliotheksfunktion auf: normaler Prozeduraufruf
  3. Syscall bzw. SWI: Die Kontrolle geht an den Kernel. Der Kernel ruft den System Call Handler auf und dieser wird ausgeführt.
  4. Ev. Rückkehr zur Bibliotheksfunktion
  5. Rückkehr ins Anwenderprogramm

Was sind Caches?

Schnelle Speicher zwischen CPU und Hauptspeicher.

Wie funktioniert ein Cache?

Der Prozessor liest das Wort. Wenn das Wort im Cache steht, transferiert er es an die CPU, wenn nicht, transferiert er den Block (Cache Line) mit dem Wort aus dem Speicher ins Cache.

Beim Lokalitätsprinzip von Caches gibt es zwei Möglichkeiten. Nenne und erkläre diese.

  • Räumliche Lokalität: Grosse Wsk., dass nächster Speicherzugriff auf "nahe" liegende Daten stattfindet. Wird z.B. ein Datum referenziert, ist die Wsk. gross, dass ein nahe liegendes Datum referenziert wird.
     
  • Zeitliche Lokalität: Grosse Wsk., dass Speicherzugriff auf gleiches Datum nochmals stattfindet.

Warum ist das Lokalitätsprinzip für Caches so wichtig?

Weil es der Grund ist, weshalb Caches überhaupt funktionieren. Ohne es würde man doppelt so lange brauchen, um Daten zu holen.

Was ist die Hitrate (hit ratio) bei Caches?

Die Wsk., dass der Speicherzugriff die Daten im Cache findet

Wofür sind Cache-Systeme nicht geeignet?

Für Systeme, die sich auf definierte Zugriffszeiten verlassen müssen.

Der Start eines BS hat 2 wesentliche Phasen. Nenne diese.

  • HW-abhängige Phase
  • BS-abhängige Phase

Was geschieht in der HW-abhängigen Phase eines BS-starts?

Der Prozessor startet auf seiner Reset Adresse. Der Code aus dem Festwerkspeicher (ROM, Flash) wird auf Platine ausgeführt. Dabei erfolt eine HW-Überprüfung und der Minimalzugriff auf "Disk" oder NEtzwerk wird initialisiert

Was geschieht in der BS-abhängigen Phase des BS-starts?

Boot-Code wird ausgeführt. Dieser steuert alle weiteren Schritte

Erkläre den Systemstart eines PC's.

  1. Der Prozessor startet das BIOS
  2. Das BIOS testet das System (POST) und lädt den Master Boot Record vom ersten Sektor des ersten Disks.
  3. Der MBR-Code liest den Boot-Code von der ersten aktiven Partition und startet den Bood-Cote (Loader)
  4. Der Boot-Code lädt sich weitere Informationen (Files) zum starten des BS von der Partition

Was ist ein Prozess?

Ein Prozess ist ein Programm in Ausführung. Es muss nicht zwingend aktiv sein. Ein Prozess hat seinen eigenen Kontext.

Zu einem Prozess gehören alle Daten, die benötigt werden, damit ein Programm was tun kann?

  • auf einem Rechner ausgeführt werden kann
  • zu einem beliebigen Zeitpunkt unterbrochen werden kann
  • wieder dort gestartet werden kann, wo es unterbrochen wurde

Was versteht man unter Unit of Resource Ownership?

  • Eine Einheit, die Resourcen besitzt.
  • Ein virtueller Adressraum, in dem das Prozess Image steht
  • Kontrolle über Ressourcen (Files, I/O Geräte, etc.) hat

 

Was versteht man unter Unit of Scheduling?

Eine Einheit, die schedulierbar ist. Der CPU-Scheduler weist der CPU einen Prozess zu (dispatch). Zum Prozess gehörten der Execution State (PC, SP, Register) und eine Ausführungspriorität.

Was sind die Hauptaufgaben des BS?

  • Scheduling: Zuweisung an CPU. Mehrere Prozesse "verschränkt" (concurrent) ausführen maximiert CPU-Nutzung.
  • Prozessausführung: Zustands- und wartschlangendiagramme, Ausführungsmodi
  • Mechanismen für: Prozesserzeugung und -terminierung, Synchronisation, Interprozesskommunikation
  • Ressourcen zur Verfügung stellen aber Deadlocks vermeiden

Wie funktioniert die Prozessausführung auf einer CPU?

Die Prozesse werden concurrent ausgeführt: Ihre Ausführung wird auf einer CPU verschränkt. Prozesse können in der Ausführung unterbrochen und später weiterverarbeitet werden. Sie erhalten i.A. die CPU für ein vorgegebenes Zeitintervall, ausser, der Prozess gibt die Kontrolle an die CPU zurück (warten auf I/O, etc.).

Was macht ein Dispatcher?

Er teilt die CPU zu

Was macht ein Scheduler?

Plant die CPU Zuteilung aufgrund eines Algorithmus. Er verhindert, dass nur ein einziger Prozess den Prozessor für sich in Anspruch nimmt und entscheidet, wer als nächstes an der Reihe ist. Ausserdem schaltet er zwischen Prozessen um.

Welche 2 Modelle beschreiben die Prozessausführung?

  • Zustandsmodell
  • Queuing-Diagram

Was ist ein Zustandsmodell?

Beschreibt den aktuellen Zustand eines Prozesses

Was ist ein Queuing-Diagram?

Beschreibt den Ort, wo sich Prozesse aufhalten, wenn sie sich in einem bestimmten Zustand befinden. Mehrere Prozesse können sich im gleichen Zustand befinden, z.B. Not Running. In diesem Fall warten sie in einer "Warteschlange"

Nenne die Zustände einer Prozessausführung.

  • new: der Prozess ist erzeugt aber noch nicht gestartet
  • ready: der Prozess kann ausgeführt werden
  • running: der Prozess läuft
  • blocked: der Prozess wartet auf Ereignis
  • suspend blocked: Der Prozess wurde ausgelagert und wartet auf Ereignis
  • suspend ready: der Prozess ist ausgelagert aber bereit für Aktivierung

Was geschieht, wenn zu viele Prozesse im Speicher sind?

Die Leistungsfähigkeit des Systems sinkt.

Wann gibt es einen Prozesswechsel?

  • System Call: Expliziter Aufruf aus Benutzerprogramm
  • Interrupt: Äussere Ursache. Die Kontrolle geht an den Interrupt Handler
  • Trap (oder Exception): Die letzte Instruktion hat einen Fehler erzeugt. Der Prozess wird unter Umständen abgebrochen.
  • Page Fault (Virtual Memory): Adressierter Datenwert steht nicht im physikalischen Speicher. Der entsprechende Speicherblock muss vom Disk geladen werden. Der Prozess wird in den Zustand blocked versetzt.

Welche zwei Möglichkeiten haben wir für einen Prozesswechsel?

  • Mode Switch: kein Prozesswechsel. nur "Unterbruch"
  • Context Switch: Prozesswechsel, impliziert auch Mode Switch

Welche Prozessausführungsmodi gibt es?

  • User Mode: weniger privilegiert --> Anwenderprogramme
  • System Mode: privilegierter --> BS-funktionen

Warum gibt es zwei Prozessausführungsmodi?

Um kritische Systemkomponenten aus Sicherheitsgründen vor unbeabsichtigten resp. unerlaubten Zugriffen zu schützen

Was sind typische Kernel Funktionen?

  • Process MAnagement
  • Memory Management
  • I/O Management
  • Support Funktionen

Erkläre den Mode Switch.

Nur der Prozessor-Zustand muss bzw. wird auf dem Stack gespeichert. D.h. die Prozessor Register und die Flags.

Da der Prozesskontrollblock nicht aufdatiert werden muss, wie bei einem Prozesswechsel, hat dieser Mode wenig Overhead.

Erkläre den Context Switch.

Gesamter Prozesszustand muss abgespeichert werden. Der Prozesskontrollblock wird aufdatiert und an die entspr. Liste angehängt.

Dann wird ein neuer Prozess für die Ausführung ausgewählt. Der PCB wird aufdatiert und der Prozessorzustand wiederhergestellt. Das ist eine sehr kostspielige Operation.

Wir betrachten einen Context Switch. Wer wählt den neuen Prozess aus und aufgrund von was?

Der Scheduler wählt einen Prozess aus der Ready Queue, aufgrund von min. Antwortzeit, max. Durchsatz, Auslastung der CPU, etc.

Wie funktioniert das Prozess- und Ressourcenmanagement?

Das BS unterhält und verwaltet versch. Tabellen für die verwaltung von Prozessen und Ressourcen. Die Informationen werden in diesen Tabellen gespeichert. Die Tabellen müssen selbst wieder miteinander verknüpft sein.

Woraus besteht das Prozess Image?

  • Benutzerprogramm (Code bzw. Text)
  • Daten
  • Stack
  • Heap

Wann hat das BS Zugriff auf Prozessdaten?

Wenn das Prozess Image teilweise im physikalischen Speicher steht.

Was ist der Prozesskontrollblock (PCB)?

Eine der wichtigsten Datenstrukturen im BS. Er speichert den Prozesskontext und ist Teil des Prozess Images.

Was definiert den Zustand des BS?

Das Set der PCB's

Was enhält der PCB?

Alle wichtigen Infos zum Prozess.

  • Process Identification
  • Process Control Information
  • Process State Information

Erkläre Process Identification.

Eindeutiger Prozessidentifikator, der immer vorhanden ist. Er zeigt in die primäre Prozesstabelle. Der PID des Elternprozesses ist der Erzeuger des aktuellen Prozesses.

Was zeigt die Benutzeridentifikation?

Wer für diesen Prozess verantwortlich ist.

Étudier