OS Klausuraufgaben Flashcards
(176 cards)
trap ist eine privilegierte Instruktion. Ja oder Nein?
Nein
Auf Einprozessorsystemen ist zu jedem Zeitpunkt h¨ochstens einProzess im Zustand ”rechnend“(“running”). Ja oder Nein?
Ja
Paging verhindert internen Verschnitt innerhalb einer Seitenkachel. Ja oder Nein?
Nein
Durch Verwendung von ASIDs entf¨allt die Notwendigkeitden TLB beim Adressraumwechsel vollst¨andig invalidieren zum¨ussen. Ja oder Nein?
Ja
RAID 0 mit mindestens 2 Platten erlaubt nach dem Totalausfalleiner Platte eine vollst¨andige Wiederherstellung aller Daten. Ja oder Nein?
Nein
Erkl¨aren Sie die Begriffe ”Systemaufruf“ ”Exception“ und ”Interrupt“. Gehen Sieinsbesondere darauf ein wann und von wem das jeweilige Ereignis ausgel¨ost wird.
Systemaufruf: Wird von einem Userlevel-Programm get¨atigt um vom Kernelbereitgestellte Dienste aufzurufen (z.B. ¨ Offnen einer Datei Erstelleneines neuen Prozesses . . . ) Exception: Von der Hardware ausgel¨ost falls bei der Ausf¨uhrung einer Instruktionein Fehler auftrat (z.B. Division durch 0 ung¨ultiger Speicherzugriff. . . ) Interrupt: Ausgel¨ost von Hardwarekomponenten die damit ein bestimmtesEreignis signalisieren (z.B. anliegende Daten Ende eines Zeitintervalls. . . )
Erl¨autern Sie die beiden Hauptprobleme die mit virtuell indizierten virtuell getaggtenCaches auftreten k¨onnen.
Mehrdeutigkeiten (ambiguity): Eine virtuelle Adresse wird zu verschiedenen Zeitpunktenoder in verschiedenen Adressr¨aumen (0.5 P) auf unterschiedliche physischeAdressen abgebildet. Ohne Invalidierung der entsprechenden Cachezeilenk¨onnte der Cache ”veraltete“ Daten enthalten (0.5 P) . Bedeutungsgleichheit (alias): Verschiedene virtuelle Adressen werden auf die gleichephysische Adresse abgebildet. Dadurch kann es zu Inkonsistenzen kommen(1 P) .
Angenommen Sie sollten einen mehrf¨adigen (multithreaded) Webserver entwickelnbei dem ein Thread Anfragen von Clients entgegennimmt und diese unter einerMenge von Arbeiter-Threads verteilt. Jeder Arbeiter-Thread bearbeitet seine Anfrageindem er die ben¨otigten Daten mittels eines blockierenden Systemaufrufsvon der Festplatte liest und dann an den Client zur¨ uckschickt. Welches der dreiaus der Vorlesung bekannten Threading-Modelle w¨urden Sie in diesem Szenariobevorzugen? Begr¨unden Sie Ihre Antwort.
One-to-One (1 P) . Bei Many-to-One w¨urde ein blockierender Systemaufruf eines Threadsdie gesamte Anwendung blockieren (1 P) . Many-to-Many ist auch denkbar aber eigentlichnur sinnvoll wenn der Kernel die Userlevel-Threads ¨uber Blockierungen benachrichtigenkann (etwa via Scheduler Activations).
Z¨ahlen Sie zwei Vorteile von Lottery Scheduling gegen¨uber priorit¨atsbasierten Ans¨atzenauf.
Verhungern wird verhindert: Solange jeder Prozess mindestens ein Ticket hatkommt er irgendwann zur Ausf¨uhrung (1 P) . Ticketweitergabe erlaubt eine genauere Abrechnung von Rechenzeit: Ein Clientprozesskann Tickets an einen Serverprozess weitergeben sodass dieser Rechenzeitdes Clients (statt eigener Rechenzeit) ”verbraucht“ (1 P) . Beim Lottery Scheduling wirken sich Lastver¨anderungen (Hinzunahme oder Entfernenvon Prozessen) gleichm¨aßig und proportional zum jeweiligen Ticketbesitzder noch laufenden Prozesse aus (graceful degradation) (1 P) .
Nennen und erkl¨aren Sie die vier notwendigen Bedingungen f ¨ur Deadlocks.
Mutual exclusion (aka exclusiveness): Eine Ressource kann nicht gleichzeitig vonmehreren Prozessen benutzt werden (0.5 P) . Hold and wait: Ein Prozess der bereits mindestens eine Ressource h¨alt wartet aufmindestens eine andere Ressource (0.5 P) . No preemption: Zugeteilte Ressourcen k¨onnen einem Prozess nicht wieder entzogenwerden er muss diese selbst freigeben (0.5 P) . Circular wait: Es gibt einen Menge von Prozessen fP0; P1; : : : ; P0g wobei P0 auf eineRessource wartet die P1 h¨alt P1 auf eine Ressource wartet die P2 h¨alt usw.und Pn auf eine Ressource wartet die P0 h¨alt (0.5 P) .
F¨uhrt ein unsicherer Zustand immer zu einem Deadlock? Warum oder warumnicht?
Nein (0.5 P) da ein Prozess nicht notwendigerweise das Maximum anRessourcen anfordert / ggf. eine abwechselnde Ausf¨uhrung erfolgreich ist (0.5 P) .
Diskutieren Sie die Vor- und Nachteile von Deadlock-Vermeidung (avoidance) gegen¨uber Deadlock-Erkennung (detection).
Deadlock avoidance:+ Es wird sichergestellt dass keine Deadlocks auftreten (0.5 P) .+ Deadlocks m¨ussen nicht behoben werden (0.5 P) .– ¨ Uberpr¨ufung bei jeder Ressourcenzuteilung n¨otig (0.5 P) .– Maximalbedarf an Ressourcen pro Prozess muss vorab bekannt sein (0.5 P) .– Ggf. unn¨otige Verz¨ogerung von Ressourcenanforderungen (0.5 P) .
Wozu dient ein TLB?
Ein TLB beschleunigt die ¨ Ubersetzung von virtuellen in physische Adressen(1 P) .
Bestimmen Sie die effektive Speicherzugriffszeit unter der Annahme dass ein TLBLookup10 ns und ein Speicherzugriff 200 ns dauert und dass der TLB eine durchschnittlicheTrefferrate von 50% hat. Nehmen Sie an dass das System keine weiterenCaches außer dem TLB besitzt.
Grundformel: 0.5 * Hit + 0.5 * Miss (0.5 P)Hit: 10 ns + 200 ns = 210 ns (1 P)Miss: 10 ns + 200 ns + 200 ns + 200 ns = 610 ns (1 P)Richtiges Ergebnis (ggf. als Folgefehler): 410 ns (0.5 P)
Welche Zugriffsrechte haben Besitzer Gruppe und andere an der Datei exam.texauf einem Unix-Dateisystem nachdem untenstehendes Kommando erfolgreich ausgef¨uhrt wurde?chmod 640 exam.tex
Besitzer: r w – (lesen und schreiben) (1 P)Gruppe: r – – (lesen) (0.5 P)Andere: – – – (keine Rechte) (0.5 P)
Welche Eintr¨age m¨ussen die Metadaten einer Datei mindestens enthalten wenn”contiguous allocation“ zur Reservierung von Plattenbl¨ocken verwendet wird?
Anfangsadresse (0.5 P) und Gr¨oße (0.5 P) .
Was ist ein ”einfach indirekter Block“ und wozu wird er ben¨otigt?
Ein ”einfach indirekter Block“ ist ein Plattenblock der Zeiger auf (bzw.Adressen von) weiteren Plattenbl¨ocken enth¨alt (0.5 P) . Er wird verwendet um Dateienverwalten zu k¨onnen die mehr Bl¨ocke belegen als eine Inode direkt referenzierenkann (0.5 P) .
Angenommen Sie erstellen einen symbolischen Link s zu einer existierenden Dateig. Wie ¨andert sich dadurch der Linkz¨ahler in der Inode von g? Was passiert mit swenn g gel¨oscht wird?
Der Linkz¨ahler ¨andert sich durch symbolische Links nicht (1 P) .Nach dem L¨oschen von g zeigt der Link ins Leere bleibt aber unver¨andert bestehen(1 P) .
Gegeben seien Plattenanfragen f ¨ur die Zylinder 1; 17; 23; 40; 42; 50; 70; 105. Der Schreib-/Lesekopf befindet sich momentan auf Zylinder 45. Geben Sie an in welcher Reihenfolgedie einzelnen Zylinder angesteuert werden wenn als PlattenschedulingstrategieSSTF verwendet wird.
(45) 42 40 50 70 105 23 17 1 (2 P)
Was ist das Hauptproblem das bei Verwendung von SSTF auftreten kann?
Anfragen nach Zylindern ”am Rand“ k¨onnen verhungern falls st¨andig Anfragennach Zylindern ”in der Mitte“ vorliegen (1 P) .
Erkl¨aren Sie die RAID-Level RAID1 und RAID5.
RAID1: Mirroring. Daten werden auf mehrere Platten gespiegelt (1 P) .RAID5: Block-Level-Parit¨at (0.5 P) mit verteilten Parit¨atsbl¨ocken (0.5 P) .
Die CPU-Instruktion die Interrupts ausschaltet ist privilegiert. Richtig oder falsch?
richtig
Beim One-to-One-Modell teilen sich alle Threads in einemAdressraum den selben Stack. Richtig oder falsch?
falsch
Das Hauptproblem von physisch indizierten (physically indexed)Caches ist das Auftreten von Mehrdeutigkeiten. Richtig oder falsch?
falsch