• Keine Ergebnisse gefunden

Aufgabe 1 Virtueller Speicher

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe 1 Virtueller Speicher"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Datum,Zeit 20.Februar 2009,08:00 09:30Uhr(90min)

Aufgabenblätter 12 Seiten(einshl. Dekblatt)

erreihbare Punktzahl 69

zugelassene Hilfsmittel A (s.Prüfungsplan)

Studiengang Prf. Nr. Raum

AI 3618 H061

Name: Matrikelnummer:

Vorbemerkung

DieKlausur istziemlihumfangreih.Lassen Siesihniht verunsihern, Siebenötigen niht alle Punkte für dieNote 1,0; Sie benötigen weniger als die Hälfte der

Punkte fürdie Note4,0.

Hinweise:

ˆ Shreiben Siebitte Nameund Matrikelnummer aufjedes Aufgabenblatt.

ˆ ShreibenSieIhreLösungzudenAufgaben aufdenfreienPlatz,direktanshlieÿend

an die Fragestellungen. Wenn Sie zusätzlihe Blätter verwenden, so shreiben Sie

bitte Nameund Matrikelnummerauf jedesBlatt.

ˆ Shreiben Sielesbar!

VomPrüferauszufüllen:

Aufgabe 1 2 3 4 5 6 Summe

Max.Punkte 17 7 21 8 6 10 69

(2)

Aufgabe 1 Virtueller Speicher

EinBetriebssystemverwendetPaging,umfürdievershiedenenProzessejeweilseinenvir-

tuellenHauptspeiherzurealisieren.Dervirtuelle Speiherwirdauf48MB Hauptspeiher

und8MBderFestplatte abgebildet(Swap-Spae). DieGesamtlänge einerAdressebeträgt

26Bit.

8 Bit 9 Bit

PT1 PT2 Offset

9 Bit

Das Betriebssystem verwendet eine zweistuge Seitentabel-

le. Die Länge der ersten Seitenadresse (PT1) beträgt 8 Bit;

dieLänge derzweiten Seitenadresse(PT2) beträgt 9Bit; die

Länge desOsetsbeträgt9 Bit.

Allg.Hinweis: Shreiben Siebeidenfolgenden Aufgaben im-

merdenRehenwegauf,z.B.GröÿedesSpeiherbereihXY

dividiertdurh Anzahl Z.

1.1 (8 Punkte)

Ein Prozessbelegtfolgende Adressbereihe:

Prog. Teil Adressbereih Gröÿe inByte

TextSegment 0 - 390000 390001

HeapSegment 390001 - 22403070 22013070

StakSegment 268291437 268435456 144020

(1 Punkt)Wie viele Einträge hat dieSeitentabelle ersterStufe?

(1 Punkt)Wie viele Einträge hat eineSeitentabelle zweiterStufe?

(1 Punkt)Wie groÿ (inKilobyte,KB) ist ist eineSeite, wiegroÿ isteine Kahel?

(1 Punkt)Wie viele Seiten belegt dasStakSegment?

(2 Punkte) Wie viele Seitentabellen zweiter Stufe werden für das Text und das Heap

Segment benötigt?

(1 Punkt)Wie viele Kaheln verwaltet dasBetriebssystem?

