• Keine Ergebnisse gefunden

6 Bit 5 Bit 9 Bit

N/A
N/A
Protected

Academic year: 2022

Aktie "6 Bit 5 Bit 9 Bit"

Copied!
13
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Datum,Zeit 22.Juli 2009,08:00 09:30Uhr(90min)

Aufgabenblätter 13 Seiten(einshl. Dekblatt)

erreihbare Punktzahl 67

zugelassene Hilfsmittel A (s.Prüfungsplan)

Studiengang Prf. Nr. Raum

AI 3618 H142

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 Summe

Max.Punkte 19 20 12 6 10 67

(2)

Aufgabe 1 Virtueller Speicher

EinBetriebssystemverwendetPaging,umfürdievershiedenenProzessejeweilseinenvir-

tuellenHauptspeiherzurealisieren.Dervirtuelle Speiherwirdauf56MB Hauptspeiher

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

28Bit.

6 Bit 5 Bit 9 Bit

PT1 PT2 PT3 Offset

8 Bit

Das Betriebssystem verwendet eine dreistuge Seitentabelle.

Die Länge derersten Seitenadresse (PT1) beträgt 6 Bit; die

LängederzweitenSeitenadresse(PT2)beträgt5Bit;dieLän-

gederdritteSeitenadresse(PT3)beträgt8Bit;dieLängedes

Osetsbeträgt9Bit.EinProzessbelegtfürdaText-unddas

Heap-Segement stetsAdressenvon0beginnendaufwärts,für dasStak-Segment belegter

Adressenvon

2 27 − 1 = 134 217 727

beginnend abwärts.

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

GröÿedesSpeiherbereih XY dividiert durh Anzahl Z.

1.1 (11 Punkte)

Ein Prozessbelegtfolgende Adressbereihe:

Prog. Teil Adressbereih Gröÿe inByte

Text-Segment 0 - 417000 417001

Heap-Segment 417001 - 30650070 30233070

Stak-Segment 133951109 134217727 266619

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

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

(1 Punkt)Wie groÿ (inByte)ist ist eineSeite, wiegroÿist eine Kahel?

(1 Punkt)Wie viele Seiten belegt dasStak-Segment?

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

dasHeap-Segment benötigt?

(2Punkte)BenötigtdasSystemeine(odermehrere)weitereSeitentabelle(n)zweiterStufe

(3)

Stufeadressiertwerden (Begründung)?

(1 Punkt)Wie viele Kaheln verwaltet dasBetriebssystem?

(1 Punkt) Auf welhe Gröÿe kann der physishe Speiher maximal ausgebaut werden

(Hauptspeiherplus Swap-Spae)?

1.2 (8 Punkte)

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

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

virtuelle Adresse100001 0110100111000001110100.

DiefolgendeAbbildungzeigteinenAusshnittausderSeitentabelleersterStufeundeinige

Ausshnitteausden Seitentabellen zweiterunddritterStufe.Ahtung:Inden Seitentabel-

len dritter Stufe stehen nur die signikanten Bits, so dass der Oset lediglih angehängt

werdenmuss!

1 2 3 4 0

10 11

:

:

4055

:

PT2 PT1

1193 8051 2177 2974 3652

8051

9638 3199 7224

:

1066 5012 7046

9295 1

2 0

1 2 3 0 Anfangsadresse

63

6091

31

5417

967 441

42 1

0

:

830 558

255

PT3

: :

: 331 2

108 790

285

: 1 0 2

716 4055

7046 9295

254 1 0

62

6091

Diephysishe AdressesollinFormeiner Dezimalzahl dargestelltwerden.

ErgänzenSiediefehlendenWerteinderTabellesoweitmöglih.WennSieeinenWertniht

(4)

virt.Adresse phys.Adresse

1 0 2 491 425451

0 18 244 418

62 31 254 81

1 3 0 375

366717

114000

(5)

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:

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

Direkter Block

Länge und weitere Attribute

Auÿer den angegebenen Attributen Die Daten sind also über drei direkte Blöke, einen

einfahindirektenBlokundeinenzweifahindirektenBlokerreihbar. EinBlokenthält

