01_processThread_slides_Z Flashcards
Was ist ein Programm im Kontext von Betriebssystemen?
Ein Programm ist ausführbarer Code, der auf der Festplatte gespeichert ist.
Was ist ein Prozess in einem Betriebssystem?
Ein Prozess ist eine Instanz eines Programms, das derzeit ausgeführt wird.
Was ist ein Thread?
Ein Thread ist ein eigenständiger Ausführungspfad innerhalb eines Prozesses.
Welche Bestandteile hat ein Thread?
Ein Thread besteht aus einem Programmzähler, Registerwerten und einem Stack.
Was umfasst der Ausführungszustand eines Prozesses?
Der Ausführungszustand eines Prozesses umfasst die Ausführungszustände seiner Threads sowie den eigenen Adressraum, Programmsegment, Datensegment, Heap-Segment und Betriebsmittel.
Was ist ein Programmabbild (Program Image)?
Ein Programmabbild enthält das Programmsegment, Datensegment und Metainformationen eines Programms.
Welches Format verwenden Unix-Systeme typischerweise für Programmabbilder?
Unix-Systeme verwenden das ELF-Format (Executable and Linkable Format).
Wie wird ein Programm gestartet?
Ein Programm wird gestartet, indem überprüft wird, ob die Datei ausführbar ist, der Dateityp bestimmt wird, das Programmabbild in den Speicher geladen wird, und der Programmzähler auf den Entry Point gesetzt wird.
Was ist die Prozesstabelle?
Die Prozesstabelle ist eine Struktur, durch die das Betriebssystem alle aktiven Prozesse verwaltet.
Was enthält ein Prozesskontrollblock?
Ein Prozesskontrollblock enthält Informationen wie Prozess-ID (PID), Prozessstatus, Ausführungszustand und Verwaltungs- sowie Schedulinginformationen.
Wie sieht die Prozesshierarchie in Unix-Systemen aus?
In Unix-Systemen bilden Prozesse eine Baumstruktur mit Eltern-Kind-Beziehungen, wobei der init-Prozess an der Spitze steht.
Was ist Quasiparallelität?
Quasiparallelität ist die Technik, bei der Preemptive Multi-Tasking verwendet wird, um die parallele Ausführung von Prozessen zu simulieren.
Was passiert während eines Kontextwechsels (Context Switch)?
Während eines Kontextwechsels werden Registerwerte, Stack, Framepointer und Programmzähler des aktuellen Prozesses gespeichert und die des nächsten Prozesses wiederhergestellt, außerdem wird der Adressraum gewechselt.
Was ist Round-Robin-Scheduling?
Round-Robin-Scheduling ist ein einfaches Scheduling-Verfahren, bei dem Prozesse der Reihe nach bedient werden.
Wie kann ein Prozess beendet werden?
Ein Prozess kann freiwillig durch das Auslaufen der main()-Funktion oder den Aufruf von exit() beendet werden, oder unfreiwillig durch Fehler oder Benutzer/Programm.