4. Übung - Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "4. Übung - Betriebssysteme"

Transkript

1 1. ufgabe: Systemstart 4. Übung - etriebssysteme Informatik I für Verkehrsingenieure ufgaben inkl. eispiellösungen a Welche ufgabe hat das IOS und was passiert beim Starten eines Systems? b Welche ufgaben hat der ootloader eines etriebssystems und wie kommt er in den Hauptspeicher? a ie bkürzung IOS steht für asic Input Output System und stellt die grundlegenden Funktionen für die Kommunikation von enutzer und omputer bereit, die zum Starten des Systems erforderlich sind. ußerdem führt es einen einfachen Systemtest zur Verfügung und startet den ootloader. b er ootloader wird vom IOS als das erste Programm auf einem Rechner gestartet. Es lädt dann typischerweise den etriebssystemkern. a der ootloader immer im sogenannten ootsektor der Festplatte liegt, weiß das IOS, von wo aus es den ootloader in den Hauptspeicher laden muss. 2. ufgabe: Grundlegendes zu etriebssystemen a Was sind residente und transiente etriebssystemroutinen und welche Vor- und Nachteile haben sie? b Erklären Sie die egriffe atei und ateisystem! c Nennen Sie drei Eigenschaften, die ein Mehrbenutzer-etriebssystem aufweisen muss! d Was sind die ufgaben des dministrators? a Residente etriebssystemroutinen verbleiben im Hauptspeicher, transiente hingegen müssen bei edarf neu geladen werden und verbleiben dann solange im Speicher, bis sie nicht mehr genutzt werden. Ein Vorteil residenter Routinen ist der schnellere Zugriff auf selbige, ein Nachteil die permanente Speicherbelegung auch bei Nichtbenutzung der Routine. ei transienten Routinen gilt der umgekehrte Fall. b Eine atei ist ein estand zusammengehöriger aten, die auf einem geeigneten Medium permanent gespeichert sind und auf die mit Hilfe eines eindeutigem ezeichners (ateiname) zugegriffen werden kann. as ateisystem verwaltet den ateizugriff. eispielsweise verzeichnet es, wo Speicher belegt bzw. frei ist oder welche Rechte ein Nutzer beim Lesen oder Schreiben einer atei hat. 1

2 c Es muss die rbeit von mehr als einem enutzer zur gleichen Zeit am selben System unterstützen. azu ist eine Nutzeradministration notwendig zum nlegen und Verwalten von Nutzerprofilen. ußerdem muss die Identifizierung der Nutzer bei der nmeldung am System unterstützt werden sowie die Zugriffskontrolle. d er dministrator ist für die Verwaltung der enutzer zuständig, dazu gehört das Einrichten neuer Nutzer, das Entfernen von Nutzern aus dem System und die Verwaltung der Nutzerrechte. 3. ufgabe: etriebsmittel a Was sind etriebsmittel? b Erläutern Sie die Verwaltung von exklusiven etriebsmitteln mit Hilfe von (zählenden) Semaphoren an folgendem eispiel: as exklusive etriebsmittel wird nacheinander von den Prozessen P 1, P 2 und P 3 zu den Zeitpunkten t = 1, 2, 4 angefordert. P 1 gibt zum Zeitpunkt t = 6 frei, P 2 zum Zeitpunkt t = 7 und P 3 zum Zeitpunkt t = 9. ie uswahl des nächsten Prozesses aus der Warteschlange für erfolgt nach dem FIFO-Prinzip. c Zwei Prozesse (P 1 und P 2 ) sollen ausgeführt werden. P 1 benötigt nacheinander folgende etriebsmittel: Festplatte, Scanner, rucker; P 2 benötigt folgende etriebsmittel: Festplatte, rucker, Scanner (nforderung erfolgt in der Reihenfolge der ufzählung). Welches Problem kann entstehen? Muss es zu diesem Problem kommen? Welche Strategien zur ehandlung des genannten Problems kennen Sie? a etriebsmittel sind die Ressourcen, die in einem System zur Verfügung stehen und von Prozessen für die usführung benötigt werden. b Es ergibt sich folgender blauf (Z: Zählvariable, P i : Zuweisung des etriebsmittels an Prozess P i, W: Warteschlange): P 1 : P 2 : P 3 : P 1 : Freig. P 2 : Freig. P 3 : Freig. Zeit t Z = 1 Z = 0 Z = 1 Z = 2 Z = 1 Z = 0 Z = 1 frei P 1 P 2 P 3 frei W: W: W: P 2 W: P 2, P 3 W: P 3 W: W: c rucker und Scanner sind exklusive etriebsmittel, d.h., sie können jeweils nur einem Prozess zugewiesen werden. ei dem beschriebenen Szenario kann es zu einem eadlock (Verklemmung) kommen, falls P 1 der Scanner zugeteilt wurde und P 1 nun den rucker anfordert, der rucker aber bereits P 2 zugewiesen wurde und P 2 seinerseits den Scanner anfordert. Ein eadlock ist dadurch gekennzeichnet, dass die Prozesse wechselseitig aufeinander warten und keiner mehr voranschreiten kann. as Problem muss nicht auftreten, 2