4096 Byte,einZeiger aufeinen Blokenthält16 Byte.I-Nodesenthalten nieselbstDaten

einer Datei.

2.1 (3 Punkte)

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

henshrittean.

2.2 (2 Punkte)

Wie groÿkanndasDateisystem maximalsein (Begründung)?

2.3 (3 Punkte)

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

denPlatz,derimDatei-Verzeihnis(Diretory)belegtwirdundebenfallsnihtden Platz,

(6)

2.4 (8 Punkte)

/

etc users

notes.txt btx.cip

hrw.pic

gen.cfg didi

Verzeihnisse sind Dateien, die zu jeder verwalteten

DateieinenEintragenthalten.EinEintragbestehtaus

demNamenundeinemVerweisaufdenI-NodederDa-

tei. Die nebenstehende Skizze zeigt ein Dateisystem;

esgibtindiesem Dateisystemkeine anderenDateien.

Die Dateien / (Wurzel-Verzeihnis), et, users und

didi sind Verzeihnisse. Die Datei btx.ip ist ein

Hard-Link, der auf hrw.pi verweist. Die Datei

notes.txtisteinSoft-Link,deraufgen.fgverweist.

DieDateigen.fg ist 5KBgroÿ, sie beginntmit Do

not hange ... und endetmit ...to refresh..

Abb.1zeigtallevomDateisystemverwendetenI-NodesundBlökesowieeinenAusshnitt

derFreispeiherverwaltung.Ergänzen SiedieSkizzeanden mit

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

. ..

hrw.pic 4 7

I-Node 4

29

Block 25 . ..

3 2 6 notes.txt

btx.cip

I-Node 3 Block 26

I-Node 2

26

Block 24

Block 22 I-Node 6

32

Block 23 Block 29

D 1 D

1

Block-Bitmap I-Node-Bitmap

X X 1

. . . . . .

1 1 1 0 0 X X

1 1

Index 25 30 35

0 0 0 X X X

X 20 I-Node 5

24

Block 32 I-Node 7

23

1 #black_ink 1

#cyan_ink 1

#magenta_ink 1 . . . <eof>

1 1 1 1

. ..

etc users

2

3 2

. ..

5 9 didi

gen.cfg 7

Block 31 I-Node 9

R 1 Do not change

. . .

0 5 10 15

. . .

to refresh. <eof>

1

Abbildung 1: 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

bedeutet, dassderentsprehende Blok bzw.I-Nodefrei ist.

2.5 (2 Punkte)

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

(7)

Blöke 33, 34, 35 .... Wenn das System zusätzlihe I-Nodes verwendet, so sind dies die

I-Nodes10,11, 12....

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

2.6 FAT Datei-System (2 Punkte)

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

Gröÿe eines Bloks beträgt 2KB,einZeiger auf einenBlokbestehtaus3 Byte

(8)

Aufgabe 3 Ersetzungsstrategien

DasBetriebssystemeinesRehnersverwalteteinenHauptspeihermit5Kaheln.Aufdem

SystemlaufenProzessemit insgesamt 7Seiten.DieSeiten derProzesse werdengemäÿder

ersten Zeile der folgenden Tabellen referenziert. Wird eine Seite referenziert, so soll die

Wirkung inderzugehörigenSpalte dargestelltwerden.

3.1 Clock-Algorithmus (7 Punkte)

DasBetriebssystemverwendetdenClok-Algorithmus.Bsp.:InderSpalte,inderdieSeite

0referenziertwird,istdargestellt,dassdieSeite0indenHauptspeihereingelagert wurde.

Zahl in Klammern gibt den Wert des R-Bits an, der * Bezeihnet den Zeiger des Clok-

Algorithmus.

SeitenNr. 0 1 2 3 4 5 6 3 1 7 4

K1 0(1) 0(1)

K2 * 1(1)

K3 *

K4

K5

Zweite Tabelle fürevtl. Korrekturen:

SeitenNr. 0 1 2 3 4 5 6 3 1 7 4

K1 0(1) 0(1)

K2 * 1(1)

K3 *

K4

(9)

3.2 Optimale Strategie (5 Punkte)