(1Punkt)AufwelheGröÿekanndervirtuelleSpeihermaximalausgebautwerden(Haupt-

(3)

1.2 (9 Punkte)

ImWeiterensolleinevirtuelleAdressedurhvierDezimalzahlenfür PT1,PT2,undOset

dargestellt werden. Beispiel: Die dezimalen Werte (33, 13, 116) stehen für die virtuelle

Adresse00100001000001101 001110100.

DiefolgendeAbbildungzeigteinenAusshnittausderSeitentabelleersterStufeundeinige

Ausshnitte aus den Seitentabellen zweiter Stufe. Ahtung: In den Seitentabellen zweiter

StufestehennurdiesignikantenBits,sodassderOsetlediglihangehängtwerdenmuss!

1 2 3 4 0

10 11

:

:

6180

:

PT2 PT1

3901 2769 3988 1066 4398

2769

8250

9028 5128 8040

:

1066 8742 7046 3248 1

2 0

1 2 3 0 Anfangsadresse

255

2901

113 :

8250

867

3901 741

42 1

0

3 :

: :

2

108

: 112 113 114

4190 347 2279

Diephysishe AdressesollinFormeiner Dezimalzahl dargestelltwerden.

ErgänzenSiediefehlendenWerteinderTabellesoweitmöglih.WennSieeinenWertniht

eintragen können,sobegründenSie diesbitte stihwortartig:

virt.Adresse phys.Adresse

1 113 47 3164207

1 2 491

0 1 21

56496

545870

255 3 176

177989

3 2 501

(4)

Aufgabe 2 Scheduling

EinBetriebssystemverwendetpräemptiveMultitaskingmiteinerKombinationausRound-

Robinundprioritätsbasiertem Sheduling.Es gibtdrei Prioritätsstufen: 1,2 und3,wobei

die Stufe 1 die höhste Priorität darstellt und die Stufe 3 die niedrigste. Der Sheduler

wirdaktiv,wenneineZeitsheibeabläuftoderwenneinProzessblokiertwird.DasSystem

verwaltet8Prozesse(P1...P8).EinProzessistrehnend(RE),einigeProzessesindbereit

(BR)einige sindblokiert(BL).

2.1 (7 Punkte)

Prio 1

Prio 2

Prio 3

P1 P2

P3 P4 P5

P6 P7 P8

Die folgende Tabelle soll die Zustände der Prozes-

sezuvershiedenenZeitpunkten darstellen.DerZu-

standunmittelbarvordemZeitpunkt

t 0

istgegeben.

Es treten nun der Reihe nah Ereignisse auf. Mit

demAusdrukProzess P7wirddeblokiert ist ge-

meint,dassdieUrsahefürdieBlokadeaufgehoben

ist. Z.B. weil eine Aus- oder Eingabe des Prozess

beendet wurde. Die Zeitpunkte

t 2

und

t 1

fassen

jeweils zweiEreignissezusammen.

Ergänzen Sie die Tabelle gemäÿ den auftretenden

Ereignissen.

t 0

:Ein Zeitsheibe für daspräemptive Multitasking läuftab

t 1

:ProzessP1 wirdblokiert

t 2

:ProzessP2 wirdblokiert

t 3

:ProzessP5 wirdblokiert

t 4

:ProzessP4 wirdblokiert

t 5

:ProzessP5 wirddeblokiert

t 6

:Ein Zeitsheibe für daspräemptive Multitasking läuftab

t 7

:Ein Zeitsheibe für daspräemptive Multitasking läuftab

P1 P2 P3 P4 P5 P6 P7 P8

t 0 t 1 t 2 t 3 t 4 t 5

BR

BL

t 6 t 7

RE

BR BR BR

BR

RE BR BR

BR BL

BL BL

BL

RE BL

BL

BL t -1

BL BL BL

RE BR

BR BL

BL BR BL BL BL BR

t -2

(5)

Aufgabe 3 Datei System mit I-Nodes

Ein DateisystemverwendetI-NodesfürdieVerwaltung vonDateien. FürdieFreispeiher-

verwaltungvon I-Nodesund Blöken verwendetdasSystem je eineBitmap.

Ein I-Node desSystemsbesitzt folgendesFormat:

I-Node Datei-Typ

D: Directory R: Reguläre Datei S: Soft-Link

Link-Count Direkter Block

Einfach indirekter Block Zweifach indirekter Block Direkter Block

Die Daten sind also über zwei direkte Blöke, einen einfah indirekten Blok und einen

zweifah indirekten Blok erreihbar. Ein Blok enthält 4096 Byte, ein Zeiger auf einen

Blokenthält 8Byte. I-Nodesenthalten nieselbst Dateneiner Datei.

3.1 (3 Punkte)

Wie groÿ kann eine Dateiin diesem Dateisystem maximal sein? Bitte geben Sie alle Re-

henshrittean.

3.2 (2 Punkte)

Wie groÿkanndasDateisystem maximalsein (Begründung)?

3.3 (3 Punkte)

Wie viele Blöke belegt eine Datei, die 100MB Daten enthält. Berüksihtigen Sie niht

denPlatz,derimDatei-Verzeihnis(Diretory)belegtwirdundebenfallsnihtden Platz,

derdurhden I-Node belegtwird.

(6)

3.4 (7 Punkte)

Verzeihnisse sind Dateien, die zu jeder verwalteten Datei einen Eintrag enthalten. Ein

Eintrag besteht aus dem Namen und einem Verweis auf den I-Node der Datei. Folgende

Skizzezeigt einDateisystem;esgibt indiesemDateisystem keineanderen Dateien.

/

etc users

prog.conf hbc.conf text.bla gen.conf

Abbildung 1: SkizzedesDateisystems

DieDateien/(Wurzel-Verzeihnis),etunduserssindVerzeihnisse.DieDateihb.onf

ist ein Hard-Link, derauf prog.onf verweist. Die Datei gen.onfist einSoft-Link, der

aufprog.onfverweist.DieDateitext.blaist5KBgroÿ,siebeginntmitDerBundesrat

... undendet mit ...CO2-Emissionen..

Abb.2zeigtallevomDateisystemverwendetenI-NodesundBlökesowieeinenAusshnitt

derFreispeiherverwaltung.Ergänzen SiedieSkizzeanden mit

gekennzeihneten Stel- len. AnStellen, diekeinen deniertenWertbesitzentragen Siebitte einKreuz ein.

. ..

etc users

2 4 6 2

I-Node 4 5

Block 5 . ..

4 2 3 prog.conf

hbc.conf

I-Node 3 6

Block 6 I-Node 2

3

Block 3

Block 2 I-Node 6

2

Block 7 Block 11

D

D

R

1 1

1

Block-Bitmap I-Node-Bitmap

X X 1

. . . . . .

1 1 1 1 0 0 0 X X

1

Index 5 10 15

0 0 0 0 X X 0

X X 0 . ..

5 9 text.bla gen.conf I-Node 9

4

Block 4 I-Node 5

1 Der Bundesrat

will das nationale Messnetz . . . . . .

zur Reduktion von CO2-Emis- sionen. <eof>

#black_ink 1

#color_ink 1

#cyan_ink 1

#magenta_ink 1 . . . <eof>

1 1 1

Abbildung 2: SkizzedesDateisystems

DerEintrag <EOF> bedeutet: Gemäÿ Längen-Eintrag im I-Node endet dieDateian dieser

Stelle.DerersteEintragderFreispeiher-Bitmaps bezeihnet denBlok0bzw.denI-Node

0.Der Wert 1 bedeutet, dass derentsprehende Blok bzw. I-Node belegt ist,derWert0

(7)

3.5 (4 Punkte)

Die Datei text.bla wird um 4KB vergröÿert. Welhe Änderungen ergeben sih in dem

gegebenenDateisystem?WenndasSystemzusätzliheBlökeverwenden,sosinddiesBlok

12,13,14....Wenn dasSystemzusätzliheI-Nodesverwenden,sosinddiesI-Node10,11,

12....

Waswirdangelegt, welhe Wertewerden wo eingetragen bzw. verändert?

3.6 FAT Datei-System (2 Punkte)

Eine Partition der Gröÿe 2GB soll durh ein FAT-Datei-System verwaltet werden. Die

Gröÿe eines Bloks beträgt 4KB,einZeiger auf einenBlokbestehtaus4 Byte

Wie groÿist dieFAT fürdiese Dateisystem?

(8)

Aufgabe 4 Ersetzungsstrategien (8 Punkte)

DasBetriebssystemeinesRehners verwaltet einenHauptspeihermit4Kaheln.DasBe-

triebssystem verwendet den Aging-Algorithmus mit einem 3-Bit Zähler. Auf demSystem

läufteinProzessmitinsgesamt6 Seiten.Die SeitenderProzessewerdengemäÿderersten

Zeile der folgenden Tabellen referenziert. Neben der Seitennummer steht in Klammern

der Zählerstand der Seite. Der Eintrag ZS bedeutet, dass jeder Zählerstand durh den

Aging-Algorithmus halbiertwird.InderSpalteuntereinemZugrisollendieFolgendieses

Zugrisdagestellt werden. Sowirdz.B.inderersten Spalte durhden Zugri auf Seite1

dieseSeiteinKahel3eingelagert.DieSeiten0,4,und3wurdenshonvorhereingelagert.

Ergänzen SiedieTabelle.

Seitenreferenz

1 ZS 2 0 ZS 3 5 2 4

K0 0(2)

K1 4(3)

K2 3(1)

K3 1(4)

Zweite Tabelle fürevtl. Korrekturen.

Seitenreferenz

1 ZS 2 0 ZS 3 5 2 4

K0 0(2)

K1 4(3)

K2 3(1)

K3 1(4)

(9)

Aufgabe 5 Funktionsaufruf (6 Punkte)

EinCompilerverwendetnurdenStak,umDatenzwishenvershiedenenFunktioneneines

Programms auszutaushen. FolgendesProgramm ist gegeben:

1 int rofl (int *value , har line [℄) {

2 int result = *value;

3 if (line [0℄ < 'x'){

4 *value = result + 1;

5 }

6 return result;

7 }

8

9 int lol (int value , int n u m s[℄){

10 har text [℄ = "abd";

11 value = rofl( &n u m s[3℄, text);

12 text[1℄ = value + '0';

13 return value;

14 }

15

16 int main (void){

17 int values[ ℄ = {1, 2, 3, 4};

18 int test = 7;

19 test = lol(test , values) ;

20 return test ;

21 }

ErgänzenSie dieSkizzedesStaks auf dernähsten Seite zu folgendenZeitpunkten:

t 1

Zeile 10unmittelbar nahderZuweisung zu text

t 2

Zeile 6unmittelbar vor derAnweisung return

t 3

Zeile 13unmittelbar vor derAnweisung return Verwenden Sie dabeifolgende Symbole:

−→

Pointer

Variableangelegtaberniht initialisiert

xxx Variablebesitzteinen unbekanntenWert

sp

Stelle, aufdie derStakpointerzeigt

(10)

test

values 1, 2, 3, 4

main() 7 lol() rofl()

test values

main() lol() main()

t 1 t 2 t 3

7 test

values

(11)

Aufgabe 6 Synchronisation

C A

B S2

S1

S3

D

E S5 S4

S6

S7

Abbildung 3:Ein paralleles System in

Formeines Petri-Netzes Das folgende Petri-Netz zeigt die Synhroni-

sation von drei Prozessen

P

_

AB

,

P

_

C

und

P

_

DE

. Es handelt sih um ein Bedingungs-

Ereignis-Netz. Die Transitionen

A, B

gehören

zuProzess

P

_

AB

,dieTransition

C

gehörtzum

Prozess

P

_

C

,dieTransitionen

D, E

gehörenzu

Prozess

P

_

DE

.

6.1 (2 Punkte)

Welhe Stellen müssen Sie als Semaphor reali-

sieren, umdiedrei Prozessegemäÿ demobigen

Petri-Netz zusynhronisieren?

6.2 (3 Punkte)

Geben Sie den Quell-Code für die Prozesse

P

_

AB

,

P

_

C

und

P

_

DE

an. Sie können da-

zuPseudoPasal verwenden (s.SkriptvonFrau

Keller)oder(Pseudo)Java.

Prozess P_AB{

}

Prozess P_C{

}

(12)

Prozess P_DE{

}

6.3 (3 Punkte)

Zeihnen SiedenEreignisgrafendesPetri-Netzes.SiekönnendieVorlageuntenverwenden

oder eine eigene Skizze anfertigen. Geben Sie zu jedem Übergang die Transition, die ihn

auslöste,an.

6.4 (2 Punkte)

Kanndas System,dasindem oben angegebenen Petri-Netz(s. Abb. 3) dargestellt ist,in

einenDeadlokgeraten;wennja, wie;wenn nein, warum niht?

Referenzen

ÄHNLICHE DOKUMENTE

Bitte schreiben Sie Ihren Namen und Ihre Übungsgruppe (beispielsweise Mi 8-10 Uhr) oben auf ihre Abgabe und geben Sie keine losen Blätter ab (Tackern/Büroklammer/...).. Aufgabe

Das bedeutet, das beim Anlegen eines symbolischen Links eine neue Datei erstellt wird, dessen Inhalt der Pfadname auf die verwiesene Datei ist (kurze Pfadnamen – derzeit bis zu 60

1485447 lrwxrwxrwx 2 thomas thomas 5 Oct 18 07:52 softlink -&gt; datei 1485447 lrwxrwxrwx 2 thomas thomas 5 Oct 18 07:52 softlink.2 -&gt; datei Mit Hilfe von cp -l kann man

Oder: Die Werte stimmen gar nicht überein.. Ich muss einen Fehler

kann beispielsweise nur dann mit CRTL-C abgebrochen werden, wenn es im Vordergrund gestartet wird.. ¨ Ubersetzen Sie das Beispielprogramm Hallo und starten es einmal als

Wieder nach Sylowtheorie enth¨alt diese aber einen (aufl¨osbaren!) Normalteiler der Ordnung 7, und der Quotient ist als Gruppe der Ordnung 2 wieder aufl¨osbar... Aber L/K ist

Aber nach der Gradformel ist M/K endlich und nach Voraussetzung separabel, aber das impliziert Separabilit¨at von M/L (denn f¨ur jedes a ∈ M ist das Minimalpolynom von a ¨uber L

Der Wechsel von fest, flüssig und gasförmig Trage die passenden Worte ein. schmelzen, verdampfen, kondensieren, erstarren,