Tentamen Inst. för Informationsteknologi Avdelningen för Datorteknik Herbert P Sander Tel: 070 376 06 87 Ämne: Operativsystem Lokal: Post Scriptum, sal 2 Datum: Måndagen den 13 maj 2002 Tid: Kl 09.00-14.00 Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör. Maxpoäng: 100 Lösningsförslag Betygsgränser: Fysik 3:a 40p, 4:a 60p och 5:a 80p Fristående G 40p och VG 75p Innan Du börjar: Skriv inga svar i detta häfte Börja varje uppgift på ett nytt lösblad Skriv Ditt namn och personnummer på varje blad Numrera lösbladen löpande Motivera alla svar väl Lycka till!
Uppgift 1 Vilka ändamål tjänar operativsystem? Att tillhandahålla en omgivning för en datoranvändare för exekvering av program på datorns hårdvara på ett bekvämt och effektivt sätt. Att allokera en dators resurser efter behov för att lösa ett givet problem. Allokeringsprocessen skall vara rättvist och så effektivt som möjligt. Som styr och övervaknings enhet tjänar det två syften: (1) övervakning av exekveringen av user program för att hindra fel och felaktig användning av datorn, och (2) hantering av styrningen av I/O devices. Uppgift 2 Ange namnet på tre olika typer av schemaläggare (schedulers) för processer och tala om vilken funktion respektive schemaläggare har. Uppgift 3 Betrakta följande samling av processer där längden av CPU skurar (CPU-bursts) är givna i millisekunder. Process Burst Time Priority P 1 11 4 P 2 2 1 P 3 3 4 P 4 1 3 P 5 6 2 Processerna antages har anlänt i ordningen P 1, P 2, P 3, P 4, P 5 alla vid tiden 0. a. Rita fyra Ganttdiagram som illustrerar exekveringen av dessa processer när man använder FCFS, SJF, en nonpreemptiv prioritets (ett mindre prioritetsnummer implicerar en högre prioritet), och RR (tidskvantum = 1) schemaläggning. (5p) b. Vad är väntetiden för varje process för varje av de olika schemaläggningsalgoritmerna under a)? (3p) 13 maj 2002 Tentamen i Operativsystem Sida 2 av 6
c. Vilken schemaläggningsalgoritm resulterar i minimal medelväntetid? (2p) Uppgift 4 P 1 P 2 P 3 P 4 P 5 Readers-Writers problemet tillhör de klassiska synkroniserings problemen. Beskriv ingående problemställningen (4p) samt ge ett lösningsförslag till problemet (6p). Readers och writer processerna delar på följande datastrukturer: semaphore mutex, wrt; int readcount; Strukturen på writer processen blir wait (wrt) utför skrivandet signal(wrt) Strukturen för reader processerna är wait(mutex) readcount++ if (readcount ==1) wait(wrt); signal(mutex) utföt läsandet wait(mutex); readcount--; if (readcount == 0) signal(wrt); signal(mutex); 13 maj 2002 Tentamen i Operativsystem Sida 3 av 6
Uppgift 5 a. Vad menas med begreppet låsning (deadlock)? (3p) b. Nämn olika villkor som måste vara uppfyllda samtidigt för att låsning skall kunna inträffa. (3p) c. Förklara hur man genom att undvika dessa händelser kan undvika uppkomsten av låsning. (4p) a. A set of processes is deadlocked if each process in the set is waiting for an event that only another process in the set can cause b. Nödvändiga villkor för låsning. Ömsesidig uteslutning Partiell allokering No Preemption Cyclisk väntan Uppgift 6 Jämför sidersättningsalgoritmerna (page replacement algorithms) a. FIFO, b. LRU och c. Optimal med avseende på antalet sidfel (page faults) för följande referenssträng (page reference string) 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6. och fyra sidramar (page frames). Antag att alla sidramar (page frames) är initialt tomma. Uppgift 7 Redogör för metoderna a. sammanhängande allokering (contiguous allocation) (3p), b. länkad allokering (3p), och c. indexerad allokering (4p), så som de används då filer sparas i ett filsystem och redogör under vilka omständigheter den ena eller andra är mest lämpad. 13 maj 2002 Tentamen i Operativsystem Sida 4 av 6
Uppgift 8 I ett system med demand paging och fyra processer gjordes mätningar av utnyttjandegraden för CPU och disk. Beskriv vad som händer i de olika situationerna, och vad som skulle kunna göras för att förbättra läget t.ex. öka antalet processer, ändra sidhanterings strategin, etc. CPU Disk a) 12% 94% b) 86% 4% c) 17% 4% a. Situationen kan anses vara nära s.k. thrashing. CPU:n väntar största delen av tiden på sidor från disken vid sidfel. Om vi har flera processer förvärras läget troligen betydligt. En annan sidhanteringsstrategi skulle kunna förbättra läget. b. CPU:n arbetar bra, få sidfel tydligen, CPU:n verkar ganska hård belastad. Flera processer kan öka utnyttjandegraden ytterligare. c. CPU:n har låg belastning. Flera processer kan execveras utan problem. Uppgift 9 Antag att en disk har 1000 cylindrar numrerade från 0-999. Läshuvudet befinner sig just nu på cylinder 112. Kön (i FIFO ordning) som skall läsas är 117, 446, 19, 751, 362, 889. I vilken ordning och hur långt räknat i antalet cylindrar måste huvudet färdas för att bearbeta kön om man använder sig av nedanstående disk schemaläggnings ( disk-scheduling) algoritmer: a. FIFO, (2p) b. SSTF, (2p) c. SCAN, (2p) d. LOOK, (2p) e. C-SCAN. (2p) Uppgift 10 a. Operativsystemet håller reda på användarnas lösenord i en särskild lösenordsfil. Om en godtycklig användare av någon 13 maj 2002 Tentamen i Operativsystem Sida 5 av 6
anledning skulle kunna läsa denna fil skulle lösenordsskyddet inte längre kunna garanteras. Föreslå en metod för att förebygga problemet. (5p) b. Vad är skillnaden mellan symmetrisk och asymmetrisk kryptering? (5p) a. Genom intern krypering av lösenord så att de lagras i filen på kryterad form. Den enda personen som har tillgång till dekrypterings informationen är system operatören. b. Det finns två typer av av nyckelbaserade krypteringsalgoritmer: symmetriska och asymmetriska. Symmetriska algoritmer använder för det mesta samma nyckel för både kryptering och dekryptering. Asymmetriska algoritmer å andra sidan använder olika nycklar för kryptering och dekryptering. Krypteringsnyckeln kallas hemliga nyckeln (private eller secret) medans dekrypteringsnyckeln kallas offentliga nyckeln (public key). Symmetriska algoritmer är alltmänt snabbare än assymetriska algoritmer. 13 maj 2002 Tentamen i Operativsystem Sida 6 av 6