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
L1
undL2
. (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.)