WiewürdedieErsetzunggemäÿderoptimaleStrategieaussehen?FüllenSienurdieFelder

ohne 'X'aus.

SeitenNr. 0 1 2 3 4 5 6 3 7 1 3 6 4 5 2 0

K1 0 0 0 0 0 X X X X X X

K2 1 1 1 1 X X X X X X

K3 2 2 2 X X X X X X

K4 3 3 X X X X X X

K5 4 X X X X X X

Zweite Tabelle fürevtl. Korrekturen:

SeitenNr. 0 1 2 3 4 5 6 3 7 1 3 6 4 5 2 0

K1 0 0 0 0 0 X X X X X X

K2 1 1 1 1 X X X X X X

K3 2 2 2 X X X X X X

K4 3 3 X X X X X X

(10)

Aufgabe 4 Funktionsaufruf (6 Punkte)

EinCompilerverwendetnurdenStak,umDatenzwishenvershiedenenFunktioneneines

Programms auszutaushen. FolgendesProgramm ist gegeben:

1 int foxi(int *, har[℄);

2

3 int fix (har word[℄ , int value) {

4 int result = 1;

5 result = foxi( &value , word);

6 return result * 2;

7 }

8

9 int foxi(int *result , har line [℄){

10 *result = line [0℄;

11 line [0℄ = 68;

12 return 42;

13 }

14

15 int main (void){

16 short result = 0;

17 har line [℄ = "Lupo";

18 result = fix(line , 10);

19 printf("\n line : %s\n\n", line );

20 return result;

21 }

Ergänzen SiedieSkizzedesStaks auf dernähsten Seite zu folgendenZeitpunkten:

t 1

nahZeile17unmittelbarvordemFunktionsaufruffix(...)

t 2

nahZeile10unmittelbarvorderAnweisungline[0℄ = 68;

t 3

inZeile 6unmittelbar vor demRüksprung zuraufrufenden Funktion

Verwenden Sie dabeifolgende Symbole:

−→

Pointer

Variable/Speiherstelle angelegtaberniht initialisiert

xxx Variable/Speiherstelle besitzt einenunbekanntenWert

sp

Stelle, auf diederStakpointer zeigt

AusshnittausderASCII-Code-Tabelle:

D L o p u

68 76 111 112 117

Hinweis: Es sind vershiedene Varianten möglih. Ahten Sieaber bitte darauf, dass Ihre

(11)

line

result 0

L, u, p, o, 0

main() main() main()

t 1 t 2 t 3

. . . . . . . . . . . . . . . . . . . . . . . .

line result

line

result

(12)

Aufgabe 5 Synchronisation

DasfolgendePetri-NetzzeigtdieSynhronisation vondrei Prozessen

P

_

AC

,

P

_

BD

und

P

_

E

. Es handelt sih um ein Bedingungs-Ereignis-Netz. Die Transitionen

A, C

gehören

zu Prozess

P

_

AC

,dieTransitionen

B, D

gehören zumProzess

P

_

BD

,dieTransition

E

gehörtzu Prozess

P

_

E

.

C

A B

S2 S1

D E

S3 S4

Abbildung 2:Ein parallelesSystem inForm einesPetri-Netzes

5.1 (2 Punkte)

WelheStellenmüssenSiealsSemaphorrealisieren,umdiedreiProzessegemäÿdemobigen

Petri-Netz zusynhronisieren?

5.2 (3 Punkte)

GebenSiedenQuell-CodefürdieProzesse

P

_

AC

,

P

_

BD

und

P

_

E

an.Siekönnendazu

PseudoPasal verwenden (s. Skriptvon Frau Keller)oder(Pseudo)Java.

Prozess P_AC{ Prozess P_BD{

(13)

Prozess P_E{

}

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

5.4 (2 Punkte)

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

Referenzen

ÄHNLICHE DOKUMENTE

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-

1) Reset. This has highest priority. This has second highest priority. This has third highest priority. This has lowest priority. you execute XOP instructions to

SED1065 built in, SoundGenerator, SupplyVoltageDetection Watchdog, 10bit A/D Converter, HighSpeedOperation, no access to ext. 16bit timer) SoundGenerator, Display Memory, Clock

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

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

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

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

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