Prozessverwaltung Flashcards

1
Q

Was gehört zum Kontext eines Prozesses?

A

Alle Infos, die der Prozess zur Ausführung benötigt (CPU)

Die Werte in den betreffenden Registern der CPU
Die Belegung des Caches mit Befehlen und Daten des Prozesses.
Die Belegung des Hauptspeichers mit Programmtext und Daten des Prozesses.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was passiert bei einem Kontextwechsel?

A

Ein Prozess verliert CPU

Der Kontext wird gesichert und der neue Kontext wird geladen

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

Wie wird ein Prozess in Linux und Windows erzeugt?

A

Linux: fork()
kopiert Elternprozess
Windows: CreateProcess
startet neue Anwendung

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

Prozesszustände

A

Bereit, blockiert, rechnend

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

Die Registerinhalte bezeichnet man auch als

A

Hardware-Kontext.

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

Thread Definition

A

nebenläufige Ausführungseinheit innerhalb eines Prozesses.

Alle Threads eines Prozesses teilen sich den gemeinsamen Adressraum dieses Prozesses
und können damit gleichermaßen auf Prozessdaten zugreifen und Programmcodes nutzen.

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

Arten von Threads

A

Klassifizierung je nachdem, wo die Threads verwaltet werden:

Kernel-
User-
Hybride

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

Vor- und Nachteile von Threads

A
Vorteil:
#schnellerer Threadkontextwechsel, da sie gleiche Speicherbereiche nutzen (kein BS - Overhead(
#Unterstützung von Parallelisierung der Prozessarbeit (sinnvoll bei mehreren CPUs)
Nachteile:
#Threads müssen threadsafe oder reentrant sein (=wenn Threads nebenläufige oder auch die folgende Ausführung eines weiteren Threads nicht beeinträchtigen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Scheduling

A

Zuteilung der CPUs auf Aktivitäten

Nach bestimmten Algorithmen

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

Scheduling Ziele

A
  • Fairness, d. h. für jeden Prozess eine garantierte Mindestzuteilung
  • Effizienz durch möglichst volle Auslastung der CPU
  • Die Antwortzeit soll minimiert werden
  • Die Wartezeit von Prozessen soll minimiert werden
  • Der Durchsatz soll optimiert werden
  • Die Durchlaufzeit (Verweilzeit) eines Prozesses soll minimiert werden
  • Die Ausführung eines Prozesses soll vorhersehbar und damit kalkulierbar sein.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Klassifizierung von Scheduling - Verfahren

A
Preemptiv:
#Vorrang-Unterbrechung darf stattfinden
Nicht-Preemptiv:
#ein Prozess darf nicht unterbrochen werden, bis er seine Aufgaben vollständig erledigt hat
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Scheduling - Verfahren

A
#First Come First Serve (FCFS) (non-preemptive)
#Shortest Job First (SJF), auch als Shortest Process First (SPF) bzw. Shortest Process Next (SPN) (non-preemptive)
#Shortest Remaining Time Next (SRTN) (verdrängend) --> kürzeste verbleibende Restrechenzeit im System
#RoundRobin --> FCFS in Verbindung mit einer Zeitscheibe
#Priority Scheduling --> Prozess mit der höchsten Priorität
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nachteile der Scheduling Verfahren

A
#Verhungern:
-SJF, SRTN
#Zeitbestimmung
-SJF, SRTN
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Atomare Aktion

A

Codebereiche, die in einem Stück ausgeführt werden müssen und (logisch) nicht unterbrochen werden dürfen

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

Nebenläufigkeit

A

parallele oder quasi-parallele Ausführung von Befehlen auf einer CPU oder mehreren CPUs bzw. Rechnerkernen

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

Race Conditions

A

Situationen, bei denen zwei oder mehr Prozesse gemeinsame Betriebsmittel nutzen und die Endergebnisse der Nutzung von der zeitlichen Reihenfolge der Operationen abhängen

17
Q

Kritische Abschnitte

A

Programmteile, die nicht unterbrochen werden dürfen.

18
Q

Problematische Eigenschaften nebenläufiger Programme

A

Blockieren, verhungern, verklemmen

19
Q

Synchronisationskonzepte

dass mehrere Prozesse keinen kritischen Abschnitt betreten

A
#sperren (keine richtige Lösung)
#TSL oder TAS (Test and Set Lock)
#Semaphore
#Mutex (binäres Semaphor)
#Zählsemaphor
#Monitor
20
Q

Monitor

A

Menge von Prozeduren und Datenstrukturen, die als Betriebsmittel betrachtet werden und mehreren Prozessen zugänglich sind, aber nur von einem Prozess zu einer Zeit benutzt werden können.

