wetr


S. G.
Diese Lernkarten behandeln fortgeschrittene Konzepte der Prozessverwaltung und Threads in Betriebssystemen auf Universitätsniveau. Sie erklären Begriffe wie Kernel- und User-Level Threads, Prozesswechsel, Kontextwechsel und die Unterschiede zwischen Prozessen und Threads. Die Karteikarten decken auch Themen wie die Erzeugung und Verwaltung von Prozessen unter Unix/Linux, die Aufgaben des Schedulers und die Organisation von Prozessinformationen ab. Ideal für Studierende der Informatik, die ein tiefes Verständnis der Prozessverwaltung und Threads in modernen Betriebssystemen erlangen möchten.
Cartes-fiches
26
Utilisateurs
9
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
20.04.2019 / 15.06.2020

Cartes-fiches

kap3: den Begriff Prozess erklären

- Programm in Ausführung. - Muss nicht zwingend aktiv sein- Hat eigenen Kontext (Daten, Code, Stack etc)- Sandbox

kap3: erklären, wie Prozesse auf einer CPU ausgeführt werden

- Prozesse werden concurrent (interleaved) ausgeführt. Sie können unterbrochen und wieder fortgeführt werden. Dispatchert teilt Prozessen CPU Zeit zu. (Fair, Starvation etc...)

kap3: die Beschreibung der Prozessausführung erklären und skizzieren

bild

kap3: den Prozesswechsel erklären

Wechsel wenn BS Kontrolle über CPU erhält

• System Call - expliziter Aufruf aus Benutzerprogramm - Prozess wird ev. blockiert, muss aber nicht

• Interrupt - äussere Ursache: z.B. Timer, DMA beendet, etc. - Kontrolle an Interrupt Handler, oft nur für sehr kurze Zeit

• Trap - die letzte Instruktion hat einen Fehler erzeugt - Prozess wird ev. Umständen abgebrochen, z.B. Division x / 0 Zwei Möglichkeiten

       • Mode Switch: keine Prozesswechsel, nur "Unterbruch"

       • Context Switch: Prozesswechsel, impliziert auch Mode Switch   

 

Gründe für Prozesswechsel - Timer (clock) ...Zeitintervall abgelaufen Prozess geht in Zustand ready

- I/O-Interrupt ...auf Interrupt wartenden Prozess in den Zustand READY oder READY SUSPEND versetzen entscheiden, ob

• laufender Prozess unterbrochen oder weiterverarbeitet werden soll

• Prozess mit höherer Priorität aktiviert werden soll - page fault (virtual memory) adressierter Datenwert steht nicht im physikalischen Speicher, entsprechender Speicherblock muss vom Disk geladen werden Prozess wird in den Zustand blocked versetzt - trap oder exception laufenden Prozess abbrechen - system call die meisten System Calls blockieren den aufrufenden Prozess

kap3: Ausführungsmodi erklären

User Mode / Kernel Mode Die meisten modernen Prozessoren unterstützen diese beiden Modi (Hardwareunterstützung) Wieso diese Aufteilung ? • kritische Systemkomponenten aus Sicherheitsgründen vor unbeabsichtigten resp. unerlaubten Zugriff schützen • z.B. PCB, Memory Allocation Tables, IO, etc.

kap3: die Prozesserzeugung am Beispiel Unix/Linux erklären undanwenden (Praktikum)

fork, wait (siehe praktikum)

kap3: erklären und diskutieren, wie das Betriebssystem ausgeführt wird

