• Keine Ergebnisse gefunden

5 Bit 7 Bit 10 Bit

N/A
N/A
Protected

Academic year: 2022

Aktie "5 Bit 7 Bit 10 Bit"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Datum,Zeit 4.Juli 2008,08:00 09:30 Uhr(90min)

Aufgabenblätter 12 Seiten(einshl. Dekblatt)

erreihbare Punktzahl 75

zugelassene Hilfsmittel A (s.Prüfungsplan)

Studiengang Prf. Nr. Raum

AI 3618 C109

Name: Matrikelnummer:

Vorbemerkung DieKlausuristziemlihumfangreih.LassenSiesihnihtverunsihern,

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 19 25 8 10 3 10 75

(2)

Aufgabe 1 Virtueller Speiher

EinBetriebssystemverwendetPaging,umfürdievershiedenenProzessejeweilseinenvir-

tuellenHauptspeiherzurealisieren.Dervirtuelle Speiherwirdauf32MB Hauptspeiher

und16MBderFestplatteabgebildet(Swap-Spae).DieGesamtlängeeinerAdressebeträgt

28Bit.

5 Bit 7 Bit 10 Bit

PT1 PT2 PT3 Offset

6 Bit

DasBetriebssystemverwendeteinedreistugeSeitentabel-

le.DieLängedererstenSeitenadresse(PT1)beträgt5Bit;

die Länge der zweiten Seitenadresse (PT2) beträgt 7 Bit;

die Länge der dritten Seitenadresse (PT3) beträgt 6 Bit;

dieLänge desOsetsbeträgt 10Bit.

Allg.Hinweis:Shreiben Siebeiden folgenden Aufgaben immer den Rehenweg auf,z.B.

GröÿedesSpeiherbereih XY dividiert durh Anzahl Z.

1.1 (10 Punkte)

Ein Prozessbelegtfolgende Adressbereihe:

Prog. Teil Adressbereih Gröÿe inByte

TextSegment 0 - 420000 420001

HeapSegment 420001 - 19738070 19318070

StakSegment 268365945 268435456 69512

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

IndexPT15 Bit:

2 5 = 32

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

IndexPT27 Bit:

2 7 = 128

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

Oset11 Bit:

2 10 = 1024

(1 Punkt)Wie viele Seiten belegt dasStakSegment?

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

69 512 / 1024 = 67 , 88 . . . ⇒ 68

Seiten

(1 Punkt)Wie viele Seitentabellen dritterStufewerdenfür dasStakSegment benötigt?

Anzahl Seiten / Anzahl Einträge in einer Tabelle dritter Stufe

68 / 64 = 1 , 06 . . . ⇒

Es werdenzwei Tabellen dritterStufebenötigt.

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

Segment benötigt?

Anzahl Seiten:

19 738 071 / 1024 = 19 275 , 45 . . . ⇒ 19 276

Seiten. Anzahl Seiten / Anzahl Einträge in einer Tabelle dritter Stufe

19 276 / 64 = 301 , 17 . . . ⇒

Es werden 302 Tabellen dritterStufebenötigt.

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

Segment benötigt?

AnzahlderTabellendritterStufe/AnzahlderEinträgezweiterStufe:

302 / 128 = 2 , 35 . . . ⇒

Es werden3 Seitentabellen zweiterStufebenötigt.

(1 Punkt)Wie viele Kaheln verwaltet dasBetriebssystem?

Gröÿe Hauptspeiher/ Gröÿe Kahel:

32 ∗ 2 20 / 2 10 = 32 ∗ 2 10

Kaheln 32K.

(3)

1.2 (9 Punkte)

Im Weiterensoll einevirtuelle Adressedurh vierDezimalzahlen für PT1, PT2, PT3und

Oset dargestellt werden. Beispiel: Die dezimalen Werte (11, 27, 33, 213) stehen für die

virtuelle Adresse010110011011 10000100011010101.

DiefolgendeAbbildungzeigteinenAusshnittausderSeitentabelleersterStufeundeinige

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

dritterStufestehennurdiesignikantenBits,sodassderOsetlediglihangehängtwerden

muss!

1 2 3 4 0

10 11

:

:

6180

:

PT2 PT1

3506 9748 3988 5742 4398

9748

6620

9028 5128 8040

:

1066 8742 7046 3248 1

2 0

1 2 3 0 Anfangsadresse

31

2901

98 :

6620

867

1066 741

42 1

0

3 :

930 9028

558 26

28 :

PT3

: :

:

27 331

2

108

6180

790 285 : 1 0 2

646

Diephysishe AdressesollinFormeiner Dezimalzahl dargestelltwerden.

