Klausur am

Ähnliche Dokumente
Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Klausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware

Klausur zur Vorlesung Grundlagen der Betriebssysteme

5 Kernaufgaben eines Betriebssystems (BS)

2.3 Prozessverwaltung

Tutorium Rechnerorganisation

Systeme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss. Maren Bennewitz

Klausur zum Kurs Betriebssysteme (1802) am 17. September 2011

Praktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung. Betriebssysteme

Systeme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss. Maren Bennewitz

Speicherverwaltung (Swapping und Paging)

RO-Tutorien 15 und 16

Musterlösung Prüfung WS 01/02

Prozesszustände (1a)

Klausur zum Kurs Betriebssysteme (1802) am 19. September 2009

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Übung zu Grundlagen der Betriebssysteme. 10. Übung

Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun. Übungsklausur

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Musterlösung zur KLAUSUR

Klausur Betriebssystemkonzepte sowie Architektur von Rechnersystemen und Betriebssystemkonzepte

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Abschlussklausur. Betriebssysteme. Bewertung: 7. Juli Name: Vorname: Matrikelnummer:

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Technische Informatik II

Klausur. Betriebssysteme SS 2007

> Übung Betriebssysteme Globalübung 3 Michel Steuwer Wintersemester 2012/13

Klausur. Betriebssysteme SS

Übung zu Einführung in die Informatik # 10

Prüfung WS 1997/98. Studiengang: Informatik Fächergruppe: Software (I4) Tag: Bearbeitungszeit: 4 Stunden. Name:... Matr.Nr.:...

( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Wartende Prozesse in einer (FIFO-) Warteschlange organisieren

Prozesse und Scheduling

B.5 Prozessverwaltung B.5. Prozessverwaltung Prof. Dr. Rainer Manthey Informatik II 1

4. Übung - Rechnerarchitektur/Betriebssysteme

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Erstes Leser-Schreiber-Problem

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Prozeßverwaltung. die Prozeßtabelle enthält die Prozeßleitblöcke

Hans-Georg Eßer, Hochschule München Betriebssysteme I, SS Synchronisation (1) Folie 3

Softwarelösungen: Versuch 4

Betriebssysteme BS-H WS 2014/15. Hans-Georg Eßer. Foliensatz H: Zusammenfassung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/01/10

Klausur. Betriebssysteme WS 2012/

Erzeuger-Verbraucher-Problem

6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

(Cache-Schreibstrategien)

Teil 2: Speicherstrukturen

Lösungsskizzen zur Abschlussklausur Betriebssysteme

leave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret

Klausur Nichtsequentielle Programmierung

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

Modul B-PRG Grundlagen der Programmierung 1

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Lösung von Übungsblatt 8

RO-Tutorien 17 und 18

Abschlussklausur. Betriebssysteme. Bewertung: 22. November Name: Vorname: Matrikelnummer:

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Übung zu Grundlagen der Betriebssysteme. 11. Übung

9. Vorlesung Betriebssysteme

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Technische Informatik II

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Klausur zur Vorlesung Betriebssysteme und Netze 29. Juli Jedes Blatt ist mit Namen, Vornamen und Matrikelnummer zu versehen.

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

2. Aufgabenblatt Threads

Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17

Zwei Möglichkeiten die TLB zu aktualisieren

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Virtueller Speicher und Memory Management

Übung Betriebssysteme 11

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2010 / 2011

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

e) Welche Aussage zu Speicherzuteilungsverfahren ist falsch?

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Lösung 3. Übung zur Vorlesung Betriebssysteme

Klausur. Betriebssysteme WS 2015/ Tragen Sie auf dem Deckblatt Ihre Daten in Druckbuchstaben ein.

Lösungsvorschlag zur 10. Übung

Vorname: Nachname: Matrikelnummer: Klausur. Betriebssysteme

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B 8404

1. Prozesse & Threads (10 Punkte)

1 Ab welchen Zeitpunkt kann man Thrashing bei einem PC beobachten? 2 Auf was muss man beim gleichzeitigen Datenzugriff mehrerer Prozesse beachten?

Betriebssysteme G: Parallele Prozesse ( Teil C: SpinLock, Semaphore, Monitore)

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Fachbericht Thema: Virtuelle Speicherverwaltung

Windows 2000 Scheduler

, 2014W Übungsgruppen: Mo., Mi.,

Interprozesskommunikation (IPC) Prozessverwaltung. Erzeuger/Verbraucher-Problem. Kommunikationsformen

Threads Einführung. Zustände von Threads

