Musterlösung Prüfung SS 2002



Ähnliche Dokumente
Musterlösung Prüfung WS 01/02

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

Monitore. Klicken bearbeiten

Übungen zum Fach Betriebssysteme Kapitel 3

Dämon-Prozesse ( deamon )

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Programmierkurs Java

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Klausur Software-Engineering SS 2005 Iwanowski

Anleitung über den Umgang mit Schildern

Musterlösung Klausur SS 2004

Java: Vererbung. Teil 3: super()

Nicht über uns ohne uns

Bitte wenden. Name: KURSARBEIT NR. 4 (10 DIFF GA) Seite 1

Windows Server 2008 (R2): Anwendungsplattform

4D Server v12 64-bit Version BETA VERSION

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Lizenzen auschecken. Was ist zu tun?

Internet Explorer Version 6

Anleitung zur Nutzung des SharePort Utility

5.2 Neue Projekte erstellen

SharePoint Demonstration

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Leichte-Sprache-Bilder

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Zeichen bei Zahlen entschlüsseln

Installation Hardlockserver-Dongle

Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:

Professionelle Seminare im Bereich MS-Office

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Was meinen die Leute eigentlich mit: Grexit?

Netzwerkeinstellungen unter Mac OS X

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Statuten in leichter Sprache

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Rillsoft Project - Installation der Software

Installation OMNIKEY 3121 USB

LISP. Eine Einführung

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe.

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Das Persönliche Budget in verständlicher Sprache

Gruppenrichtlinien und Softwareverteilung

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

teamsync Kurzanleitung

Gesicherte Prozeduren

Lizenzierung von System Center 2012

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

SEMINAR Modifikation für die Nutzung des Community Builders

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Softwarelösungen: Versuch 4

Dokumentation Schedulingverfahren

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

FAMILIENSTAND ALLEINERZIEHENDE MÜTTER

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

1 Vom Problem zum Programm

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Excel Funktionen durch eigene Funktionen erweitern.

Änderung der Sicherheitseinstellungen von konten

Lehrer: Einschreibemethoden

Ab 2012 wird das Rentenalter schrittweise von 65 auf 67 Jahre steigen. Die Deutsche Rentenversicherung erklärt, was Ruheständler erwartet.

S7-Hantierungsbausteine für R355, R6000 und R2700

YouTube: Video-Untertitel übersetzen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

ftp://ftp.dlink.de/dpr/dpr-1061/documentation/dpr-1061%20printer%20compatible%20list.pdf

Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung

3 Windows als Storage-Zentrale

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Objektorientierte Programmierung

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Name (in Druckbuchstaben): Matrikelnummer: Unterschrift:

Teil 1: IT- und Medientechnik

Die Dateiablage Der Weg zur Dateiablage

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Step by Step Webserver unter Windows Server von Christian Bartl

Kleines Handbuch zur Fotogalerie der Pixel AG

Internet online Update (Internet Explorer)

Leichte Sprache Informationen zum Europäischen Sozialfonds (ESF) Was ist der Europäische Sozialfonds?

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Professionelle Seminare im Bereich MS-Office

Prozesse. Stefan Janssen. Alexander Sczyrba

ARCO Software - Anleitung zur Umstellung der MWSt

Windows Small Business Server (SBS) 2008

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

Um eine fehlerfreie Installation zu gewährleisten sollte vor der Installation der Virenscanner deaktiviert werden.

Einführung in die Programmierung (EPR)

Whitepaper. Produkt: combit address manager / combit Relationship Manager. Datenabgleich zwischen Notebook und Desktop-PC / Server

Transkript:

Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel: Vorlesungsskripte und Lehrbücher Betriebssysteme Hinweise: Die Aufgaben sind auf den vorgelegten Aufgabenblätter zu lösen. Die Aufgabenblätter sind vollständig abzugeben. Bitte nicht mit Bleistift schreiben! Ich habe zusätzlich zu den Aufgabenblättern... Blätter abgegeben. Unterschrift:... Aufgabe Punkte max. 45 01 02 03 04 Aufgabe 01: (Allgemeines und Vermischtes) 12 = 3 + 4 + 3 + 1 +1 Punkte