3 hat z.. P 1 bereits rucker und Scanner freigegeben, ehe diese von P 2 angefordert werden, kommt es nicht zu einem eadlock. Strategien zur ehandlung: Problem ignorieren, Erkennung und ehebung (zyklisch prüfen, ggf. Prozess abbrechen), dynamische Verhinderung (vorsichtige Vergabe von etriebsmitteln), Vermeiden (z.. nforderung von etriebsmitteln durch alle Prozesse in definierter Reihenfolge). 4. ufgabe: Hauptspeicherverwaltung a Welche ufgaben hat die Hauptspeicherverwaltung? b er Hauptspeicher soll mit Hilfe der uddy-technik verwaltet werden. Wie viele Listen sind bei einer Speichergröße von 1 Gyte und einer kleinsten Speichereinheit von 64 Kyte zu verwalten? Geben Sie die Speicherbelegung und den ufbau der Listen für folgenden eispielablauf an: Zu eginn ist der Speicher frei. nforderung eines lockes der Größe 120 Myte, nforderung eines lockes der Größe 130 Myte, nforderung eines lockes der Größe 250 Myte, nforderung eines lockes der Größe 60 Myte, Freigabe von, nforderung eines lockes E der Größe 50 Myte, Freigabe von, Freigabe von, Freigabe von E, Freigabe von. c Welche Vor- und Nachteile hat die uddy-technik gegenüber der Zuteilung des ersten geeigneten Hauptspeicherbereiches? d Was ist virtueller Speicher? Was sind Seiten und Rahmen und wie wird durch das etriebssystems die Zuordnung verwaltet? e eschreiben Sie die Seitenwechseltechnik (Paging). f Was versteht man unter Seitenflattern? a ie Hauptspeicherverwaltung kümmert sich um die Zuweisung von Speicher an Programme, das Freigeben von nicht mehr verwendetem Speicher, die effiziente Verwaltung von freien und belegten Speicherbereichen und den Schutz der Speicherbereiche verschiedener Prozesse vor gegenseitigem Zugriff. 3

4 b eim uddy-verfahren wird der Speicher in ereiche der Länge 2 k aufgeteilt. Zu eginn gibt es nur einen lock, der möglichst den gesamten Speicher abdeckt. Fordert ein Prozess eine bestimmte Menge Speicher an, wird zur nächsthöheren Zweierpotenz aufgerundet und ein lock passender Größe gesucht. abei wird der Speicher schrittweise halbiert, die entstehenden Hälften gleicher Größe nennt man uddies. Sobald Speicher freigegeben wird, prüft man, ob sich zwei durch Teilung entstandene löcke gleicher Größe wieder zu einem größeren lock zusammenfassen lassen. In dem angegebenen eispiel werden 15 Listen benötigt: 64 k, 128 k, 256 k, 512 k, 1 M, 2 M, 4 M, 8 M, 16 M, 32 M, 64 M, 128 M, 256 M, 512 M, 1 G. ie nforderungen führen zu folgender Speicherbelegung: 128 M 256 M 384 M 512 M 640 M 768 M 896 M 1 G Start 1 G : 120 M 128 M 256 M 512 M : 130 M 128 M 512 M : 250 M 128 M 256 M : 60 M 64 M 256 M Freigabe 128 M 64 M 256 M E: 50 M 128 M E 256 M Freigabe 128 M E 512 M Freigabe 128 M 64 M E 512 M Freigabe E 256 M 512 M Freigabe 1 G c ie uddy-technik ist einfach zu implementieren. ie Verwaltung ist einfacher und damit schneller, da nur die entsprechenden Listen der löcke in der Größe von Zweierpotenzen zu verwalten sind. Nachteil ist die mögliche interne Fragmentierung (Verschnitt innerhalb der Speichereinheiten durch notwendiges ufrunden auf nächstgrößere Zweierpotenz). d Virtueller Speicher ist eine vom etriebssystem verwaltete bstraktionsebene des physikalischen Speichers. Jedem Programm wird dieselbe Menge virtuellen Speichers zur Verfügung gestellt, auf welchem es aten lesen und schreiben kann. er logische dressraum und der physische dressraum werden in gleich große Stücke unterteilt, die man als Seiten (Page) beziehungsweise Rahmen (Frame) bezeichnet. as etriebssystem übernimmt die Zuordnung (das Mapping) von virtuellem und realem Speicher, indem es in Seitentabellen die Zuordnung der Seiten zu den Rahmen speichert. Es existiert für jeden Prozess eine eigene Seitentabelle. er logische dressraum ist in der Regel zusammenhängend, während im physischen dressraum die logisch benachbarten 4