a) Welches der folgenden Zeichen weist im Shell-Prompt darauf hin, dass Sie mit normalen Benutzerrechten (also nicht als root) arbeiten?

Musterlösung der Abschlussklausur Betriebssysteme

Musterlösung der Abschlussklausur Betriebssysteme

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Transkript:

Vorlesung Betriebssysteme I Wintersemester 2004/2005 Fachbereich 12, Elektrotechnik und Informatik Betriebssysteme / verteilte Systeme Prof. Roland Wismüller Klausur am 04.04.2005 Name: Vorname: Matrikelnummer: ufgabe 1: Prozesse und Threads (9 Punkte) a) (2 Punkte) Geben Sie die drei wichtigsten Zustände eines Prozesses (oder Threads) an! In welchem der drei Zustände befindet sich ein neu erzeugter Prozeß zunächst? Bereit, rechnend, blockiert Neu erzeugter Prozeß startet im Zustand bereit. b) (3 Punkte) Welche Zustandsübergänge (i) können durch einen Interrupt (z.b. Uhr, E/-Gerät) ausgelöst werden? rechnend bereit blockiert bereit [bereit rechnend] (über Scheduler...) (ii) können beim aufrufenden Prozeß/Thread durch einen Systemaufruf ausgelöst werden? rechnend bereit rechnend blockiert (iii) werden durch den (präemptiven) Scheduler des Betriebssystems verursacht? rechnend bereit bereit rechnend c) (4 Punkte) Geben Sie die einzelnen Schritte an, die das Betriebssystem ausführt, um einen Prozeßwechsel durchzuführen! Ein Threadwechsel läuft prinzipiell genauso ab, beim Threadwechsel innerhalb desselben Prozesses fehlt aber im Vergleich zum Prozeßwechsel ein wesentlicher Schritt. Welcher? Sichern des kompletten CPU-Zustands im Prozeßkontrollblock Prozeßzustand aktualisieren, Verwaltungsinformation (CPU-Zeit etc.) aktualisieren, Einreihen in passende Warteschlange Scheduler: neuen Prozeß aus Bereit-Liste auswählen und entfernen Prozeßzustand aktualisieren: rechnend Speicherabbildung (Seitentabelle der MMU) aktualisieren CPU-Zustand aus Prozeßkontrollblock restaurieren, Benutzermodus und Rückkehr aus dem BS Beim Threadwechsel innerhalb desselben Prozesses fehlt das Ändern der Speicherabbildung.

ufgabe 2: Synchronisation (14 Punkte) a) (6 Punkte) Die folgende Realisierung eines binären Semaphors durch einen Monitor soll vervollständigt werden. Durch den ufruf von Lock() wird das Semaphor gesperrt und durch Unlock() wieder freigegeben. Ein Thread kann somit für einen kritischen Bereich durch Einklammern in Lock() und Unlock() den wechselseitigen usschluß sicherstellen. Falls das Semaphor bereits belegt ist (locked = true), soll Lock() den aufrufenden Thread so lange blockieren, bis ein anderer Thread Unlock() ausführt, d.h. locked = false gilt. Realsieren Sie die dazu notwendige Synchronisation über eine Bedingungsvariable! monitor BinSema condition unlock; boolean locked; procedure Lock() begin if (locked) // oder: while(locked) wait(unlock);... procedure Unlock() begin locked = false; signal(unlock); end; end; locked = true; locked = false; // Initialisierung... end monitor; b) (2 Punkte) Begründen Sie, warum zur Lösung von ufgabe 2a) in der Monitor-Prozedur Lock() kein Busy Waiting verwendet werden kann! (Tip: was würde passieren, wenn in Lock() die Zeile while (locked); // warte in der Schleife bis locked==false eingefügt würde?) Die Prozeduren einer Monitors stehen unter wechselseitigem usschluß. Wenn Lock() aktiv warten würde, bis locked==false gilt, gäbe es einen Deadlock, da Unlock() nicht betreten werden kann, bevor Lock() verlassen wird. c) (6 Punkte) Gegeben ist der folgende Code für ein Erzeuger-/Verbraucher-Problem mit unbeschränktem Puffer. Die Prozedur insert item() fügt ein Element in den Puffer ein, die Funktion remove item() entfernt das erste Element und gibt seinen Inhalt als Ergebnis zurück. Ergänzen Sie den Code um die notwendige Synchronisation, um sicherzustellen, daß die ufrufe von insert item() und remove item() unter wechselseitigem usschluß stehen, Thread 2 beim Versuch, ein Element aus einem leeren Puffer zu entfernen, so lange blockiert wird, bis der Puffer nicht mehr leer ist. Hinweise: Verwenden Sie zur Lösung zwei Semaphore und, falls erforderlich, weitere Hilfsvariablen. Lösungen mit Busy Waiting werden nicht akzeptiert! Eine Synchronisation, um das Schreiben auf einen vollen Puffer zu verhindern, soll nicht realisiert werden. 2