Name :... 2 a) Vergleichen und erläutern Sie die drei Betriebsarten eines Rechners: Batch, Interactive oder Time Sharing und Real-Time. Mehrere Aufträge (Jobs) werden zusammengefasst zu einem Stapel (Batch) und dem Rechensystem zu Bearbeitung übergeben. Die Bearbeitung der Jobs laufen ohne Interaktion des Benutzers ab. Der Benutzer übergibt einen Auftrag dem Rechensystem und erwartet in kürzester Zeit eine Rückantwort. Jeder Benutzer bekommt dabei für mehrere Zeitscheiben (Time Sharing) den Prozessor zugewiesen für die Bearbeitung seiner Aufträge. Der Rechner reagiert auf Ereignisse, die aus einem physikalisch technischen Prozess kommen. Dazu besitzt der Rechner eine schnelle Interruptfähigkeit und stellt Multitasking mit prioritätsbasierter Abarbeitung zur Verfügung. b) Erläutern Sie die folgenden Strukturierungsmethoden für Betriebssysteme Monolith, Schalenmodell, Objektorientiert und diskutieren Sie deren Vor- und Nachteile. Monolithische Systeme sind eine Ansammlung von Prozeduren, wobei jede Prozedur eine andere aufrufen kann. Vorteil: Systemfunktionen stehen als einfache Prozeduraufrufe zur Verfügung. Nachteil: Schlechte Strukturierung des Betriebssystems. Hinzufügen einer weiteren Komponente bedingt eine Neucompilation des Betriebssystems und Linken aller Komponenten. Das Schalenmodell untergliedert die Betriebssystemkomponenten in verschiedene Schichten oder Schalen. Dabei baut jede weitere Schicht oder Schale auf die darrunterliegende Schicht oder Schale auf. Vorteil: Jede Schicht stellt ein Schutzhierarchie dar und es darf nur auf Speicherbereiche von dieser Schicht (Schale) zugegriffen werden. Nachteil: Der Prozessor muss bei jedem Wechsel der Schicht oder Schale in einen neuen Schutzmodus geschaltet werden (Overhead). Objektorientierte Ansätze zerlegen die Komponenten des Betriebssystems in Objekte (abstrakte Datentypen). Der Schutz der Daten ist durch den abstrakten Datentyp geregelt und liegen somit in der Software. Darüber hinaus kann noch ein Objektmanager vorhanden sein, der bestimmt welche Zugriffsfunktionen aufgerufen werden dürfen. Ein weitere Vorteil ist, dass das Betriebssystem leicht durch weitere Komponenten Durch Hinzufügen von Objekten erweiterbar ist. c) Worin liegt der Unterschied zwischen Aktivem und Passivem Warten?

Name:... 3 Beim Aktivem Warten verbleibt der Prozess auf dem Prozessor und wartet somit aktiv und verschwendet Prozessorzeit. Beim Passiven Warten kommt der Prozess vom Prozessor und wird während des Wartens in eine Warteschlange verbracht. c1) Welche Synchronisationsmethode benutzt Aktives Warten? Test and Set Befehl (TAS-Befehl) c2) Und welche benutzt Passives Warten? Semaphore mit P- und V-Operationen Aufgabe 02: (Prozesse) 14 = 6 + (2 + 2) + (2 + 2) Punkte

Name :... 4 a) Erzeugen Sie mit dem fork-systemaufruf unter Unix den folgenden Prozessbaum: main P 1 P 2 P 3 P 22 P 1,P 2,P 3 sind dabei sequenzielle Prozesse, die in endlicher Zeit enden. P 22 ist ein sequenzieller Prozess und P 2 startet den Prozess P 22 und wartet anschließend auf dessen Beendigung. (Waitpid-Systemaufruf). Schreiben Sie bitte hier das C-Code ähnliche Programmfragment hin. main()

Name:... 5 // Code des Vaters (main) if (fork () == 0) // Code von P1 exit(1); else if (fork == 0) //Code von P2 if (fork()==0) //Code von P22 exit(22); wait(pid von P22) exit(2); else if (fork() == 0) //Code von P3 exit(3); b1) Zeigen Sie, wie Sie in obigem Prozessbaum Waisen erzeugen können. Wird Prozess P2 durch ein Kill-Kommando beendet, dann wird Prozess P22 zum Waisen. b2) Geben Sie bitte die Prozessidentifikationsnummer PID des neuen Vaters des Waisen an. Init-Prozess mit PID 1 c1) Zeigen Sie, wie Sie in obigem Prozessbaum Zombies erzeugen können und erläutern Sie kurz was Zombies sind. Zombies sind terminierte Prozesse deren Returncode der Vater noch nicht abgenommen hat. P22 kann durch das Kill-Kommando terminiert werden, dann wird er kurzzeitig zum Zombie bis der Vater P2 den Returncode abgenommen hat. c2) Woran ersehen Sie beim ps-kommando, dass es sich um Zombies handelt?

