1. Übung zur Vorlesung Betriebssysteme

Transcription

1. Übung zur Vorlesung Betriebssysteme
UNIVERSITÄT ULM
Fakultät für Informatik
Verteilte Systeme
Prof. Dr. Peter Schulthess
Ralph Göckelmann
Stefan Frenz
1. Übung zur Vorlesung Betriebssysteme
Abgabe per eMail ([email protected]) bis spätestens 27.05.2004 vor den Übungen
Aufgabe 1: Einführung in Betriebssysteme (5 Punkte)
a) Nennen Sie die Hauptunterschiede zwischen der Z3 und der ENIAC.
b) Beschreiben Sie die Aufgabe des Monitors beim Stapelbetrieb.
c) Erläutern Sie den unterschied zwischen Netzwerk- und verteiltem Betriebssystem.
d) Nennen Sie die hauptsächlichen Aufgaben eines Betriebssystems.
Aufgabe 2: Betriebssystemorganisation (2 Punkte)
a) Vergleichen Sie monolithische und hierarchische Betriebssystemorganisation. Was sind die Vor- und
Nachteile dieser Organisationen?
b) Erläutern Sie, was man unter einer virtuellen Maschine versteht.
Aufgabe 3: Hauptspeicher; Speicherverwaltung unter Windows NT & Linux (4 Punkte)
In dieser Aufgabe sollen Sie sich mit den C Compilern unter Linux und Windows NT vertraut machen.
a) Schreiben Sie unter Linux mit Hilfe von GCC ein C Programm, welches einen Speicherblock von 4 Byte mit
„malloc“ alloziert. Prüfen Sie mit einer Zeigeroperation und einer Schleife, wieviel Speicher Ihnen tatsächlich
zugeordnet wurde.
b) Schreiben Sie das gleiche Programm nun unter Windows NT/2000/XP mit Hilfe von Visual C++.
Verwenden Sie jedoch zum allozieren die Funktion „VirtualAlloc“. Sie müssen zuerst den Speicher mit
MEM_RESERVE reservieren und danach mit MEM_COMMIT den Speicher anfordern. Prüfen Sie wie in
a), wieviel Speicher Sie tatsächlich erhalten haben.
Aufgabe 4: Hauptspeicher; Strategien zur Speichervergabe (8 Punkte)
a) Erläutern Sie den Unterschied zwischen internem und externem Verschnitt.
b) In einem Rechner sind folgende freie Bereiche im Speicher nacheinander angeordnet: 10kB, 4kB, 30kB, 28kB,
7kB, 9kB, 12kB und 15kB. Welcher Bereich wird bei einer sukzessiven Speicherplatzanforderung von 12kB,
10kB, 9kB und 19kB mit den Strategien First-Fit, Best-Fit und Worst-Fit ausgewählt (jeweils mit
Zerschneidung)? Skizzieren Sie Ihre Lösung.
c) Buddy-Verfahren:
i) Bei einem 8 MB großen Hauptspeicher, der initial völlig frei ist, werden nachfolgende Speicheroperationen
ausgeführt:
a1=allocate(1MB); a2=allocate(1.5MB); a3=allocate(400KB);
a4=allocate(600KB); a5=allocate(100KB); free(a2); a6=allocate(800KB);
free(a3); a7=allocate(1.1MB); free(a4); free(a5); free(a6); free(a1);
Verdeutlichen Sie den Ablauf des Buddy-Verfahrens graphisch.
ii) In einem nach dem Buddy-Verfahren verwalteten Speicher habe ein Block b der Länge 2k die Adresse x.
Geben Sie eine Methode oder Formel zur Bestimmung der Adresse des zu b gehörigen Buddy an.