Examen besturingssystemen Zaterdag 26 januari 2013, 14u00 Prof. Koen De Bosschere Richting: Naam: Belangrijk 1. Vergeet niet uw naam te vermelden. 2. Schrijf de antwoorden in de daarvoor voorziene ruimte. Bereid uw antwoord voor in het klad, en schrijf het naderhand over. De antwoorden zijn meestal kort. 3. Het examen duurt 3 uur. 4. Gelieve geen rode inkt te gebruiken. 5. Het examen is open boek. 6. U mag geen computer gebruiken bij de oplossing van de vragen. 7. Gelieve uw mobieltje uit te schakelen. 8. Onregelmatigheden worden aan de examencommissie gemeld. Veel succes! Ik verklaar op erewoord dat ik noch hulp geboden heb aan, noch hulp ontvangen heb van derden tijdens het oplossen van dit examen. Handtekening: Schrijf hier eventuele opmerkingen die van belang kunnen zijn bij de quotering (ziekte, topsport, gemaakte afspraken, enz.).
Vraag 1 (4 punten) Modelleer een metrostation met 1 perron. Passagiers komen op het perron en wachten totdat er een plaats op een trein vrijkomt. Alle treinen hebben dezelfde bestemming en hebben n beschikbare plaatsen bij aankomst. Treinen vertrekken van zodra ze vol zijn, of van zodra er geen wachtende passagiers meer zijn. Init{ Vraag 1 (4 punten) Ontwerp een monitormodule die toelaat om een draad gedurende een vooraf bepaalde tijd te doen slapen. De monitor heeft twee publieke routines: - sleep(int ms) die een draad gedurende ms milliseconden naar de geblokkeerde lijst stuurt, en deze nadien terug vrijgeeft in de klaarlijst. - tick() die automatisch om de 100 µs door de kern van het besturingssysteem zal opgeroepen worden. } Je mag ervan uitgaan dat er op elk ogenblik maar 1 slapende draad kan zijn. Metroproces(int n) { } Passagierproces() { }
Vraag 2 (4 punten) Gegeven de volgende architectuur: 64 bit virtuele adressen 256 KiB paginagrootte, gealigneerde pagina s 256 TiB fysiek geheugen 2 niveaus van paginatabellen, 64Mi elementen in niveau 2, gealigneerd op een paginagrens. Geen extra toestandsbits. Teken hieronder het vertalingsschema met de uitbreiding dat alle tabellen een variable lengte moeten kunnen aannemen (de 64 Mi elementen in niveau 2 zijn dus een maximum en hoeven niet allemaal gealloceerd te worden). Welke aanpassingen (o.a. extra informatiebits) zijn er allemaal nodig in vergelijking met het schema met tabellen met vaste grootte? Geef duidelijk aan op welke manier de vertaling verloopt, inclusief de breedte van de velden.
Heel wat adresvertalingsmechanismen bieden de mogelijkheid om ook met grote pagina s te werken. In de praktijk komt het er vaak op neer dat op het voorlaatste niveau van de adresvertaling er niet gewezen wordt naar een paginatabel, maar meteen naar een blok fysiek geheugen ter grootte van een het bereik van een volledig gealloceerde paginatabel. Geeft twee nadelen en twee voordelen van deze aanpak. Voordelen: Nadelen:
Vraag 3 (3 punten) Gegeven een lijst met twee vrije blokken: 28 KiB en 16 KiB groot (in die volgorde). Creëer drie allocatiescenario s met maximaal drie blokken die ervoor zorgen dat 1/ First fit succesvol is en best fit faalt. 2/ Best fit succesvol is en first fit faalt 3/ Worst fit succesvol is en best fit faalt
Vraag 4 (4 punten) Gegeven de volgende proceslijst. Proces Aankomst Burst Blokkeert Burst Blokkeert Burst Blokkeert Burst P1 0-ε 1 1 2 1 3 1 4 P2 0 4 1 3 1 2 1 1 Teken het planningsdiagramma (geblokkeerd = tijd in lijst met geblokkeerde processen). Indien twee processen tegelijk in de klaarlijst aankomen moet je ervan uitgaan dat het proces dat gedeblokkeerd werd eerst aankwam. MFQ scheduler met als kwanta 1 en 2 tijdseenheden, niet-preëmptief MFQ scheduler met als kwanta 1 en 2 tijdseenheden, preëmptief Round robin met een tijdskwantum van 1 tijdseenheid Shortest remaining time first
Vraag 5 (3 punten) Gegeven een inode bestandssysteem met pointers van 8 bytes, blokken van 8KiB, 10 directe pointers, 1 indirecte, 1 dubbel indirecte en 1 tripel indirecte. Bereken de maximale grootte van een bestand. Indien we deze maximale grootte willen opvoeren, wat zou dan het effect zijn van (i) een verdubbeling van de blokgrootte (inclusief indexblokken), (ii) het toevoegen van een quadrupel indirecte pointer op die maximale bestandsgrootte? Verdubbeling blokgrootte Bijkomende indirectie Wat zou in deze gevallen de leessnelheid zijn (in s) van een bestand van 8GiB voor een gemiddelde leessnelheid van 0.5 ms voor een blok van 8 KiB en 0.6 ms voor een blok van 16 KiB? Begin met het bepalen van het totaal aantal in te lezen blokken. Verdubbeling blokgrootte Bijkomende indirectie
Wat zou de extra ruimteoverhead zijn voor 1 Mi bestanden van gemiddeld 1 MiB groot (± 5%) voor de beide gevallen. Met extra ruimteoverhead wordt bedoeld t.o.v. het standaardschema uit de eerste deelvraag. Verdubbeling blokgrootte Bijkomende indirectie
Vraag 6 (2 punten) Welke effect heeft het vergroten van de sectorgrootte van een schijf op de bruikbare schijfcapaciteit? Wat is de toekomst van RAID in het licht van de opkomst van solid state disks (SSD)?