- Das BS arbeitet als normale Computersoftware (wird als Programm vom Prozessor ausgeführt.

- Das BS gibt oft kontrolle ab. Prozessor muss aber Kontrolle wieder an BS zurückgeben.

- Ältere BS: Kernel mit eigenem Kontext. (Nur Benutzerprogramme sind Prozesse)

- Prozessbasierte BS: BS ist eine Sammlung von Systemprozessen (Microkernel). Grössere Kernel funktionen sind eigenständige Prozesse. Leicht erweiterbar und gut geeignet für Multicore Prozessoren. Aber hohe Interprozesskommunikationskosten

kap3: Wieso braucht es Prozesse? Erklären und diskutieren Sie den Begriff Prozess.

ein Programm in Ausführung, beinhaltet alle notwendigen Informationen um unterbrochen und wieder gestartet werden zu k ̈onnen, Schnappschuss seiner Laufzeitumgebung

kap3: Was versteht man unter dem Begriff Prozesskontext und was geho ̈rt alles dazu?

alles ausser dem eigentlichen Programmcode, Datenbereich und Stack..

Alle notwendingen die für den Ablauf und die Verwaltung von prozessen von Bedeutung sind.

kap3: Wie werden Prozesse i.A. auf einem single-CPU Prozessor (Uniprozessor) ausgeführt?

Zeitmultiplex

kap3: Welche Modelle braucht es um das Prozessverhalten zu beschrieben?

Zustandsdiagramm und Queueing-Diagramm

kap3: Skizzieren und erklären Sie das 7-Zustandsmodell.

siehe Vorlesung

kap3: Erklären Sie, wie das Betriebssystem Informationen zu Prozessen organisiert.

mit Tabllen für Speicher, IO, Files und Prozesse

kap3: Was ist der PCB? Für was wird er beno ̈tigt und wie wird er vom Betriebssystem verwaltet?

Process Control Block: enthält alle wesentlichen Informationen zum Prozess und ist in linked lists

kap3: Was ist ein Mode-Switch, was ist ein Context-Switch? Erklären und diskutieren Sie den jeweiligen Ablauf.

beim Mode Switch wird in den privilegierten Modus geschaltet über eien SW-Interrupt, beim Context Switch muss zuätzlich der gesamte Prozesskontext umgeschaltet resp. ausgetauscht werden

kap3: Erklären Sie die Aufgaben des Schedulers bzw. Dispatchers.

wählt einen lauffähigen Prozsses für die Zuweisung an die CPU aus

kap3: Erklären und diskutieren Sie verschiedene Mo ̈glichkeiten, wie das Betriebsystem ausgeführt wird.

Kernel als eigener Kontext, BS-Funktionen im Kontext des Benutzers, BS-Funktionen alseigenständige Prozesse

kap3: Erklären Sie die Prozesshierarchie unter Unix/Linux.

init Prozess: Hauptprozess, alle Prozesse werden davon ausgehend in einer Hierarchie gestartet

kap3: Erklären und diskutieren Sie wie Prozesse unter Unix/Linux erzeugt werden?

fork() erstellt Kopie des Elternprozesse, exec() überlagert Programm und Daten (startet neues Programm)

kap3: Was ist ein Zombie? Wieso gibt es Zombies und wie ko ̈nnen sie vermieden werden?

Ein Prozess, auf dessen Terminierung niemand wartet, indem man Prozesse verwaisen lässt (Elternprozess wird dabei Prozess 1 (init)

kap3: Was versteht man unter dem Begriff COW ?

nach fork() werden Daten neu erst dann erzeugt, wenn Sie geschrieben werden: COW → copy on write

kap3: Erklären und diskutieren Sie den Unterschied zwischen Prozess und Thread.

Ein Prozess kann mehrere Threads enthalten, die innerhalb eines Prozesses aus geführt werden und dessen Ressourecen teilen

kap3: Wieso werden heute vermehrt Threads eingesetzt? Zählen Sie Anwendungen auf nund diskutieren Sie Vor-und Nachteile von Threads gegenüber Prozessen.

Umschaltung zwischen Threads schneller (Thread-Kontext kann sehr schlank gehalten werden), WEB-Services, Spread-Sheets, Arbeitsteilung auf gemeinsamen Daten und Multicore Maschinen

kap3: Erklären Sie den Unterschied zwischen Kernel-Level Threads und User-Level Threads. Diskutieren Sie Vor- und Nachteile.

Kernel-Level Threads: der Kern weiss um die Thread, User-Level Threads: der Kernel weiss nichts von den Threads

 

User level threads:

+ Kann auch auf einem Betriebssystem, welches threads nicht unterstützt implementiert werden

+ Thread switching ist günstig

- Sind dem OS nicht bekannt -> nicht optimiert

 

Kernel Level Threads:

+ Scheduler kann effekt Zeit zuweisen

+ Gut für Applikationen die häufig blocken

- Langsam und ineffizient.

kap3: Wie ko ̈nnen Sie feststellen, ob es sich um Kernel- oder User-Level Threads handelt?

Blockierenden System-Call aufrufen: wenn der Prozesss blockiert → User-Level Thread

kap3: Gegeben ist folgender Programmausschnitt: fork(); if (fork() == 0) fork(); fork();Skizzieren Sie die entstehende Prozesshierarchie (wie viele Prozesse werden zusätzlich erzeugt?).

?

Étudier