01_processThread_slides_Z Flashcards

1
Q

Was ist ein Programm im Kontext von Betriebssystemen?

A

Ein Programm ist ausführbarer Code, der auf der Festplatte gespeichert ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist ein Prozess in einem Betriebssystem?

A

Ein Prozess ist eine Instanz eines Programms, das derzeit ausgeführt wird.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist ein Thread?

A

Ein Thread ist ein eigenständiger Ausführungspfad innerhalb eines Prozesses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Bestandteile hat ein Thread?

A

Ein Thread besteht aus einem Programmzähler, Registerwerten und einem Stack.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was umfasst der Ausführungszustand eines Prozesses?

A

Der Ausführungszustand eines Prozesses umfasst die Ausführungszustände seiner Threads sowie den eigenen Adressraum, Programmsegment, Datensegment, Heap-Segment und Betriebsmittel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist ein Programmabbild (Program Image)?

A

Ein Programmabbild enthält das Programmsegment, Datensegment und Metainformationen eines Programms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welches Format verwenden Unix-Systeme typischerweise für Programmabbilder?

A

Unix-Systeme verwenden das ELF-Format (Executable and Linkable Format).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie wird ein Programm gestartet?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist die Prozesstabelle?

A

Die Prozesstabelle ist eine Struktur, durch die das Betriebssystem alle aktiven Prozesse verwaltet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was enthält ein Prozesskontrollblock?

A

Ein Prozesskontrollblock enthält Informationen wie Prozess-ID (PID), Prozessstatus, Ausführungszustand und Verwaltungs- sowie Schedulinginformationen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie sieht die Prozesshierarchie in Unix-Systemen aus?

A

In Unix-Systemen bilden Prozesse eine Baumstruktur mit Eltern-Kind-Beziehungen, wobei der init-Prozess an der Spitze steht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist Quasiparallelität?

A

Quasiparallelität ist die Technik, bei der Preemptive Multi-Tasking verwendet wird, um die parallele Ausführung von Prozessen zu simulieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was passiert während eines Kontextwechsels (Context Switch)?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist Round-Robin-Scheduling?

A

Round-Robin-Scheduling ist ein einfaches Scheduling-Verfahren, bei dem Prozesse der Reihe nach bedient werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie kann ein Prozess beendet werden?

A

Ein Prozess kann freiwillig durch das Auslaufen der main()-Funktion oder den Aufruf von exit() beendet werden, oder unfreiwillig durch Fehler oder Benutzer/Programm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist der Hauptunterschied zwischen Prozessen und Threads?

A

Threads teilen denselben Adressraum und Ressourcen des Prozesses, während Prozesse separate Adressräume haben.

17
Q

Wie wird ein Thread in einem Programm erzeugt?

A

Ein Thread wird mit pthread_create() erzeugt.

18
Q

Wie kann ein Thread beendet werden?

A

Ein Thread kann durch pthread_cancel() oder durch das Auslaufen der Thread-Funktion beendet werden.

19
Q

Was sind Zombie-Prozesse?

A

Zombie-Prozesse sind beendete Kindprozesse, die in der Prozesstabelle verbleiben, bis der Elternprozess ihren Exit-Status abfragt.

20
Q

Wie wird ein neuer Prozess in Linux erzeugt?

A

Ein neuer Prozess wird in Linux mit fork() erzeugt.

21
Q

Was macht die Funktion exec() in Linux?

A

Die Funktion exec() ersetzt das Programmabbild eines Prozesses durch ein neues.

22
Q

Welche wichtigen Funktionen werden bei der Prozessverwaltung in Linux verwendet?

A

Wichtige Funktionen sind getpid(), getppid(), wait(), waitpid(), exit().