07.01.2015 Views

Tentamen i Operativsystem och Distribuerade System, DPT202 ...

Tentamen i Operativsystem och Distribuerade System, DPT202 ...

Tentamen i Operativsystem och Distribuerade System, DPT202 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Tentamen</strong> i <strong>Operativsystem</strong> <strong>och</strong> <strong>Distribuerade</strong> <strong>System</strong>,<br />

<strong>DPT202</strong>/DET302<br />

Onsdagen den 12 januari, 2000, kl 9-14<br />

Tillåtna hjälpmedel: Miniräknare<br />

Endast lösningen till EN uppgift PER BLAD<br />

Skriv NAMN på varje blad<br />

Om du tycker att det saknas information/data/värden i någon uppgift,<br />

så gör rimliga antagenden <strong>och</strong> redovisa dem. Alla svar ska motiveras!<br />

Maxpoäng: 50 poäng<br />

LYCKA TILL!<br />

Uppgift 1 (10p)<br />

Denna uppgift består av tio olika delfrågor med tre olika svarsalternativ (1, X, 2) till varje delfråga.<br />

Rätt svar på en delfråga ger en poäng (+1p), fel svar ger minus en poäng (-1p) <strong>och</strong> inget svar ger<br />

noll poäng (0p) på den delfrågan. Maxpoäng på uppgiften är 10 poäng <strong>och</strong> lägsta är 0 poäng (man<br />

kan alltså inte på minuspoäng på uppgiften som helhet). Svarsblankett finns på sista bladet. På<br />

denna uppgift behöver endast svar anges.<br />

a) Vilken av följande scheduleringsalgoritmer ger kortast medelväntetid<br />

1) Round-robin<br />

X) First-come, first-served<br />

2) Shortest-job-first<br />

b) Vilken av följande operationer får inte göras i användarmode (‘user mode’) utan bara i priviligierad<br />

mode (‘system/superviser mode’)<br />

1) Sätta på avbrott<br />

X) Stänga av avbrott<br />

2) Byta från ‘user mode’ till ‘system mode’<br />

c) Givet ett system med n st körbara processer. På hur många olika sätt kan man schemalägga dessa<br />

processer, dvs i hur många olika ordningar kan de exekveras<br />

1) n!<br />

X) 2n<br />

2) n 2<br />

d) Vilken uppgift har en MMU (Memory Management Unit)<br />

1) Att allokera dynamiskt minne.<br />

X) Att översätta logiska adresser till fysiska adresser.<br />

2) Att hålla reda på vilka delar av hårddisken som är lediga.<br />

e) I ett visst virtuellt minnessystem är en virtuell adress 28 bitar lång, en fysisk adress 24 bitar <strong>och</strong> sidstorleken<br />

4 Kbyte. Hur mycket minne går åt till en sidtabell i en nivå om varje rad i tabellen är 4<br />

bytes<br />

1) 256 kbyte<br />

X) 1 Mbyte<br />

2) 64 kbyte


f) Antag ett segmentindelat minne med följande segmenttabell:<br />

Segment Base Limit<br />

0 128 37<br />

1 527 100<br />

2 650 1024<br />

Vilken fysisk adress motsvarar den logiska adressen <br />

1) 203<br />

X) 175<br />

2) 602<br />

g) Antag en hårddisk som snurrar med 7500 varv/minut. Hur lång är rotationsfördröjningen (‘rotational<br />

delay’) i genomsnitt<br />

1) 0.1 ms<br />

X) 4 ms<br />

2) 8 ms<br />

h) Antag en hårddisk som snurrar med 7500 varv/minut. Hur lång är överföringtiden (‘transfer time’)<br />

för ett block om det ryms 32 block per spår<br />

1) 0.25 ms<br />

X) 0.1 ms<br />

2) 0.0125 ms<br />

i) Hur lång är den totala söktiden (‘seek time’) om 8 block ska läsas från en hårddisk under följande<br />

förutsättningar: läshuvudet befinner sig vid cylinder 53 från början, det tar 0,1 ms att flytta läshuvudet<br />

från en cylinder till nästa, blocken läses från cylindrarna 98, 183, 73, 122, 14, 124, 65, 67 <strong>och</strong><br />

‘shortest-seek-first’ algoritmen används för att flytta läshuvudet<br />

1) 64,0 ms<br />

X) 23,6 ms<br />

2) 20,8 ms<br />

j) Ett motiv för distribuerade system är att tillgängligheten ska bli högre. Säg att vi har ett system med<br />

5 datorer <strong>och</strong> sannolikheten att en maskin krashar är 10%. Hur stor är då sannolikheten att alla 5 är<br />

