• 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?

IndexPT18 Bit:

2 8 = 256

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

IndexPT29 Bit:

2 9 = 512

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

Oset9 Bit:

2 9 = 512

(1 Punkt)Wie viele Seiten belegt dasStakSegment?

Gröÿe Stak-Segment /Gröÿe einer Seite

144 020 / 512 = 281 , 289 . . . ⇒ 282

Seiten

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

Segment benötigt?

Anzahlder Seiten:

22 403 071 / 512 = 43 755 , 99 . . . ⇒ 43 756

.Anzahl Seiten je Seitentabel- lenzweiter Stufe:512. AnzahlSeitentabellen zweiter Stufe

43 756 / 512 = 85 , 46 . . . ⇒ 86

Es werden86 Seitentabellen zweiterStufebenötigt.

(1 Punkt)Wie viele Kaheln verwaltet dasBetriebssystem?

GröÿeHauptspeiher+Gröÿe Swap/GröÿeKahel:

56 ∗ 2 20 / 2 9 = 56 ∗ 2 11

Kaheln: 112K (114688).

(1Punkt)AufwelheGröÿekanndervirtuelleSpeihermaximalausgebautwerden(Haupt-

speiherplus Swap-Spae)

Adress-Breite:26Bitd.h.eskönnenmaximal

2 26

Byte(Wörter)adressiertwerden(64MB).