Semaphore und globale Variablen Semaphore mutex = 1; Semaphore count = 0; Thread 1 Thread 2 while (true) { while (true) { item = produce(); // Produziere item P(count); P(mutex); P(mutex); insert_item(item); // Einfügen in Puffer V(count); V(mutex); item = remove_item(); // Entfernen aus Puffer V(mutex); } } consume(item); // Verarbeite item ufgabe 3: Verklemmungen (9 Punkte) a) (4 Punkte) Gegeben sind die folgenden drei Prozesse, die in der angegebenen Reihenfolge Betriebsmittel belegen und wieder freigeben: Prozeß 1 Prozeß 2 Prozeß 3 P(Drucker); P(Festplatte); P(CD ROM); P(Festplatte); P(CD ROM); // (*) P(Drucker); // (*) // drucke von Plate // kopiere von CD auf Platte // drucke von CD-ROM V(Festplatte); V(CD ROM); V(Drucker); P(CD ROM); // (*) V(Festplatte); V(CD ROM); // drucke von CD-ROM V(CD ROM); V(Drucker); Die (ununterbrechbaren) Betriebsmittel sind jeweils nur einmal vorhanden. Betrachten Sie den Zustand, bei dem sich die Prozesse an den mit (*) markierten Stellen befinden (die P- Operationen sind aufgerufen, aber noch nicht abgeschlossen). (i) Zeichnen Sie für diesen Zustand einen Belegungs-nforderungs-Graphen! (ii) Liegt ein Deadlock vor? Falls ja, zwischen welchen Prozessen? Kurze Begründung! 1 2 3 Drucker Festplatte CD_ROM Es liegt ein Deadlock vor, zwischen den Prozessen 1 und 3 [oder: 1, 2 und 3], da es im Belegungs-nforderungs- Graph einen Zyklus gibt, der die Prozesse 1 und 3 enthält [und 2 auf 3 wartet]. (oder: da beide Prozesse auf ein Ereignis warten, das nur der andere auslösen kann) 3

b) (5 Punkte) In einem System stehen 5 Festplatten, 2 Drucker und 1 CD-Laufwerk als (ununterbrechbare) Betriebsmittel zur Verfügung. Betrachten Sie den folgenden Belegungszustand: Festplatten Drucker CD ROM 1 1 0 2 0 1 Prozeß X Belegungsmatrix C = 2 0 0 nforderungsmatrix R = 0 1 0 Prozeß Y 1 0 1 1 2 0 Prozeß Z Die nforderungsmatrix R beschreibt hier die maximalen zukünftigen Forderungen. (i) Geben Sie den Ressourcenvektor E und den Ressourcenrestvektor an. (ii) Führen Sie den Bankiers-lgorithmus aus! Geben Sie an, ob Prozesse zu Ende laufen können und wenn ja, welche! (iii) Ist der Zustand sicher? Was bedeutet dieses Ergebnis genau? E = (5,2,1), = (1,1,0) 1. Zunächst können nur die nforderungen von Prozeß Y erfüllt werden. Y kann zu Ende laufen. Zustand danach: = (3,1,0). 2. Nun können weder die nforderungen von Prozeß X noch die von Prozeß Z erfüllt werden. Der Zustand ist nicht sicher. Das bedeutet, daß es einen Deadlock gibt, wenn alle Prozesse sofort ihre maximalen nforderungen stellen. (Oder: Das bedeutet, daß es im weiteren blauf im ungünstigsten Fall einen Deadlock geben kann.) ufgabe 4: Scheduling (11 Punkte) Drei Prozesse treffen zu den in der Tabelle angegebenen Zeiten in der Bereitliste eines Schedulers ein. Von jedem Prozeß ist die Bedienzeit (= benötigte Rechenzeit) bekannt. Zusätzlich hat jeder Prozeß eine Priorität (0 stellt die höchste Priorität dar). Prozeß nkunftszeit Bedienzeit Priorität 0 7 2 B 2 5 1 C 5 3 0 Die Prozesse benutzen nur die CPU und werden nie durch E/ oder sonstige Gründe blockiert. Der Scheduler entscheidet online, d.h. nur aufgrund der zum Scheduling-Zeitpunkt bereits vorliegenden Prozesse. 4

Betrachten Sie die folgenden Scheduler-Strategien: a) Shortest Job First (SJF), nicht-präemptiv, b) Round Robin (RR) mit einer Zeitscheibenlänge (Quantum) von 3, c) Prioritätsbasiertes Scheduling (HPF), präemptiv. Zeichnen Sie für jede der Strategien den zeitlichen blauf der Prozeßausführung als Gantt-Diagramm! (7, 2) B (5, 1) C (3, 0) a) C B b) 0 7 10 15 0 3 6 9 12 14 15 B B B C CB CB C B B SJF RR c) B C B 0 2 5 8 10 15 HPF ufgabe 5: Schutz (2 Punkte) Definieren Sie den Begriff Zugriffskontroll-Liste (CL)! Welche Informationen sind in einer solchen Liste gespeichert? Eine CL gibt zu einem Objekt an, welche Subjekte welche Rechte an diesem Objekt haben. [CL ist eine Spalte der Schutzmatrix]. Jeder Eintrag der CL enthält ein Subjekt und ein Recht (ggf. Mengen und/oder Wildcards). ufgabe 6: Speicherverwaltung (15 Punkte) a) (9 Punkte) Sowohl Segmentierung als auch Paging basieren auf einer dreßübersetzung von virtuellen auf physische dressen. Beschreiben Sie exakt die wesentlichen Unterschiede zwischen Segmentierung und Paging! Gehen Sie dabei insbesondere auf den ufbau des virtuellen und physischen dreßraums, den Unterschied zwischen Segmenten und Seiten, sowie die eigentliche dreßübersetzung ein! chtung: Segmentierung wird in der aktuellen Vorlesung nicht mehr behandelt! Segmentierung: virt. dreßraum besteht aus mehreren Teilen (Segmenten) unterschiedlicher Länge. Segmente können unterschiedliche Rechte haben. Segemente sind Unterteilung des virt. dreßraums nach logischer Struktur (Code, Heap,...). Zweidimensionale dressierung: (Segmentnummer, Offset). Segmente werden zusammenhängend in HS abgebildet. dreßübersetzung: Segmentnummer indiziert Eintrag in Segmenttabelle. Eintrag enthält Basisadresse und Segmentlänge. Physische dresse ist Summe aus Basisadresse und Offset. Offset wird gegen Segmentlänge geprüft. Paging: virt. und phys. dreßraum sind linear, starre Unterteilung in Seiten (virt.) bzw. Kacheln (phys.) gleicher Größe, für Prozesse nicht sichtbar, ohne Rücksicht auf logische Struktur Teile des virt. dreßraums in HS eingelagert dreßübersetzung: Seitennummer bestimmt Eintrag in Seitentabelle. Eintrag enthält zugehörige Kachelnummer. (Seitentabelle bildet Seiten auf Kacheln ab). Seitenoffset = Kacheloffset. Ggf. Seitenfehler. Zusammenspiel MMU/BS. 5

