diff --git a/ws16.q b/ws16.q index ae2d9f68f197932653058165af675ce2fc4153b7..b6820e4d4556de54c052d1292e114dca06da6978 100644 --- a/ws16.q +++ b/ws16.q @@ -41,6 +41,7 @@ Ja, die *V*-Operation (ursprünglich vom Niederländischen *vrijgave* - freigebe Nein, ein Monitor nach *Hansen* setzt alle Signalnehmer auf "bereit". Dadurch müssen Signalnehmer auch im kritischen Abschnitt erneut überprüfen, ob die Wartebedingung noch gilt (vgl. Semaphore bei *jbuffer*). Ein Monitor nach *Hoare* setzt im Gegensatz dazu nur genau einen Signalnehmer auf "bereit". (vgl. Folie) - Wird einem Prozess durch einen Monitor nach Hoare die Aufhebung seiner Wartebedingung signalisiert, so wird die Bedingung erneut ausgewertet; falsche Signalisierungen können also toleriert werden. Nein, bei einem Monitor nach *Hoare* wird genau ein Prozess auf bereit gesetzt. Der Prozess darf also davon ausgehen, dass die Bedingung erfüllt ist (sonst wäre nicht signalisiert worden) und nicht nebenläufig von einem anderen Prozess wieder verändert wurde, bevor er den kritischen Abschnitt betreten hat. Man betrachte hier z. B. das Beispiel *blocking queue*. Im Modell *Hoare* ist beim Aufwecken eines Konsumententhreads garantiert, dass ein Element in die Warteschlange gelegt wurde. Zudem wurde nur höchstens ein Konsumententhread aufgeweckt, also wurde das Element noch nicht herausgenommen. Der Konsument (Signalnehmer) darf also den Monitor betreten und das Element entnehmen, ohne im kritischen Abschnitt zu überprüfen, ob ein anderer Konsument schneller war. Ein falsches Signal könnte hier dazu führen, dass aus einer leeren Warteschlange entnommen wird. +. 0 Welche der folgenden Aussagen über UNIX-Dateisysteme ist richtig? (2017-02) - Der Name einer Datei wird in ihrem Dateikopf (*inode*) gespeichert. @@ -78,7 +79,7 @@ Ja, die *V*-Operation (ursprünglich vom Niederländischen *vrijgave* - freigebe - Bei der Verwendung des Round-Robin-Verfahrens kann der Konvoi-Effekt nicht auftreten. Nein, der Konvoieffekt existiert auch hier, da die Vergabe der Zeitscheiben reihum wie bei *FCFS* funktioniert. Prozesse mit langen Rechenstößen nutzen hier ihre Zeitscheibe voll aus, während E/A-intensive Prozesse benachteiligt sind. + Der Einsatz des *FCFS*-Verfahrens setzt kooperative Prozesse voraus. - Ja, *FCFS* ist ein kooperatives Einplanungsverfahren. Ein Unkooperativer Prozess könnte hier die CPU monopolisieren. + Ja, *FCFS* ist ein kooperatives Einplanungsverfahren. Ein unkooperativer Prozess könnte hier die CPU monopolisieren. - Die Verwendung probabilistischer Einplanungsverfahren ist nur möglich, wenn dem Planer alle Prozesse und ihre CPU-Stoßlängen im Voraus bekannt sind. Nein, probabilistische Einplanungsverfahren arbeiten mit Abschätzungen der benötigten Stoßlängen. + In einem asymmetrischen Multiprozessorsystem ist der Einsatz asymmetrischer Einplanungsverfahren obligatorisch. @@ -87,7 +88,7 @@ Ja, die *V*-Operation (ursprünglich vom Niederländischen *vrijgave* - freigebe - Statische (off-line) Einplanungsverfahren sind besonders für den Einsatz in interaktiven Systemen geeignet. Nein. *offline* Algorithmen sind alle Eingabedaten wie z. B. die zu planenden Prozesse im Voraus bekannt. Damit sind sie für interaktiven Betrieb ungeeignet, da dort zur Laufzeit vorher unbekannte Anforderungen auftreten. - Virtual-Round-Robin benachteiligt E/A-intensive Prozesse zu Gunsten von rechenintensiven Prozessen. - Nein. Bei *VRR* werden Prozesse, die eine Ein- oder Ausgabe beenden bevorzugt eingeplant. Bei Ende einer Zeitscheibe werden dann zuerst die Prozesse auf der Vorzugsliste eingelastet. + Nein. Bei *VRR* werden Prozesse, die eine Ein- oder Ausgabe beenden, bevorzugt eingeplant. Bei Ende einer Zeitscheibe werden dann zuerst die Prozesse auf der Vorzugsliste eingelastet. + Beim Einsatz des multilevel-queue-Verfahrens (MLQ) werden die Prozesse nach ihrem Typ in separate Bereitlisten aufgeteilt, die jeweils eine eigene lokale Einplanungsstrategie verwenden. Ja, bei diesem Verfahren werden mehrere Bereitlisten für unterschiedliche Arten von Prozessen (z. B. System-, Dialog- und Stapelprozesse) verwendet. Jede dieser Listen verwendet eine lokale Einplanungsstrategie. (Um zwischen den Listen zu wechseln wird zusätzlich eine globale Strategie verwendet). .