Musterlösung Prüfung WS 01/02

Ähnliche Dokumente
Musterlösung Prüfung SS 2002

Dämon-Prozesse ( deamon )

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Technische Informatik II

Betriebssystembau (BSB)

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

Tutorium Rechnerorganisation

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

RTOS Einführung. Version: Datum: Autor: Werner Dichler

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

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

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

Grundlagen Rechnerarchitektur und Betriebssysteme

OSEK / OSEKtime - ein Vergleich

Prozesse und Scheduling

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

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

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

Übung zu Grundlagen der Betriebssysteme. 7. Übung

Freispeicherverwaltung Martin Wahl,

Operating System Kernels

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

Speicherverwaltung (Swapping und Paging)

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Klausur zur Vorlesung Grundlagen der Betriebssysteme

Klausur. Betriebssysteme SS 2007

Übung zu Grundlagen der Betriebssysteme. 11. Übung

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

(Prüfungs-)Aufgaben zum Thema Scheduling

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Übung Betriebssysteme 11

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

3. Scheduler und Schedulingstrategien

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

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

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

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

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012

5 Kernaufgaben eines Betriebssystems (BS)

Technische Informatik 1

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren

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

CPU-Scheduling - Grundkonzepte

Echtzeit-Multitasking

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

Betriebssysteme (BTS)

Ein Laufzeitsystem für hochgradig parallele Simulationen

Rechnernutzung in der Physik. Betriebssysteme

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

Echtzeitbetriebssysteme

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P

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

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Betriebssysteme. Teil 13: Scheduling

Klausur. Betriebssysteme SS

2. Aufgabenblatt Threads

Klausur Betriebssystemkonzepte sowie Architektur von Rechnersystemen und Betriebssystemkonzepte

Betriebssysteme. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1

Prozesse. Prozesskonzept. Prozess- ein Programm in Ausführung

Anfragen werden als Ganzes erfüllt und erst nach Ablauf der Zeit der

Kapitel III. Prozessverwaltung. VO Betriebssysteme

Betriebssysteme (BS)

DIPLOMHAUPTPRÜFUNG FÜR ELEKTROINGENIEURE PROZESSAUTOMATISIERUNG I Sommersemester Musterlösung

Übung zu Grundlagen der Betriebssysteme. 10. Übung

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.

Betriebssysteme (BTS)

Prozesse und Scheduling unter Linux (Kernel 2.4.XX)

Proseminar KVBK : Scheduler unter Linux

Monitore. Klicken bearbeiten

Übungen zum Fach Betriebssysteme Kapitel 3

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.

Vorname: Nachname: Matrikelnummer: Klausur. Betriebssysteme

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

6.Vorlesung Betriebssysteme Hochschule Mannheim

Klausur Nichtsequentielle Programmierung. Nachname: Bachelor Magister. Vorname: Master Lehramt

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm

Embedded-Linux-Seminare. Linux als Betriebssystem

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

Domänenanalyse Threadverwaltung/Scheduling

13. Übung mit Musterlösung

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

5. Foliensatz Betriebssysteme und Rechnernetze

Übung I Echtzeitbetriebssysteme

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

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Betriebssystem (operating system)

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Transkript:

Musterlösung Prüfung WS 01/02 Fach: I3 Software-Technik (SEE, GRS, BTS) Teilprüfung: Betriebssysteme Tag: 29.01.2002 10:45 14.45 Raum: 1006 Bearbeitungszeit: 4 Stunden 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 (maximale Punkte 56) 01 02 03 04 05 mui3ws0102

Aufgabe 1: Allgemeines und Vermischtes 12 = 2 + 2 + 2 + 2 + 2 + 2 Punkte a) Charakterisieren Sie bitte, möglichst mit einem Satz, die Aufgaben eines Dispatcher. Der Dispatcher schaltet die Prozesse zwischen den einzelnen Zuständen um (Prozessumschalter). b) Charakterisieren Sie bitte, möglichst mit einem Satz, die Aufgaben eines Scheduler. Der Scheduler legt die Auswahlstrategie (Ablaufplan) fest, nach der den Prozessen ein knappes Betriebsmittel (CPU) zugeordnet wird. c) Was ist, neben der modularen Zerlegung, der Grund den Dispatcher und den Scheduler in zwei Module zu legen und nicht in einen Modul zu packen? Der Dispatcher läuft auf der zugrundeliegenden Hardware. Die Auslegung des Schedulers bestimmt das Anwendungsspektrum des Rechners. Bei Änderungen der Hardwarebasis muss nur der Dispatcher geändert werden. Bei Änderung des Einsatzspektrums muss nur der Scheduler geändert werden.