(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

virt.Adresse phys.Adresse

1 113 47 3164207

1 2 491 4622827

0 1 21 21525

X 56496

255 0 78 545870

255 3 176 1663152

0 113 325 177989

3 2 501 Y

X:dieKahelnummer110 tauht inkeiner derangegebenen PT2auf.

(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 RE

BL

t 6 t 7

RE

BR BR

BL

BR BR

BL

BL RE

BR

BR BR

BR BR

RE BR BR BR BR

BR BL

BL BL

BL

RE BL

BL

BL t -1

BL BL BL BL BL

RE BR

BR BL

BL BR BL BL BL

BR

BR

BL

BL

RE BR BR

BR BL BL

BL

BL RE

BR BR BL BL

BL

BL

BL

BL BL

BL RE

BL

BL

BR

BL BL

BL

RE BL

BL

BL BL

BL RE

BL

BR t -2

BL

BR

BL

BL BL RE

BR BL

BR BR

BR BR

(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.

2 12

Byte proBlok/8 Bytepro Zeiger=512 Zeiger pro Blok.

AnzahlBlöke:

1 + 1 + 512 + 512 2 =

262658 Blöke =1075847168Byte (a.1GB)

3.2 (2 Punkte)

Wie groÿkanndasDateisystem maximalsein (Begründung)?

8Bytepro ZeigerEs können max.

2 64

Blöke adressiert werden.

2 64

Blöke *

2 12

Byte/Blok=

2 76

Byte.

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.

Dateigröÿe/Blokgröÿe:

100 ∗ 2 20 / 2 12

=

100 ∗ 2 8

(25600) Blöke für Daten. Zwei direkte Blöke,512 Blökeüberden einfahindirektenBlok,25086überden zweifah indirekten

Blok. Ein Blok enthält bis zu 512 Zeiger, d.h. es werden

25 086 / 512 = 48 , 99 . . . ⇒ 49

weitereeinfah indirekteBlöke benötigt.

Insgesamt:25600BlökefürDaten,49+1einfahindirekteBlöke,einzweifahindirekter

(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.

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.1zeigtallevomDateisystemverwendetenI-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 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

D

R

1 1 2

1

Block-Bitmap I-Node-Bitmap

X X 1

. . . . . .

1 1 1 0 1 0 0 0 X X

1 1

Index 5 10 15

0 0 0 0 0 X X

0 1

1 0

X X 0 . ..

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

4

S 1

Block 4 /etc/prog.conf I-Node 5

11

R 1

7

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 0

1

1 0

Abbildung 1: SkizzedesDateisystems

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

Stelle.Der ersteEintrag derFreispeiher-Bitmap bezeihnetdenBlok0bzw. denI-Node

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

bedeutet, dassderentsprehende Blok bzw.I-Nodefrei ist.

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....

(7)

Neu: Ein Blok (z.B. 16) für die zusätzlihen Daten und ein indirekter Blok (z.B. 15),

dereinenVerweis aufden Datenblok (indiesemFall 16) enthält.

Änderungen:ImI-Node5VerweisaufindirektenBlokeintragen(indiesemFall15),Länge

derDateianpassen(+4096).InderBlok-BitmapdiebeidenneubelegtenBlökealsbelegt

markieren(in diesemFall Stelle15 und16 auf 1setzen).

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?

AnzahlBlöke d.h.AnzahlEinträge:

2 ∗ 2 30 / 4 ∗ 2 10 → 2 19

.ProEintrag4Byte

4 ∗ 2 19

d.h.

2MB.

(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) 0(1) 0(1) 0(5) 0(2) 0(2) 0(2) 0(2) 4(4)

K1 4(3) 4(1) 4(1) 4(1) 4(0) 3(4) 3(4) 3(4) 3(4)

K2 3(1) 3(0) 2(4) 2(4) 2(2) 2(2) 2(2) 2(6) 2(6)

K3 1(4) 1(2) 1(2) 1(2) 1(1) 1(1) 5(4) 5(4) 5(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()

ret-addr ret-value

ret-addr ret-value

ret-addr ret-value value

nums

7 value

nums

7

text text abcd

ret-addr ret-value result

4 / - - - - 4

xxxxx ---

xxxxx

xxxxx ---

xxxxx 4 value

line

sp

sp

sp

t 1 t 2 t 3

1, 2, 3, 5

7 test

values 1, 2, 3, 5 value

nums

4 / - - - -

text a4cd

4

abcd

(11)

Aufgabe 6 Synchronisation

C A

B S2

S1

S3

D

E S5 S4

S6

S7

Abbildung 2: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?

S1,S3,S6 undS7

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{

while(true){

S1.d o w n()

A();

S6.d o w n()

B();

S3.up();

S7.up();

}

}

Prozess P_C{

while(true){

S3.d o w n();

C();

S1.up();

}

}

Prozess P_DE{

while(true){

D():

S6.up();

S7.d o w n();

E();

}

(12)

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.

A

D

D

C

E B

C E

A D

C A

E

6.4 (2 Punkte)

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

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

Es kann niht in einen Deadlok geraten; aus jedem Zustand gibt es einen Übergang in

einenanderen Zustand.

Referenzen

ÄHNLICHE DOKUMENTE

- Die Nettotransaktionen von Offenen und Geschlossenen Immobilienfonds sind nur mäßig (ρ=0,25), wobei zwischen den Verkäufen auf der Basis der RCA-Stichprobe durchaus ein

51 Ein Inflationsschutz kann also auch für den Offenen Immobilienfonds nicht dauer- haft garantiert werden, auch wenn durch die Sachwerte und das Immobilienportfolio eine

Die Vickershärtewerte von Dentalkompositen, die für die Kavitätenklassen I-V eingesetzt werden und sowohl Kontakt zum Zahnschmelz als auch zum Dentin haben, sind mit 44149 HV 0,01/20

Die Daten sind also über einen direkten Blok, einen zweifah indirekten Blok und einen.. dreifah indirekten Blok erreihbar. Ein Blok enthält 2048 Byte, ein Zeiger

2 zeigt alle vom Dateisystem verwendeten I-Nodes und Blöke sowie einen Ausshnitt. der

Ich selbst habe schon in Fällen wie dem zuletzt zitierten von einer „verzögerten Einaktantenanpassung“ gesprochen (Peust 1996: 56-61), bei der eine direkte Rede in indirekte

[r]

Ähnlich verhalten sich dann auch mehrere Textzeugen der Spätzeit (siehe Vittmann 1994:265 und 2 7 4 f ). Bemerkenswert ist hier, dass der Umsprang vom Pronomen der ersten