Tentamen i Operativsystem och Distribuerade System, DPT202 ...
Tentamen i Operativsystem och Distribuerade System, DPT202 ...
Tentamen i Operativsystem och Distribuerade System, DPT202 ...
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