Prozesse und Threads Flashcards

1
Q

Was ist ein Prozess?

A
  • > Ein Prozess stellt die Ablaufumgebung für ein Programm bereit
  • > Startet man ein Programm, wird es zu einem Prozess (=eine Instanz des Programms)
  • > Ein modernes Betriebssystem kann viele Prozesse parallel verarbeiten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Zustände können Prozesse haben?

A

Created, Terminated, Waiting, Running, Blocked

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

Was sind Threads?

A
  • > „Leichtere” Variante von Prozessen
  • > Threads sind parallele Strukturen innerhalb eines Prozesses
  • > Erlauben einem Programm, mehrere Aktivitäten quasi gleichzeitig durchzuführen
  • > Threads teilen sich den Adressraum des Programms, d. h. sie können sich gegenseitig beeinflussen (Prozesse nicht)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie hängen Threads und Prozesse zusammen?

A

In einem Prozessen können mehrere Threads sein.

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

Was ist CPU-Scheduling?

A
  • > Wie bereits besprochen erlauben es moderne Betriebssysteme, wesentlich mehr Prozesse und Threads auszuführen, als Prozessoren zur Verfügung stehen
  • > System muss vorhandene Rechenleistung auf die unterschiedlichen Prozesse/Threads aufteilen
  • > Verschiedene Vergabe-Strategien stehen zur Verfügung
  • > Scheduler des Betriebssystems übernimmt diese Aufgabe
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind die Kriterien nach denen CPU-Scheduling erfolgt?

A
  • > Fairness: garantierte Mindestzuteilung für jeden Prozess
  • > Auslastung: Effizienz durch möglichst volle Auslastung der CPU
  • > Antwortzeit: soll minimiert werden
  • > Wartezeit: von Prozessen soll minimiert werden
  • > Durchsatz: soll optimiert werden
  • > Durchlaufzeit: eines Prozesses soll minimiert werden
  • > Vorhersehbarkeit: Ausführung eines Prozesses soll vorhersehbar sein

Diese Kriterien widersprechen sich teilweise, je nach Einsatzgebiet sind sie unterschiedlich wichtig!

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

Wie kann man Scheduling-Verfahren unterscheiden?

A
  • > Non pre-emptive Scheduling (nicht verdrängend => ein Task der seine Aufgabe noch nicht erfüllt hat, wird nicht unterbrochen)
  • > Pre-emptive Scheduling (verdrängend => erlaubt vorzeitiges Unterbrechen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Warum ist für Echtzeit-Betriebssysteme Vorhersehbarkeit ein wichtiges Kriterium beim CPU-Scheduling?

A

Ein Echtzeit-Betriebssystem (=Realtime OS) garantiert die Abarbeitung eines Inputs (z. B. eines Messwertes) innerhalb einer gewissen Zeit. Die Vorhersehbarkeit der Ausführung eines Prozesses ist daher unerlässlich.

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

Welche Art von Scheduling unterstützen aktuelle Desktop-Betriebssysteme?

A

pre-emptive Scheduling

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