Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Klausur Februar 2012
Hi, ich schreib hier mal zunächst meine Multiple-Choice Lösungen hin.
Korrigiert mich, wenn was falsch ist. Wer die Prog.aufgabe schon gemacht hat, kann sie hier auch hochstellen.
1.1
a) 3
b) 3
c) 4
d) 1
e) 2
f) 2
g) 1
h) 1
i) 1
j) 3
1.2
a) 1, 3, 5
b) 2, 3, 4
Die von Februar 2012 ist aber nicht dabei
Die von Februar 2012 ist die 2011w-SP-…
Ups, fail von mir
Das ist falsch. Aktives Warten kann durchaus sinnvoll sein. Bei Mutexen wird der Mutex oft nur kurz gelockt, da kann sich auf Multiprozessorsystemen kurzes aktives Warten lohnen, bevor man einen Systemaufruf macht (der verhältnismäßig teuer ist).
Das ist falsch, dort steht verschiedener Prozesse.
Hier fehlt noch 8.
3 ist falsch (siehe SP-Folien). Richtig ist 1, 2, 4, 6.
was ist dann aber richtig?
2) kern-threads KOENNEN sich den Adressraum teilen, dachte ich immer. Ich verstehe allerdings die Antwort als „Alle Kernthreads teilen sich grundsaetlich immer den selben kompletten Adressraum“.
3) schwachsinn, kernel-threads brauchen immer BS-unterstuezung.
4) finde ich sehr verwirrend.
- kern-threads KOENNEN sich den Adressraum teilen, dachte ich immer. Ich verstehe allerdings die Antwort als „Alle Kernthreads teilen sich grundsaetlich immer den selben kompletten Adressraum“.
Das Problem ist nicht der Adressraum, sondern der Stack. Jeder Thread braucht natürlich seinen eigenen Stack. Damit ist diese Antwort falsch.
- schwachsinn, kernel-threads brauchen immer BS-unterstuezung.
Richtig, das ist auch falsch.
- finde ich sehr verwirrend.
Das bleibt dann ja nur noch übrig
Aber das ist auch sinnvoll. Je nachdem wie das Scheduling aussieht, sieht die Synchronisation anders aus (z.B. kooperatives Scheduling).