Prozessverwaltung Flashcards
Was gehört zum Kontext eines Prozesses?
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.
Was passiert bei einem Kontextwechsel?
Ein Prozess verliert CPU
Der Kontext wird gesichert und der neue Kontext wird geladen
Wie wird ein Prozess in Linux und Windows erzeugt?
Linux: fork()
kopiert Elternprozess
Windows: CreateProcess
startet neue Anwendung
Prozesszustände
Bereit, blockiert, rechnend
Die Registerinhalte bezeichnet man auch als
Hardware-Kontext.
Thread Definition
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.
Arten von Threads
Klassifizierung je nachdem, wo die Threads verwaltet werden:
Kernel-
User-
Hybride
Vor- und Nachteile von Threads
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)
Scheduling
Zuteilung der CPUs auf Aktivitäten
Nach bestimmten Algorithmen
Scheduling Ziele
- 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.
Klassifizierung von Scheduling - Verfahren
Preemptiv: #Vorrang-Unterbrechung darf stattfinden
Nicht-Preemptiv: #ein Prozess darf nicht unterbrochen werden, bis er seine Aufgaben vollständig erledigt hat
Scheduling - Verfahren
#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
Nachteile der Scheduling Verfahren
#Verhungern: -SJF, SRTN
#Zeitbestimmung -SJF, SRTN
Atomare Aktion
Codebereiche, die in einem Stück ausgeführt werden müssen und (logisch) nicht unterbrochen werden dürfen
Nebenläufigkeit
parallele oder quasi-parallele Ausführung von Befehlen auf einer CPU oder mehreren CPUs bzw. Rechnerkernen