5 Seiten in weit voneinander entfernt liegenden Seitenrahmen abgelegt werden können. ie Reihenfolge der Seitenrahmen ist beliebig. e er virtuelle Speicher, der den Prozessen zur Verfügung gestellt wird, kann wesentlich größer sein als der real vorhandene Speicher. Um jedem Prozess den Speicher zusichern zu können, werden Seiten bei edarf auf die Peripherie ausgelagert (z.. uslagerungsdatei (Swap-File) auf Festplatte). Seitenwechsel bzw. Paging bezeichnet das Verschieben von Seiten zwischen dem realen Hauptspeicher und der uslagerungsdatei. Soll auf eine Seite zugegriffen werden, die gerade ausgelagert ist, kommt es zu einem Seitenfehler (Page Fault). er Prozess wird angehalten, die ausgelagerte Seite in den realen Speicher geladen und der Prozess fortgesetzt. Zum Laden der Seite in den Hauptspeicher muss evtl. eine andere Seite verdrängt (ausgelagert) werden. f Seitenflattern bezeichnet einen Überlastzustand des Systems infolge häufiger Seitenwechsel. Es kommt dazu, wenn nicht alle aktuell von Prozessen benötigten Seiten im Hauptspeicher gehalten werden können. urch die häufigen Wechsel kommt es zu langen Programmlaufzeiten. 5. ufgabe: Prozessverwaltung a Was unterscheidet Programm und Prozess? b Was verstehen Sie unter dem Prozesszustandsblock (P)? Wozu wird er benötigt? c In welchen Zuständen können sich Prozesse befinden, und was kennzeichnet diese Zustände? d Vergleichen Sie die Prozess-Schedulingstrategien FIFO, Round Robin (Zeitscheiben: q = 1) und Vergabe nach Prioritäten anhand folgender Prozesse: Prozess nkunftszeit usführungsdauer Priorität E F Geben Sie für jeden dieser Prozesse die Wartezeit bis zum eginn der usführung und das Ende der earbeitung an sowie die mittlere Wartezeit für alle Prozesse! (Hinweis: ie Prozesswechselzeit kann der Einfachheit halber ignoriert werden!) e Was versteht man unter einem kritischen bschnitt eines Prozesses? Was ist vom etriebssystem sicherzustellen? a Ein Programm ist die statische Folge von nweisungen in einer Programmiersprache, ein Prozess ist ein in usführung befindliches Programm. 5

6 b as etriebssystem verwaltet die laufenden Prozesse. er P ist eine atenstruktur, die alle dafür notwendigen Informationen über die Prozesse enthält (den Prozesskontext), insbesondere um die Fortsetzung eines unterbrochenen Prozesses zu ermöglichen. Jeder Prozess hat seinen eigenen P, der beim Start des Prozesses angelegt wird. c aktiv: er Prozess hat den Prozessor zugeteilt bekommen und schreitet voran. bereit: er Prozess wartet nur noch auf die Zuteilung des Prozessors, es gibt keine weiteren Wartebedingungen. wartend: er Prozess muss auf die Erfüllung (mindestens) einer Wartebedingung warten. Es ergibt sich folgender blauf: Wartezeit FIFO (0,6,3) 0 (2,3,1) 4 (4,3,4) 5 (6,4,2) 6 E(8,5,1) 8 F(10, 4, 2) 11 Mittel: 5,67 Round Robin (q=1, Warteschlange --> FIFO) (0,6,3) 0 (2,3,1) 0 (4,3,4) 1 (6,4,2) 0 E(8,5,1) 3 F(10, 4, 2) 2 E F E F E F E F E Mittel: 1,00 E F E F E F E E F E F E F Priorität (0,6,3) 0 (2,3,1) 0 (4,3,4) 18 (6,4,2) 0 E(8,5,1) 0 F(10, 4, 2) 5 F F Mittel: 3,83 F F F d Ein kritischer bschnitt eines Prozesses beschreibt einen Zeitraum, während dem der Prozess nicht unterbrochen werden darf, da die korrekte Fortsetzung des unterbrochenen Prozesses nicht gewährleistet ist. Ein typisches eispiel ist der Zugriff auf gemeinsamen Speicher. as etriebssystem muss Methoden bereitstellen, die sicherstellen, dass ein Prozess während eines kritischen bschnittes nicht unterbrochen wird (z.. Semaphore). 6