diff --git a/ws22.q b/ws22.q index 263ae3518d3ce6176452f133a24b53d47ba75d54..5c60f0ab7a76c15fc0f6bb9bf5d4953f0e4ca71b 100644 --- a/ws22.q +++ b/ws22.q @@ -175,17 +175,6 @@ Nein, der Thread wartet passiv auf den Monitor. . -0 Welche Aussage zu Prozessen und Threads ist richtig? (2023-02) -- Mittels ~fork()~ erzeugte Kindprozesse können in einem Multiprozessor-System nur auf dem Prozessor ausgeführt werden, auf dem auch der Elternprozess ausgeführt wird. - Nein, es spricht nichts dagegen, dass das Betriebssystem einen Prozess auf einem anderen Prozessor als dem urpsrünglichen einlastet. -+ Der Aufruf von ~fork()~ gibt im Elternprozess die Prozess-ID des Kindprozesses zurück, im Kindprozess hingegen den Wert 0. - Ja, zumindest wenn kein Fehler aufgetreten ist. Siehe ~fork(2)~. -- Threads die mittels ~pthread_create()~ erzeugt wurden, besitzen jeweils einen eigenen Adressraum. - Nein. Prozesse besitzen einen eigenen Adressraum. Mehrere Threads in einem Prozess teilen sich einen Adressraum. -- Die Veränderung von Variablen und Datenstrukturen in einem mittels ~fork()~ erzeugten Kindprozess beeinflusst auch die Datenstrukturen im Elternprozess. - Nein. Der Kindprozess arbeitet auf einer Kopie des gesamten Adressraums. -. - 0 Welche Aussage zum Thema Synchronisation ist richtig? (2023-02) - Die V-Operation kann auf einem Semaphor nur von dem Thread aufgerufen werden, der zuvor auch die P-Operation aufgerufen hat. Nein, P und V können von beliebigen, auch unterschiedlichen, Threads aus aufgerufen werden. Vergleiche ~jbuffer~. @@ -206,4 +195,4 @@ Ja, beim Laden werden die Adressen der verwendeten Symbole durch den *dynamic linker* aufgelöst. Zur Laufzeit können jedoch noch Bibliotheken nachgeladen werden (~dlopen(3)~). - Statisch gebundene Programme können zum Ladezeitpunkt an beliebige virtuelle Speicheradressen platziert werden. Nein. Das kann, muss aber nicht so sein. Dynamische Bibliotheken müssen hingegen *position-independent-code* enthalten, um in den Adressbereich des Zielprogramms geladen werden zu können. -. \ No newline at end of file +.