b) (6 Punkte) Einem Prozeß, dessen virtueller dreßraum 5 Seiten umfaßt, wurden vom Betriebssystem 4 Kacheln im Hautpspeicher zugeteilt. Zu einem bestimmten Zeitpunkt hat das Betriebssystem folgende Informationen (Seitentabelle + Hilfsinformation) über die Seiten des Prozesses: Der Prozeß führt nun Seitentabelle Hilfsinformation Present- R- M- Lade- Zeit des Seite Bit Kachel Bit Bit zeit letzten Zugriffs 0 1 2 0 1 30 35 1 1 3 1 0 5 45 2 1 1 0 0 10 20 3 0 - - - - - 4 1 0 0 0 25 40 zum Zeitpunkt 50 einen Schreibzugriff auf Seite 2 und danach zum Zeitpunkt 55 einen Lesezugriff auf Seite 3 durch. Geben Sie unten an, wie Seitentabelle und Hilfsinformation nach dieser Folge von Zugriffen aussehen, wenn (i) LRU (Least Recently Used) (ii) Second Chance als Seitenersetzungsalgorithmus verwendet wird! (i) LRU Seitentabelle Hilfsinformation Present- R- M- Lade- Letzter Seite Bit Kachel Bit Bit zeit Zugriff 0 0 - - - - - 1 1 3 1 0 5 45 2 1 1 1 1 10 50 3 1 2 1 0 55 55 4 1 0 0 0 25 40 (ii) Second Chance Seitentabelle Hilfsinformation Present- R- M- Lade- Letzter Seite Bit Kachel Bit Bit zeit Zugriff 0 1 2 0 1 30 35 1 1 3 0 0 5 45 2 1 1 0 1 10 50 3 1 0 1 0 55 55 4 0 - - - - - 6