3. theoretisches Aufgabenblatt
-
Gegeben sei ein Auszug aus einem Assemblerquelltext, in dem eine Funktion
aufgerufen wird. Beschreibe, wie viele Parameter/lokale Variablen
die Funktion hat und was während des Funktionsaufrufs passiert.
Skizziere abschließend den Stackaufbau beim Erreichen der
Labels
L1undL2. (4 Pkt.)... push ebx push dword 1312h push eax push ecx call func add esp, 12 L2: ... func: push ebp move bp, esp sub esp, 12h L1: ... leave ret ... - Was versteht man unter dem flüchtigem bzw. dem nicht-flüchtigem Registersatz einer CPU? (2 Pkt.)
- Worin besteht der Zusammenhang zwischen Prozessen und Threads und woher kommt der Begriff leichtgewichtiger Prozess für Threads? (2 Pkt.)
- Erkläre Aufgaben und Struktur eines Threadkontrollblocks ( TCB). Welche weiteren Informationen sind für einen Prozesskontrollblock (PCB) erforderlich? (3 Pkt.)
- Worin besteht der Unterschied zwischen Routinen und Coroutinen und was muss bei einem Coroutinenwechsel geschehen? (3 Pkt.)
- Was ist Preemtion, wofür wird sie verwendet und was kann durch Preemtion erreicht werden? Gibt es Alternativen zur Preemtion? (3 Pkt.)
- Welche Zustände kann ein Prozess annehmen? Welche Zustandswechsel können auftreten und welche Kriterien müssen für die einzelnen Zustandswechsel erfüllt sein? (2 Pkt.)
- Nach welchen Kriterien kann ein Prozess zugeteilt werden? Gibt es Kriterien, die bevorzugt werden sollten (wenn ja, warum)? (3 Pkt.)
- Was müsste ein Scheduler tun, damit Prozesse von Professoren schneller laufen, als die der Studenten? Beschreibe mögliche Ansätze. (4 Pkt.)
- Nenne mindestens drei Schedulingstrategien und beschreibe eine davon genauer. (4 Pkt.)