Was ist ein Prozess und welchen Kontext stellt er da?
Er ist ein ausführbares Programm mit seinen zugehörigen Daten (Variable, Stack, Puffer, etc.)
Kontext:
akt. Zustand des Prozesses (PC, Register, etc.)
Daten zur Prozessverwaltung (Wartebedingung, Priorität, etc.)
Was macht der Trace?
Er charakterisiert das Verhalten eines Prozesses und ist die Sequenz der Instruktionen, die für einen Prozess ausgeführt werden
Wie sieht man das Prozessorverhalten?
Durch die Überlappung von Traces verschiedener Prozesse
Wie sieht das einfachste Prozessmodell aus?
Wie funktioniert die Erzeugung von Prozessen?
Das BS baut Datenstrukturen auf und allokiert notwendigen Speicher.
Wann wird ein Prozess erzeugt?
Login eines interaktiven Benutzers
BS: Ausführung eines Services
Erzeugung durch einen Benutzerprozess (Process Spawning: Parent bzw. Child)
Absetzen eines neuen Jobs
Wodurch kommt es zur Beendigung von Prozessen.
Logout durch den Benutzer
Service Request an das BS
Auftreten eines Fehlers bei der Abarbeitung eines Prozesses
Halt-Instruktion eines Jobs
Wie funktioniert das 5 Zustands-Prozessmodell?
Wie lauten die Wesentlichen Prozesszustände?
Running:
Prozess ist im Besitz der CPU und wird ausgeführt
Ready:
Prozess ist bereit zur Ausführung (wartet nur auf Zuteilung der CPU)
Blocked / Waiting:
Prozess wartet auf ein Ereignis (z.B. Beendigung von I/O), ist nicht laufbereit
Welche Prozesszustände kommen durch das 5 Zustands-Prozessmodell dazu?
New
Exit
Was passiert beim Prozesszustand New?
BS hat den Prozess kreiert:
Prozessnummer (process identifier)
Tabellen und Tabelleneinträge zur Prozessverwaltung
der Prozess ist jedoch noch nicht bereit zur Ausführung
Vermeidung der Ressourcenüberlastung durch Zulassung zuvieler Prozesse
Was passiert beim Processzustand Exit? Wie wird er erreicht?
Prozess wird nicht mehr weiter ausgeführt:
Prozessinformationen (Tabellen) werden von Hilfsprogrammen verwendet (z.B. Accounting, Debugging)
Die Prozessinformationen, -tabellen werden gelöscht, wenn sie nicht mehr benötigt werden
=> Zustand wird durch Terminierung erreicht
Wie funktioniert das Queuing Modell?
Was passiert beim Process Switch?
Das Umschalten des aktiven Prozesses
Wie kommt es zu einem Process Switch wenn das BS im Besitz der CPU ist?
Supervisor Call
expliziter Aufruf durch das Programm (I/O, ...)
Trap
bedingt durch aktuelle Instruktion (z.B. Auftreten eines Fehlers)
Interrupt
Ursache liegt außerhalb des Prozesses, Kontrolle geht an Interrupt Handler und BS
Welcher Vorbedingung führt zu Swapping?
Wenn zuviele Prozesse im Hauptspeicher sind, führt dies zu einer Verschlechterung der Performance
Was ist Swapping?
Swapping = Auslagern von Prozessen auf einen Sekundärspeicher
Wie funktioniert die Realisierung von Swapping im BS?
zwei neue Prozesszustände und Queues:
Ready, suspend
Blocked, suspend
Welche Prozesszustände gibt es mit Suspend?
Welche Ursachen für Suspend kann es geben?
Swapping
BS lagert Hintergrundprozess, Utility,oder problembehafteten Prozess aus
Interaktiver Request (z.B.fürDebugging)
Timing: periodischer Prozess kann zwischen Aktivierungen ausgelagert werden
Parent Request: Untersuchung, Modifikation, Koordination von Kindprozessen
Welche Kontrollstrukturen des BS gibt es?
Das BS verwaltet die folgenden Tabellen für Prozesse und Ressourcen:
Memory Tables
I/O Tables (für Geräte und Kanäle)
File Tables
Process Tables
Woraus besteht das Process Image?
User Program
User Data: modifizierbarer Bereich des User Space (Daten, User Stack, modifizierbare Programme)
System Stack: Parameter und Calling Addr. von System Calls
Process Control Block: Process identification, processor state information, process control information (Execution Context)
Wo befindet sich das Process Image und wie wird darauf zugegriffen?
Es befindet sich im Virtual Memory (muss nicht zusammenhängend sein)
Zugriff:
Primary Process Table enthält Verweis auf Process Image
BS benötigt Teile des Images zur Prozessverwaltung im Haupt- speicher
Worus besteht die Process Identification im PCB?
Eindeutige Prozessnummer (Process identifier)
= Index in der Primary Process Table
Benutzerkennung (User identifier)
= Benutzer, dem der Prozess gehört
Nummer des Prozesses, der den Prozess generiert hat (Parent Process Identifier)
Was beinhaltet die Processor State Information?
Registerinhalte
Kontroll- und Statusregister
Befehlszähler
Program Status Word (PSW): Kontroll-, Modusinformation, Status-Bits
Stack Pointers
Was beinhaltet die Process Control Information?
Scheduling und Zustandsinformation
Querverweise auf andere Prozesse
Interprozesskommunikation (IPC)
Privileges
Memory Management
Ressourcen
Was beinhalten das Scheduling und die Zustandsinformation bei Process Control Information?
Zustand, in dem sich der Prozess befindet
Priorität und Schedulinginformation
Ereignis, auf das der Prozess wartet
Was beinhalten die Querverweise auf andere Prozesse bei der Process Control Information?
Die Realisierung von Prozess-Queues:
=> Verweise auf Parent, Child, ...
Was beinhaltet die Interprozesskommunikation (IPC) bei der Process Control Information?
Flags
Signale
Verweise auf Nachrichten
Was beinhaltet das Memory Management bei Process Control Information?
Verweise auf Segment- oder Seitentabellen
Was beinhalten Ressourcen bei der Process Control Information?
verwendete: geöffnete Files, I/O Devices
bisher konsumierte: CPU Zeit, I/O, etc.
Wozu gibt es zwei Execution Modes und welche sind sie?
Um die Datenstrukturen (z.B. PCB) des BS zu schützen:
Privileged Mode: (= system mode, kernel mode, supervisor mode, control mode)
für Zugriff auf Kontrollregister, MM, I/O-Primitive
User Mode
Was ist der Unterschied zwischen Mode Switch vs. Process Switch?
Mode Switch ist Basis für Process Switch
nicht jeder Mode Switch bewirkt Process Switch
Wie funktioniert Interrupt Handling?
Wie funktioniert ein Nonprocess Kernel?
Wie funktioniert die BS-Ausführung in User-Prozessen?
Was ist die BS-Ausführung in User-Prozessen?
Was ist ein Prozessbasiertes BS?
Was für Kernel-Architekturen gibt es?
Monolithic Operating System
Layered Operating System
Modular Operating System
Wie funktioniert das Monolithic Operating System?
Betriebssystem = Menge von Prozeduren:
=> Jede Prozedur kann jede andere Prozedur aufrufen
Wie funktioniert das Layered Operating System?
Es ist eine Hierarchische Organisation der BS-Funktionen:
Interaktionen zwischen benachbarten Schichten
Mehrheit der Schichten exekutieren im Kernel Mode
Wie funktioniert das Modular Operating System?
Es hat einen Hardware Abstraction Layer:
=> Module realisieren verschiedene OS-Funktionalitäten
Wie funktioniert die Microkernel Architektur?
Welche Microkernel Services gibt es?
Process Switching
Basic Memory Management
Interrupts und Hardware Access (I/O)
Nachrichtenaustausch und –kontrolle
Welche Eigenschaften hat Microkernel Architektur?
Was ist der Unterschied zwischen Prozessen und Threads?
Process:
virtueller Adressraum mit Process Image – Speicherschutz, Files, I/O Ressourcen
Thread:
Ausführungszustand (Running, Ready, ...)
Kontext (wenn nicht gerade laufend)
Stack
thread-lokale statische und lokale Variable
Zugriff auf Prozessspeicher und Ressourcen
Wie sieht das Singlethreaded Process Model aus?
Wie sieht das Multithreaded Process Model aus?
Welche Vorteile haben Threads gegenüber Prozessen?
Thread-Erzeugung benötigt weniger Zeit
Umschaltung zwischen Threads geht schneller als ein Process Switch
Terminierung eines Threads benötigt weniger Zeit als Prozessterminierung
Kommunikation zwischen Theads eines Prozesses ohne Einschaltung des Kernels, aber: Synchronisation notwendig!!!
Was sind die Einsatzbereiche von Threads?
Applikationen, die zusammengehörige Menge von Abarbeitungseinheiten bilden
Nenn mir zwei Beispiele für Einsatzbereiche von Threads
Welche Thread-Zustände gibt es? Welcher Zustand existiert nicht und warum?
Running, Ready, Blocked
=> Zustand Suspend existiert nicht für einzelne Threads - alle Threads eines Prozesses haben Zugriff auf den selben Adressraum
Was passiert bei der Terminierung eines Prozesses mit Threads?
Bei der Terminierung eines Prozesses terminieren alle zugehörigen Threads - Exit existiert nicht
Wie funktionieren User-Level Threads (ULT)?
Threads sind für den Kernel unsichtbar
Thread Management mittels Thread Library
Thread Switching im User Mode (benötigt keinen Mode Switch)
applikationsspezifisches Scheduling
Was enthält die Threads Library?
enthält Code für:
Erzeugung und Terminierung von Threads
Daten-, Nachrichtenaustausch zwischen Threads
Thread Scheduling
Sichern und Herstellen von Thread Kontexten
Was sind Kernel-Level Threads (KLT)?
Wie funktionieren Kernel-Level Threads?
Thread-weises Blocking
Kernel-Routinen multi-threaded
gleichzeitiges Schedulen mehrerer Threads eines Prozesses (bei mehreren Prozessoren)
Thread Switching innerhalb eines Prozesses über den Kernel benötigt 2 Mode Switches (= Verlangsamung gegenüber ULTs)
Last changeda year ago