21
Q

Deadlock

A

Zwei oder mehr Prozesse halten jeder für sich ein oder mehrere Betriebsmittel belegt und versuchen ein weiteres zu belegen, das aber von dem anderen Prozess belegt ist.

22
Q

Bedingungen für einen Deadlock

A
#Mutual Exclusion für die benötigten Betriebsmittel
#Prozesse belegen Betriebsmittel und fordern weitere an
#Kein Entzug eines Betriebsmittels ist möglich
#Zwei oder mehrere Prozesse warten in einer Warteschleife (circular waiting) auf weitere
Betriebsmittel
23
Q

Umgang mit Deadlocks

A
#Erkennen und Beseitigen zur Laufzeit
#Abbrechen eines Prozesses/Threads
#Entziehen von Betriebsmittel
24
Q

Interprozesskommunikation Formen:

A
  • Verbindungsorientierte versus verbindungslose Kommunikation
  • Speicherbasierte versus nachrichtenbasierte Kommunikation
  • Synchrone versus asynchrone Kommunikation
  • Kommunikationskanal: Halbduplex- versus Vollduplex-Betrieb
  • Varianten der Empfängeradressierung
25
Q

Was ist in der Prozessverwaltung ein PCB, wozu dient er und welche Inhalte hat er?

A

Ein Eintrag in der Prozesstabelle heißt Process Control Block (PCB).

# Infos zu Identifikation des Prozesses, 
# Prozesszustand
# Ressourcen zum Prozess (Dateien, offene Netzwerkverbindung)
# PC
# Priorität
#prozessnummer
26
Q

Wie verhalten sich Threads zu Prozessen im Hinblick auf die Nutzung des Prozess-
adressraums?

A

Threads erhalten den vollen Zugriff auf den zugehörigen Prozessadressraum

27
Q

Was bedeutet eine 1:n-Beziehung zwischen den Betriebsmitteln Prozess und Thread?

A

Ein Prozess kann mehrere Threads beherbergen

28
Q

Kann es unter Windows sein, dass ein Thread mehreren Prozessen zugeordnet ist?

A

Nein, ein Thread wird innerhalb eines Prozesses erzeugt und ist diesem bis zur Termi-
nierung zugeordnet.

29
Q

Welche zwei grundsätzlichen Implementierungsmöglichkeiten für Threads gibt es und
welche Vor- bzw. Nachteile haben diese jeweils?

A
Threads können auf der Benutzerebene implementiert werden. 
   # Vorteil: hohe Effizienz, da beim Thread-Kontextwechsel kein Umschalten in den Kernelmodus 
   # Nachteilig: alle Threads eines Prozesses blockieren, wenn ein Systemaufruf innerhalb eines einzelnen Threads blockiert.
Threads auf der Kernelebene:
    # Vorteil: BS kann die Zuteilung der Rechenzeit über Threads gestalten und so einen Prozess nicht unnötig blockieren.
    #Vorteil:  Prozess ist nicht blockiert, wenn ein Thread innerhalb des Prozesses blockiert ist
   # Nachteil: nicht so effizient , da Threads sich bei jedem Thread- Kontextwechsel an den Kernel wenden müssen (Software-Interrupt)
30
Q

Zustandsübergänge von Prozessen

A

• bereit → aktiv: Das Betriebssystem wählt den Prozess aus (Aktivieren)
• aktiv → bereit: Das Betriebssystem wählt einen anderen Prozess aus (Deaktivieren,
Preemption, Vorrangunterbrechung)
• aktiv → blockiert: Der Prozess wird blockiert (z. B. wegen Warten auf Input, Be-
triebsmittel wird angefordert)
• blockiert → bereit: Der Blockierungsgrund wird aufgehoben (Betriebsmittel
verfügbar)
• aktiv → beendet: Prozessbeendigung oder schwerwiegender Fehler (Terminieren
des Prozesses)

31
Q

Was sind Semaphore?

A

ein Konzept zur Lösung des Mutual-Exclusion-Problems auf Basis von Sperren.

Semaphor verwaltet intern eine Warteschlange für die Prozesse bzw. Threads, die gerade am Eingang eines kritischen Abschnitts warten müssen, und einen Semaphorzähler.

32
Q

Was ist ein Mutex im Sinne der Synchronisation konkurrierender Prozesse?

A

Vereinfachte binärer Semaphore

verfügt über eine Variable, die nur zwei Zustände, nämlich locked und unlocked annehmen kann

verwaltet keine Warteschlange für wartende Prozesse.