nere<br />

1) 10%<br />

X) 0.1%<br />

2) 0.001%<br />

Uppgift 2 (12p)<br />

a) Betrakta följande ögonblicksbild av ett system med fem processer (P 0 - P 4 ) <strong>och</strong> fyra olika resurstyper<br />

(A, B, C, D):<br />

Allocation Max Available<br />

A B C D A B C D A B C D<br />

P 0 0 0 1 2 0 0 1 2 1 5 2 0<br />

P 1 1 0 0 0 1 7 5 0<br />

P 2 1 3 5 4 2 3 5 6<br />

P 3 0 6 3 2 0 6 5 2<br />

P 4 0 0 1 4 0 6 5 6<br />

Besvara med hjälp av Banker’s algorithm följande frågor:<br />

Vilket är innehållet i matrisen ‘Need’ (1p)<br />

Är systemet i ett säkert tillstånd (‘safe state’) (1p)<br />

Om processen P 1 begär resurserna (0,4,2,0), kan denna resursbegäran godkännas direkt (2p)


) Förklara skillnaden mellan ett internt avbrott (TRAP) <strong>och</strong> ett externt avbrott. (1p)<br />

c) Förklara vad som händer vid ett avbrott (vad hårdvaran respektive operativsystem gör) (2p)<br />

d) I ett operativsystem finns ett antal olika schemaläggare (‘schedulers’). Förklara hur följande tre<br />

schemaläggare arbetar: short-term scheduler, medium-term scheduler <strong>och</strong> long-term scheduler.<br />

(3p)<br />

e) Ge två exempel på hur trådar (‘threads’) kan implementeras. Förklara hur de skiljer sig åt samt för<br />

<strong>och</strong> nackdelar med respektive sätt. (2p)<br />

Uppgift 3 (8p)<br />

a) Beskriv två metoder för att hålla reda på ledigt minne (funktion, för <strong>och</strong> nackdelar). (2p)<br />

b) Förklara kortfattat vad segmenterat respektive sidindelat minne är. Det ska klart framgå hur<br />

adressöversättningen går till. Diskutera även för <strong>och</strong> nackdelar. (2p)<br />

c) Antag ett virtuellt minnessystem med 4 sidramar. Ett program som körs refererar (läser eller<br />

skriver) virtuella sidor i följande ordning: 0, 1, 3, 0, 2, 4, 3, 5, 4, 1, 3.<br />

Visa vilka sidor som finns i vilka sidramar när programmet har exekverat klart om sidutbytesalgoritmen<br />

LRU används. Hur många sidfel genererades Antag att alla sidramar är tomma när programmet<br />

startar. (2p)<br />

d) I ett virtuellt minnessystem kan en vanlig sidtabell i en nivå bli väldigt stor. Beskriv två sätt att minska<br />

storleken på sidtabellen (funktion, fördel/nackdel). (2p)<br />

Uppgift 4 (8p)<br />

a) En fil lagras i ett antal block på hårddisken. Beskriv två olika metoder för att hålla ordning på i<br />

vilka block filen är lagrad. Nämn också någon för <strong>och</strong> nackdel med respektive metod. (2p)<br />

b) Förklara kortfattat vad Direkt MinnesAccess (DMA) är <strong>och</strong> hur det fungerar. (2p)<br />

c) Beskriv de olika nivåer av mjukvara som I/O-system brukar delas in i. (2p)<br />

d) Vad innebär det att en filserver är tillståndslös (‘stateless’) Ange även någon för <strong>och</strong> nackdel med<br />

detta. (2p)<br />

Uppgift 5 (12p)<br />

a) Nämn två fördelar <strong>och</strong> två nackdelar med distribuerade system. (2p)<br />

b) Ett sätt att öka prestandan i distribuerade filsystem är att använda fil-caching. Hur fungerar caching,<br />

var kan det ske, vilka problem kan uppkomma (<strong>och</strong> även varför) (2p)<br />

c) Vad är filreplikering <strong>och</strong> varför vill man ha det Skillnaden mellan replikering <strong>och</strong> caching ska klart<br />

framgå. (3p)<br />

d) Beskriv en distribuerad algoritm för ömsesidig uteslutning (funktion, fördel, nackdel). (2p)<br />

e) Varför behövs valalgoritmer (‘election algorithms’) i distribuerade system Beskriv även en valalgoritm<br />

(funktion, fördel, nackdel). (3p)


Svarsblankett till uppgift 1.<br />

1 X 2<br />

a<br />

b<br />

c<br />

d<br />

e<br />

f<br />

g<br />

h<br />

i<br />

j

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!