d) Bitte geben sie stichpunktartig die Unterschiede zwischen einem Prozess (Task) und einem Thread an. Prozess ist ein Programm in Ausführung. Thread wird unter einem Prozess aufgefädelt. Prozess stellt die Betriebsmittel einem Thread zur Verfügung. Prozess wird innerhalb des Betriebssystem durch Hardware-PCB und Software-PCB dargestellt. Thread benötigt nur Hardware-PCB und der Software-PCB reduziert sich auf die Thread-ID, da der Prozess die Betriebsmittel verwaltet. Dadurch kann ein Thread schneller angelegt werden und die Umschaltzeiten zwischen Threads sind geringer als die Umschaltzeiten zwischen Prozessen. e) Gehen Sie von einem Einprozessorsystem aus. Erläutern Sie die Unterschiede, Vor- und Nachteile zwischen Kooperativen Multitasking und Verdrängendes (Preemptive) Multitasking? Kooperatives Multitasking: Die Task bestimmt wenn Sie den Prozessor freigibt. Preemptive Multitasking: Das Betriebssystem verdrängt, entweder nach Ablauf der Zeitscheibe bei Round Robin Scheduling oder beim Vorliegen einer höher-prioren Prozesses bei prioritätsgesteuertem Scheduling den Prozess. Nachteil kooperatives Multitasking: Ist eine Task nicht kooperativ, kann sie andere Task an der Abarbeitung hindern. Nachteil preemptive Multitasking: Beim Verdrängen muss auf einen anderen Prozess umgeschaltet werden (Kontextwechsel). Kontextwechsel ist Overhead für das Betriebssystem.

f) Was versteht man bei parallelen Prozessen (Tasks) unter einer Verklemmung (Deadlock)? unter einer Behinderung (Problem des Verhungerns)? Prozesse sind verklemmt, wenn jeder Prozess auf das Ereignis oder Aktion eines anderen Prozesses wartet und die wartenden Prozesse bilden einen Zyklus. Ein Prozess wird behindert (verhungert), wenn bei der Abarbeitung von mehreren Prozessen dieser eine Prozess keine Berücksichtigung findet.

Aufgabe 2: Swapping 9 = 3 + (2 +4) Punkte a) Was ist der Unterschied zwischen Swapping und Paging? Beim Swapping wird ein kompletter Prozesse (alle Seiten des Prozesses) auf die Platte aus- und später wieder in den Hauptspeicher eingelagert. Beim Paging werden nur die Seiten eines Prozesses vom Hauptspeicher auf die Platte ausgelagert werden und benötigt der Prozess die Seiten wieder, so werden sie von der Platte in den Hauptspeicher eingelagert. b) Diskutieren sie die Vor- und Nachteile und vergleichen Sie die Unterteilung des Swap-Bereiches (Swap-Partition) einer Platte b1) in gleich lange Stücke, b2) in variabel lange Stücke. Diskutieren Sie unter b2) hauptsächlich die verschiedenen möglichen Allokationstrategien für freie Bereiche in der Swappartition und deren Vor- und Nachteile. b1) Zur Belegungsdarstellung des Swapbereiches reicht ein Bitvektor. Interne Fragmentierung tritt auf. Beim Swap out braucht keine freier Bereich gesucht zu werden. b2) Zur Belegungsdarstellung des Swapbereiches benötigt man eine Liste mit der Länge der freien und belegten Bereiche. Externe Fragmentierung tritt auf. Beim Swap out muss ein genügend großer freier Bereich gesucht werden: Suchstrategien: First Fit: Der erste freie Bereich wird belegt. Im Laufe der Zeit müssen viele kleine Reststücke betrachtet werden. Suchaufwand steigt. Best Fit: Das beste passende Stück von der Größe her wird belegt. Minimale externe Fragmentierung. Beim Suchen muss alle freien Stücke betrachtet werden. Worst Fit: Das schlechteste passende Stück von der Größe her wird belegt. Beim Suchen müssen alle freien Stücke betrachte werden. Die freien Reststücke streben einer einheitlichen Länge zu.