Name :... 6 Entweder durch Z oder <defunc> Markierung (Solaris) bei ps al. Aufgabe 03: (Synchronisation) 14 = 3 + 3 + 4 + 4 Punkte a) Fügen Sie bei den folgenden beiden Endlosprozessen Ping und Pong Semaphoroperationen P und V ein, so dass die Prozesse endlos PingPong, PingPong, PingPong,... ausgeben. Geben Sie bitte auch die Initialisierung der Semaphoren an.

Name:... 7 task Ping is task Pong is loop loop P(Sema_Ping); P(Sema_Pong); print( Ping ); print( Pong, ); V(Sema_Pong); V(Sema_ping); end loop; end loop; end Ping; end Pong; -- Initialisierung der Semas s_init (Sema_Ping, 1); s_init(sema_pong,0); b) Lösen Sie das Problem unter a) mit Hilfe von bedingten kritischen Regionen. task Ping is task Pong is loop loop region PP when Pong region PP when Ping printf( Ping ); printf( Pong, ); Ping := True; Pong := True; Pong := False; Ping := False; end loop; end loop; end Ping; end Pong; c) Lösen Sie das Problem unter a) mit Hilfe von Monitorprozeduren. Geben Sie dazu den Monitor an und verwenden Sie dazu Bedingungsvariable und die Operationen wait und signal darauf. monitor PingPong is Ping_Start, Pong_Start : CONDITION; Ping_B, Pong_B : BOOLEAN; procedure Ping Is if Pong_B then signal (Pong_Start);

Name :... 8 wait(ping_start); end if, print ( Ping ); Ping_B := False; Pong_B := True; end Ping; procedure Pong Is if Ping_B then signal (Ping_Start); wait (Pong_Start); end if; print ( Pong ); Pong_B := False; Ping_B := True; end Pong; Ping_B := True; Pong_B := False; end PingPong; d) Lösen Sie das Problem unter a) mit Hilfe des selektiven Ada Rendezvous. Schreiben Sie dazu einen Server mit den Entries Ping und Pong.

Name:... 9 task body Ping_Pong_Server is loop select when Ping_B => accept Ping do print ( Ping ); Pong_B := True; Ping_B:= False; end accept; or when Pong_B => accept Pong do print ( Pong ); Ping_B := True; Pong_B:= False; end accept; end select; end loop; end Ping_Pong_Server; Aufgabe 04: (Scheduling, Hauptspeicherverwaltung) 5 = 2 + (1 + 2) Punkte a) Die Prozessumschaltzeit sei t. Wie groß in Abhängigkeit von t muss das

Name :... 10 Zeitquantum q bei der Round Robin Scheduling-Strategie gewählt werden, so dass der Overhead des Betriebssystems für die Prozessumschaltung zehn Prozent ist? q = 10t b1) Unter welchen Umständen tritt ein Seitenfehler (Page-Fault) auf. Ein Seitenfehler tritt auf, wenn ein Prozess auf eine Seite zugreift, die sich nicht im Hauptspeicher befindet. b2) Beschreiben Sie die Aktionen des Betriebssystems, wenn ein Seitenfehler auftritt. Gehen Sie davon aus, dass im Hauptspeicher keine Seite mehr frei ist. Seitenfehler tritt auf. Interruptroutine zur Behandlung des Seitenfehler wird angesprungen. Alle Seiten des Hauptspeicher belegt? Bestimme nach einer Strategie eine Seite des Hauptspeichers, die ausgelagert wird. Falls Änderungen an der auszulagernden Seite (Dirty-Bit) vorgenommen wurde, Seite auf Platte auslagern. Benötigte Seite von der Platte in den freigewordenen Seitenrahmen laden und Seitenverwaltung aktualisieren.