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.