Aufgabe 3: Synchronisation 20 = 4 + 4 + 4 + 4 + 4 Punkte Sie haben 100 Prozesse vorliegen, die den Lebenslauf eines PKW simulieren: task PKW is -- Fahre herum -- Fahre ins Parkhaus P5 -- Parke (sleep) -- Fahre aus dem Parkhaus end ; end PKW; Alle PKW fahren in das gleiche Parkhaus P5. Das Parkhaus P5 hat jedoch nur 50 Stellplätze, so dass nur 50 der 100 Autos im Parkhaus Platz finden. a) Schreiben Sie einen Vaterprozess der 100 Kinder (die 100 PKW-Prozesse) startet mit dem fork-systemaufruf aus Unix. Zur Erinnerung: der fork-systemaufruf gibt null an das Kind zurück und die Prozessidentifikation des Kindes (pid) an den Vater. main() { for (i= 1; i <= 100; i ++) if (fork ==0) { // Code des Sohnes // PKW-Prozess } }

b) Synchronisieren Sie bitte die 100 PKW-Prozesse mit Semaphoren. Zur Erinnerung: Sie haben 100 Pkws aber nur 50 Pkw fasst das Parkhaus. task PKW is -- Fahre herum -- Setze die Semaphoroperation ein! P(Sema); -- Fahre ins Parkhaus P5 -- Parke (sleep) -- Fahre aus dem Parkhaus -- Setze die Semaphoroperation ein! V(Sema); end ; end PKW; -- Initialisieren Sie bitte den Semaphor! S_Init (Sema, 50); c) Synchronisieren Sie bitte die 100 PKW-Prozesse mit bedingten kritischen Regionen. task PKW is -- Fahre herum region Parkhaus when Counter < 50 do Counter++; end region; -- Fahre ins Parkhaus P5 -- Parke (sleep) -- Fahre aus dem Parkhaus region Parkhaus do Counter --; end region; end ; end PKW; Counter := 0; //Initialisierung

d) Synchronisieren Sie bitte die 100 PKW-Prozesse mit einem Monitor Parkhaus und den Monitorprozeduren Einfahren und Ausfahren. task PKW is -- Fahre herum Parkhaus.Einfahren; -- Fahre ins Parkhaus P5 -- Parke (sleep) -- Fahre aus dem Parkhaus Parkhaus.Ausfahren; end ; end PKW; monitor Parkhaus is -- Deklarieren Sie bitte hier ihre globale Variable und Bedingungsvariable! Counter : Integer; Frei: Condition; procedure Einfahren is -- Schreiben Sie hier bitte den Code der Monitorprozedur Einfahren hin! if Counter > 50 then wait (Frei); end if; Counter++; end Einfahren; procedure Ausfahren is -- Schreiben Sie hier bitte den Code der Monitorprozedur Ausfahren hin! Counter --; signal (Frei); end Ausfahren; -- Initialisierung Counter := 0; end Parkhaus;

e) Synchronisieren Sie bitte die 100 PKW-Prozesse mit einem Serverprozess Parkhaus und dem selektiven Ada-Rendezvous. task PKW is -- Fahre herum Parkhaus.Einfahren; -- entry call -- Fahre ins Parkhaus P5 -- Parke (sleep) -- Fahre aus dem Parkhaus Parkhaus.Ausfahren; -- entry call end ; end PKW; task body Parkhaus is -- Serverprozess mit den Entries Einfahren und Ausfahren. counter Integer := 0; -- Schreiben Sie hier bitte das selektive Ada-Rendezvous hin! select when counter < 50 accept Einfahren do counter := counter +1; end accept; or accept Ausfahren do counter := counter - 1; end accept; end select; end ; end Parkhaus;

Aufgabe 4: Virtuelle Speicherverwaltung 8 Punkte Zeigen Sie, wie eine virtuelle Adresse bestehend aus den drei Komponenten s Segmentadresse p Seitenadresse und d Realtivadresse auf eine physikalische Adresse abgebildet werden kann.

Aufgabe 5: Scheduler 7 = 3 + 4 Punkte a) Was ist der Unterschied beim prioritätsorientierten Scheduling zwischen festen (statischen) und dynamischen Prioritäten. Bei statischen Prioritäten besitzen die Prozesse eine fest nicht sich ändernde Priorität Während ihrer gesamten Lebenszeit im System. Bei dynamischen Prioritäten kann sich die Priorität eines Prozesses im Laufe der Zeit ändern. b) Benutzt das Deadline Scheduling feste oder dynamische Prioritäten? Das Deadline Scheduling benutzt dynamische Prioritäten. b1) Falls sie unter b) feste Priorität gewählt haben, welche feste statische Priorität erhalten die einzelnen Prozesse? b2) Falls Sie unter b) dynamische Priorität gewählt haben, wie steigt die Priorität der einzelnen Prozesse? Nach Ablauf eine Toteszeit-Intervalls und falls der Prozess nicht am laufen war, erhöht sich die Priorität um eins und das Toteszeit-Intervall wird halbiert.