|
|
(6 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| =Aufgaben zum Kapitel Prozessverwaltung=
| |
|
| |
| <br />
| |
| == Aufgabe 1 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Prozesszustände">
| |
| <p>
| |
| 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.
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 2 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Von 'rechnend' nach 'bereit'">
| |
| <p>
| |
| Bei welcher Art von Schedulingstrategien ist auch ein direkter Übergang vom Prozesszustand "rechnend" zum Prozesszustand "bereit" möglich?
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 3 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Rund um die Prozessbegriffe">
| |
| <p>
| |
| Grenzen Sie die Begriffe Programm, Prozess, Prozesskontext und Prozesszustand gegeneinander ab und erklären Sie diese.
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 4 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Kontextwechsel">
| |
| <p>
| |
| Erläutere zwei Dinge, die bei einem Kontextwechsel auf der CPU erledigt werden müssen.
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 5 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Prozesserzeugung unter Unix/Linux">
| |
| <p>
| |
| Welcher grundlegende Befehl steht unter Unix/Linux für die Erzeugung eines neuen Prozesses zur Verfügung? (Nennen Sie nur den Befehl.)
| |
| </p>
| |
| <p>
| |
| 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)?
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 6 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Prozesskontrollblock">
| |
| <p>
| |
| Nenne fünf Informationen, die vom Betriebssystem für einen Prozess in seinem zugehörigen Prozesskontrollblock verwaltet werden.
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 7 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Alle Prozesskontrollblöcke">
| |
| <p>
| |
| Jeder Prozess besitzt seinen eigenen Prozesskontrollblock. Wie nennt man die Datenstruktur, in der alle Prozesskontrollblöcke zusammengefasst werden?
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 8 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Scheduler und Dispatcher">
| |
| <p>
| |
| Erläutere den Unterschied zwischen einem Scheduler und einem Dispatcher.
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 9 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Scheduling-Ziele">
| |
| <p>
| |
| Nenne drei Ziele, die ein Scheduling-Algorithmus verfolgen sollte.
| |
| </p>
| |
| <p>
| |
| Erläutere, inwieweit ein gleichzeitiges Erreichen der genannten Ziele realistisch ist.
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 10 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Scheduling">
| |
| <p> | | <p> |
| Wofür stehen die Abkürzungen FCFS, SJF, SRTN, RR, PS im Kontext des Scheduling?</p>
| | Das Kapitel zur Prozessverwaltung ist sehr umfangreich, woraus auch viele Übungsaufgaben resultieren. Diese werden in thematisch unterteilten Unterkapiteln bereitgestellt. |
| </loop_task>
| |
| </loop_area>
| |
| </p> | | </p> |
|
| |
|
| <br /> | | <br /> |
| == Aufgabe 11 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="SJF und FCFS">
| |
| <p>
| |
| Diskutieren Sie die Vor- und Nachteile der Scheduling-Strategien SJF und FCFS.
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 12 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="RR und FCFS">
| |
| <p>
| |
| Erläutern Sie in Bezug auf Scheduling, warum das Round-Robin-Verfahren nicht die Nachteile des FCFS-Verfahrens hat.</p>
| |
| <p>
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 13 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="(Non-) preemptive">
| |
| <p>
| |
| Erläutere den Unterschied zwischen "preemptive" und "non-preemptive" in Bezug auf Scheduling-Strategien.
| |
| </p>
| |
| <p>
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
|
| |
| == Aufgabe 14 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Preemptive oder non-preemptive">
| |
| <p>
| |
| Betrachte die Scheduling-Verfahren FCFS, SJF, RR und PS.<br />
| |
| Welche dieser Verfahren sind preemptive, welche sind non-preemptive?
| |
| </p>
| |
| <p>
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 15 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="Scheduling für P1 bis P5">
| |
| <p>
| |
| 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.
| |
| </p>
| |
| <p>
| |
| 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.
| |
| </p>
| |
| <p>
| |
| <small>
| |
| (Hinweis: Diese Aufgabe ist so gemeint, dass zum Zeitpunkt 0 bereits alle Prozesse im Zustand "bereit" auf eine Zuteilung der CPU warten.)
| |
| </small>
| |
| </p>
| |
| </loop_task>
| |
| </loop_area>
| |
| </p>
| |
|
| |
| <br />
| |
| == Aufgabe 16 ==
| |
| <p>
| |
| <loop_area type="task">
| |
| <loop_task title="">
| |
| <p>
| |
| Betrachte die Prozesse A bis E, welche mit unterschiedlichen Prioritäten versehen sind. Die Rechenzeit ist schon im Voraus bekannt, siehe folgende Tabelle.
| |
| </p>
| |
| <p>
| |
| Welche Ausführungsreihenfolge ergibt sich beim Priority-Scheduling, wenn zusätzlich mit einem Zeitquantum von einer Zeiteinheit (ZE) gearbeitet wird?
| |
| </p>
| |
| <p> | | <p> |
| {| class="wikitable"
| | == So geht es weiter: == |
| |-
| |
| ! Prozess !! A !! B !! C !! D !! E
| |
| |-
| |
| | Rechenzeit (ZE) ||style="text-align:center"| 12 ||style="text-align:center"| 7 ||style="text-align:center"| 4 ||style="text-align:center"| 8 ||style="text-align:center"| 10
| |
| |-
| |
| | Priorität || Mittel || Niedrig || Hoch || Hoch || Mittel
| |
| |}
| |
| </p> | | </p> |
| <p> | | <p> |
| <small> | | <loop_area type="arrangement"><loop_toc> </loop_toc></loop_area> |
| 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.</small>
| |
| </p></loop_task>
| |
| </loop_area> | |
| </p> | | </p> |
|
| |
|