ErgänzenSiediefehlendenWerteinderTabellesoweitmöglih.WennSieeinenWertniht

eintragen können,sobegründenSie diesbitte stihwortartig:

virt.Adresse phys.Adresse

1 2 28 123 952443

1 2 26 381

31 0 3 459

661846

216170

1 98 2 503

2 3 0 967

759574

virt. Adresse phys.Adresse

1 2 28 123 952443

1 2 26 381 571773

31 0 3 459 111051

1 98 0 342 661846

X 106 216170

1 98 2 503 292343

Y 2 3 0 967 - - -- -

31 0 0 790 759574

X:dieKahelnummer211 tauht inkeiner derangegebenen PT3auf.

(4)

Aufgabe 2 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 (die Zahlensindlediglih Beispiele!):

I-Node 3

D 1

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

Link-Count Direkter Block

Einfach indirekter Block Zweifach indirekter Block Dreifach indirekter Block 4

9 6

DieDaten sindalso übereinen direkten Blok,einen zweifahindirekten Blokund einen

dreifah indirekten Blok erreihbar. Ein Blok enthält 2048 Byte, ein Zeiger auf einen

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

2.1 (3 Punkte)

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

henshrittean.

2 1 1

Bytepro Blok/8Bytepro Zeiger =256 Zeiger pro Blok.

AnzahlBlöke:

1 + 256 + 256 2 + 256 3 =

16843009Blöke=34494482432 Byte(a.32GB)

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

Byte/Blok=

2 75

Byte.

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

=

100 ∗ 2 9

(51200) Blöke für Daten. Ein direkter Blok, 256 Blöke über den einfah indirekten Blok, 50943 über den zweifah indirekten

Blok. Hierkommen nohmals199 einfahindirekteBlökehinzu. D.h.eswerden zusätz-

lih zu den Datenblöken 200 einfah indirekte Blöke und ein zweifah indirekter Blok

benötigt.

Insgesamt: 51200 Blöke für Daten, 200 einfah indirekte Blöke, ein zweifah indirekter

(5)

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

Eintragbestehtausdem Namenund einem Verweis auf denI-NodederDatei.

. ..

home log.txt

2 8 6 2

I-Node 8 1

Block 1 . ..

8 2 4 5 notes.txt toDo.txt

I-Node 4 2

Block 2 I-Node 2

3

Block 3

I-Node 6 11

Block 11 I-Node 5

5

Block 5 /home/notes.txt

<EOF>

040708-s001 . . . 040708-s002 . . . 040708-pqr . . .

<EOF>

Am Dienstag scheint die Sonne verbreitet für 15 bis 16 Stunden . . .

. . . von einem oft wolkenlosen Himmel. <EOF>

4

Block 4 Block 7

7 D

R

D

S

R

test.txt 4

11

1 2 1

1 1

10

Block-Bitmap I-Node-Bitmap

0 1

0 1

. . . . . . 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0

1 1

0 1

Index 5 10 15

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 1

0 1 0

0 0 0

Abbildung 1:I-NodesundBlöke desDateisystems

Abb.1zeigtallevomDateisystemverwendetenI-NodesundBlökesowieeinenAusshnitt

derFreispeiherverwaltung.DerEintrag<EOF>bedeutet:GemäÿLängeneintragimI-Node

endet die Datei an dieser Stelle. Der erste Eintrag der Freispeiher-Bitmaps bezeihnet

den Blok 0bzw. den I-Node 0.DerWert1 bedeutet,dass derentsprehende Blokbzw.

I-Nodebelegt ist,derWert0 bedeutet,dass derentsprehende Blokbzw. I-Nodefrei ist.

2.4 (9 Punkte)

DasSystem enthält einigeInkonsistenzen. ListenSiedieEinträge auf,die fehlerhaftsind.

Z.B.BlokX,EintragYmüsstedenWertZhaben,I-Node-Bitmap,n-teStellemüssteden

Wert khaben.

2.5 (5 Punkte)

Die Datei log.txt wird um 2KB vergröÿert. Welhe Änderungen ergeben sih in dem

gegebenenDateisystem?DasSystemverwendetdafürnurBlökeabBlok15einshlieÿlih.

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

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

dereinenVerweis aufden Datenblok (15)enthält.

Änderungen: Im I-Node 6 Verweis auf indirekten Blok eintragen (16), Länge der Datei

