Skizzieren Sie in einem Schaubild die drei grundlegenden Prozesszustände und die jeweils möglichen Zustandsübergänge. Geben Sie für alle Zustandsübergänge jeweils den Grund des Zustandswechsels an.
Bei welcher Art von Schedulingstrategien ist auch ein direkter Übergang vom Prozesszustand "rechnend" zum Prozesszustand "bereit" möglich?
Grenzen Sie die Begriffe Programm, Prozess, Prozesskontext und Prozesszustand gegeneinander ab und erklären Sie diese.
Erläutere zwei Dinge, die bei einem Kontextwechsel auf der CPU erledigt werden müssen.
Welcher grundlegende Befehl steht unter Unix/Linux für die Erzeugung eines neuen Prozesses zur Verfügung? (Nennen Sie nur den Befehl.)
Durch die Ausführung dieses Befehls entsteht aus dem Eltern-Prozess ein Kind-Prozess. An welcher Stelle beginnt anschließend die Abarbeitung des Kind-Prozesses (sobald er die CPU zugeteilt bekommt)?
Nenne fünf Informationen, die vom Betriebssystem für einen Prozess in seinem zugehörigen Prozesskontrollblock verwaltet werden.
Jeder Prozess besitzt seinen eigenen Prozesskontrollblock. Wie nennt man die Datenstruktur, in der alle Prozesskontrollblöcke zusammengefasst werden?
Erläutere den Unterschied zwischen einem Scheduler und einem Dispatcher.
Nenne drei Ziele, die ein Scheduling-Algorithmus verfolgen sollte.
Erläutere, inwieweit ein gleichzeitiges Erreichen der genannten Ziele realistisch ist.
Wofür stehen die Abkürzungen FCFS, SJF, SRTN, RR, PS im Kontext des Scheduling?
Diskutieren Sie die Vor- und Nachteile der Scheduling-Strategien SJF und FCFS.
Erläutern Sie in Bezug auf Scheduling, warum das Round-Robin-Verfahren nicht die Nachteile des FCFS-Verfahrens hat.
Erläutere den Unterschied zwischen "preemptive" und "non-preemptive" in Bezug auf Scheduling-Strategien.
Betrachte die Scheduling-Verfahren FCFS, SJF, RR und PS.
Welche dieser Verfahren sind preemptive, welche sind non-preemptive?
Gegeben seien fünf Prozesse P1, P2, P3, P4 und P5 mit den Gesamtrechenzeiten 2, 3, 6, 10 und 19 Zeiteinheiten, die quasi gleichzeitig zum Zeitpunkt 0 am System eintreffen. Gehen Sie davon aus, dass die Reihenfolge des Eintreffens (bei kaum wahrnehmbaren zeitlichen Unterschieden) P4, P1, P5, P3, P2 lautet. Es gibt keine Unterscheidung unterschiedlicher Prioritäten.
Skizzieren Sie für diese Situation wann welcher Prozess bearbeitet wird für die Schedulingstrategien FCFS, SJF, SRTN und RR. Gehen Sie für die preemptive(n) Strategie(n) von einer Zeitscheibe der Länge 2 Zeiteinheiten aus.
(Hinweis: Diese Aufgabe ist so gemeint, dass zum Zeitpunkt 0 bereits alle Prozesse im Zustand "bereit" auf eine Zuteilung der CPU warten.)
Betrachte die Prozesse A bis E, welche mit unterschiedlichen Prioritäten versehen sind. Die Rechenzeit ist schon im Voraus bekannt, siehe folgende Tabelle.
Welche Ausführungsreihenfolge ergibt sich beim Priority-Scheduling, wenn zusätzlich mit einem Zeitquantum von einer Zeiteinheit (ZE) gearbeitet wird?
Prozess | A | B | C | D | E |
---|---|---|---|---|---|
Rechenzeit (ZE) | 12 | 7 | 4 | 8 | 10 |
Priorität | Mittel | Niedrig | Hoch | Hoch | Mittel |
Hinweis: Alle Prozesse sind zum Startzeitpunkt bereit und können sofort die CPU übernehmen. Die Priorität der Prozesse ändert sich nicht, bei gleicher Priorität ist die Round-Robin-Strategie anzuwenden.
Um bei mehreren Prozessen mit gemeinsam genutzten Betriebsmitteln kritische Abschnitte so zu schützen, dass immer nur maximal ein Prozess zur Zeit diesen kritischen Abschnitt ausführen darf, soll das aktive Warten eingesetzt werden. Zur Realisierung des aktiven Wartens kann eine while-Schleife genutzt werden.
Geben Sie den für das aktive Warten nötigen Programmcode an, der zu Beginn bzw. am Ende eines kritischen Abschnitts ausgeführt werden muss.
Erläutern Sie warum das aktive Warten einen zeitlichen Nachteil mit sich bringt, und unter welcher Bedingung dieser Nachteil in Kauf genommen werden kann.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png