anpassen(+2048).InderBlok-BitmapdieneubelegtenBlökealsbelegtmarkieren(z.B.

(6)

2.6 (3 Punkte)

EineDatei(XY.Z)bestehtauseinemI-NodeunddreiDatenblöken.Ein Programmönet

dieDateimitdemBefehlfopen(XY.Z, r+).DasProgrammliestdenerstenBlokund

übershreibt den Rest derDatei. Nehmen Sie an,dass die Stromversorgung des Rehners

ausfällt,währenddieDateiübershriebenwird.MitwelherStrategielässtsihverhindern,

dass die Datei in einen inkonsistenten Zustand kommt. Erläutern Sie das Vorgehen ggf.

mit einerSkizze.

Stihwort:CopyondWrite.Eskannniht zueineminkonsistentenZustandkommen,wenn

dieneuen Inhalte und ggf.Änderungen an indirektenBlöken inneue Blöke geshrieben

werden. Zuletztmuss dieWurzelderDateiineineratomarenAktionersetzt werden.Z.B.

indem eine neue Versionerstellt wird,die zuletzt durh Shreiben von einem Bit zurgül-

tigen Versionerklärt wird.

(7)

Aufgabe 3 Ersetzungsstrategien (8 Punkte)

Das Betriebssystem eines Rehners verwaltet einen Hauptspeiher mit 4 Kaheln. Das

Betriebssystem verwendet den NRU-Algorithmus. Auf dem System läuft ein Prozess mit

insgesamt 8 Seiten. Die Seiten der Prozesse werden gemäÿ der ersten Zeile derfolgenden

Tabellen referenziert.Dabeisteht 'r' fürlesendenZugri und'w'fürshreibenden Zugri.

DerEintrag ZS bedeutet, dass dieR-Bits durh NRU-Algorithmus zurükgesetzt werden.

InderSpalteuntereinemZugrisollendieFolgendiesesZugrisdagestelltwerden.Sowird

z.B. inderersten Spaltedurh den Zugri aufSeite 1diese Seite inKahel 3eingelagert.

DieSeiten 0,4,und 3wurden shonvorher eingelagert.

Ergänzen SiedieTabelle.

Seitenreferenz/Art desZugris

1/r 4/r 2/w ZS 4/r 3r 2/r 1/w ZS 3/r

K0 0(1,1) 0(1,1) 0(1,1) 0(0,1) 0(0,1) 0(0,1) 0(0,1) 1(1,1) 1(0,1) 1(0,1)

K1 4(1,0) 4(1,0) 4(1,0) 4(0,0) 4(1,0) 4(1,0) 4(1,0) 4(1,0) 4(0,0) 4(0,0)

K2 3(0,1) 3(0,1) 2(1,1) 2(0,1) 2(0,1) 2(0,1) 2(1,1) 2(1,1) 2(0,1) 2(0,1)

K3 1(1,0) 1(1,0) 1(1,0) 1(0,0) 1(0,0) 3(1,0) 3(1,0) 3(1,0) 3(0,0) 3(1,0)

(8)

Aufgabe 4 Synhronisation

C A

B S2

S1

S3

F D

E S5 S4

S6

Abbildung 2:Ein paralleles System in

Formeines Petri-Netzes DasfolgendePetri-NetzzeigtdieSynhronisati-

onvon2Prozessen

P

_

ABC

,und

P

_

DEF

.Es

handelt sih um ein Bedingungs-Ereignis-Netz.

DieTransitionen

A, B

und

C

gehörenzuProzess

P

_

ABC

,dieTransitionen

D, E

und

F

gehören

zuProzess

P

_

DEE

.

4.1 (2 Punkte)

Welhe Stellen müssen Sie als Semaphor reali-

sieren,umdiezweiProzessegemäÿ demobigen

Petri-Netz zusynhronisieren?

S5und S6

4.2 (3 Punkte)

Geben Sie den Quell-Code für die Prozesse

P

_

ABC

und

P

_

DEF

an. Sie können dazu

PseudoPasal verwenden (s. Skript von Frau

Keller)oder(Pseudo)Java.

Prozess P_ABC{

while(true){

A();

S5.up();

B();

S6.d o w n();

C();

}

}

Prozess P_DEF{

while(true){

D():

S5.up();

S5.d o w n();

E();

S6.up();

S6.d o w n();

F();

}

}

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

(9)

A E B

B E

D

E F

C

D

C F

A B

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

(10)

Aufgabe 5 Interprozesskommunikation

Zwei Prozesse auf einem Rehner sollen Daten austaushen. Die Prozesse sindniht mit-

einander verwandt. Ein Datensatz enthält zwei kurze Texte, zwei ganze Zahlen und drei

Gleitkommazahlen und dreieinzelne Buhstaben.Das Programmmuss voraussihtlih re-

gelmäÿig angepasstwerden, da sih dieZusammensetzung derDatensätze ändernkann.

Für die Interprozesskommunikation müssen Sie sih zwishen Shared Memory und einer

NamedPipe entsheiden. NennenSiekurz die spezishenVor- undNahteiledieser Ver-

fahrenfür diegegebene Aufgabe.

5.1 (3 Punkte)

Vorteil Pipe: Synhronisation übernimmt die Pipe, Lese- bzw. Shreibzugrie blokieren

beileere bzw. vollerPipe.SharedMemoryerfordert externeSynhronisation.

VorteilSharedMemory:(EinekomplexeDatenstrukturistleihterzuübertragen;dieDaten

müssen niht (um-)kodiert werden,wie beiPipes. SharedMemoryist Shneller.

(11)

Aufgabe 6 Sheduling (10 Punkte)

Ein Betriebssystem verwendet prioritätsbasiertes Sheduling. Der Sheduler wird aktiv,

wenn eine Zeitsheibe abläuft und wenn ein Prozesse einenSVC (Aufrufin den Betriebs-

system-Kernel) absetztunddadurh blokiertwird.

ˆ Wenn ein Prozess eine höhere Priorität besitzt als alle anderenProzesse, so darf er

laufen, sobaldderSheduler aktiv ist/war.

ˆ WenneinZeitsheibeabläuftpassiertfolgendes:DiePrioritätdesProzesses,dergera-

derehnet, wirdumden Wert 1vermindert.Die PrioritätenderProzesse,die bereit

sind,werdenumdenWert1erhöht.DanahermitteltderShedulerdenProzess,der

alsnähstes laufendarf.

ˆ Wenneinen ProzesseinenSVCabgesetzt, wirderblokiert. SeinePriorität wirdum

denWert1 erhöht.

ˆ DieminimalePrioritäteinesProzessistdieBasis-Priorität-2,diemaximalePriorität

eines Prozessistdie Basis-Priorität+2.

ˆ Wenn mehrere Prozesse die maximale Priorität besitzen und einer davon läuft, so

darf dieserweiterlaufen.

ˆ Wenn mehrere Prozesse die maximale Priorität besitzen und keiner davon läuft, so

darf derProzessmit derkürzesten Wartezeit alsnähster laufen.

(12)

Prozesse

ProzessNr. Basis-Priorität

1 5

2 6

3 7

4 6

Ereignisse

t 1

:Prozess P1,P2 und P3werdengestartet

t 2

:Ein Zeitsheibefür Multitasking läuft ab

t 3

:Prozess P3maht einenSVC(blokiert)

t 4

:Prozess P4wirdgestartet

t 5

:Ein Zeitsheibefür Multitasking läuft ab

t 6

:Ein Zeitsheibefür Multitasking läuft ab

t 7

:Prozess P2maht einenSVC(blokiert)

t 8

:Prozess P3wirddeblokiert

t 9

:Ein Zeitsheibefür Multitasking läuft ab

t 10

:Ein Zeitsheibefür Multitasking läuft ab

t 11

:Prozess P3maht einenSVC(blokiert)

Zeihnen SiedieZustände und diePrioritätenderProzesse indiefolgende Tabelle ein:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

P1 P2 P3 P4

t 5

6

7 6 7

7 7

6 7 6

6 7

6

7 7

ZS ZS

6 7 7

ZS

6 7

7 7

7 7

6 7

7 7

7 7

6 7

8 9

ZS ZS 7

9

7 8

8 7 7

Referenzen

ÄHNLICHE DOKUMENTE

Intuitively: The predicting algorithm produces an l-tuple according to q i−1 , given that z i−1 is generated by the PRBG. If dst answers 0, then it thinks that the l-tuple was

für das Stak-Segment oder kann der Stak über die vorhandenen Seitentabellen zweiter.. Stufe adressiert

Ein Betriebssystem verwendet Paging, um für die vershiedenen Prozesse jeweils einen vir-.. tuellen Hauptspeiher

mentiert werden, dass es niht in einen Deadlok geraten kann; wenn ja, wie; wenn nein,.

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

a) Die Register: Sie dienen als Zwischenspeicher für Daten und Befehle. b) Das Steuerwerk: Jeder einlangende Befehl wird hier decodiert und aktiviert ein entsprechen-

FIGURE 4·13.. The cartridge is inserted in the drive. The spindle motor is on and up to speed. The head is settled on the specified data track. The cartridge is in

This appendix presents tables of'P~chine opcodes and operator execution times.. Table C-l presents the opcodes, and Table C-2 presents the operator execution