MODULEWIJZER HOGESCHOOL ROTTERDAM/CMI HOGESCHOOL ROTTERDAM / CMI Operating Systems TIRCMS02 en TIRCMS03 Aantal studiepunten: 2 ects per module Modulebeheerder: L.V. de Zeeuw Goedgekeurd door: (namens toetscommissie) Datum: TIRCMS02-03 24-7-2017 1 MODULEWIJZER HOGESCHOOL ROTTERDAM/CMI Modulebeschrijving Modulenaam: Modulecode: Aantal studiepunten en studiebelastinguren: Vereiste voorkennis: Werkvorm: Toetsing: Leermiddelen: Computersystemen (Besturingssystemen) TIRCMS02/TIRCMS03 2 ects Activiteit Eenheid [uur Aantal [wkn] Hoorcollege 2 8 Begeleide practica 2 8 Literatuurstudie (theorie) 2 8 Toets voorbereiding 8 1 Totaal TIRCPS01 (Computersystemen) Hoorcollege en practicum Schriftelijk tentamen (open vragen), practicumopdrachten Boek: Uren 16 16 16 8 56 Titel: Auteur: Uitgever: ISBN Operating Systems ( Design and Implementation) 3/E A.S. Tanenbaum Prentice Hall , 1997 ISBN-10: 0131429388 ISBN-13: 9780131429383 Practicum handleiding TIRCMS02/TIRCMS03 Deze module wijzer, ondersteunend materiaal, practicum handleiding, powerpoint presentaties, etc: http://www.misc.hro.nl/telematica/ Draagt bij aan (HBO-i) Analyseren (niveau 1) competentie: Ontwerpen (niveau 1) Realiseren (niveau 1) De modules TIRCMS02 en TIRCMS03 hebben als doel om de student inzicht en Leerdoelen: vaardigheid te geven in operating systemen. Inhoud: TIRCMS02 TIRCMS03 1 introduction What is an operating system? History of operating systems Operating system concepts System calls Operating system structure 2 processes Introduction to processes Interprocess communication Classical ipc problems Scheduling Opmerkingen: Modulebeheerder: Datum: TIRCMS02-03 24-7-2017 4 memory management Basic memory management Swapping Virtual memory Page replacement algorithms Design issues for paging systems Segmentation 5 file systems Files Directories File system implementation Security Protection mechanisms 3 input/output Principles of i/o hardware Principles of i/o software Deadlocks Ram disks Practicum programmeren in C (hardware niveau). 1. Aanroep system-calls (bv de klok uitlezen, file openen) 2. Compileren 3. Linken en loaden 4. Debuggen (registers en geheugen, IO) Geen L.V. de Zeeuw 10 juni 2011 2 MODULEWIJZER 1. HOGESCHOOL ROTTERDAM/CMI Algemene omschrijving De modules TIRCPS02 en TIRCPS03 gaan over operating systems ( besturingssystemen). De aandacht van hedendaagse operting systems gaat veel uit naar het configureren en installeren van de verschillende operating systems. Deze modules proberen een theoretische achtergrond te bieden voor de meest gebruikte operating systemen. Alle moderne besturingsystemen zijn in de taal C geschreven. C vormt nog steeds de basis van vele applicaties. De programmeertaal is eenvoudig van opzet en efficient op het gebied van performance en flexibiliteit. Hoewel C niet de ideale programmeertaal is voor grote applicaties met gebruikers interfaces is het wel de basis van het besturingssysteem, drivers en low-level API’s. Beide modules richten zich daarom ook op C. 1.1 Inleiding Een goed inzicht in de concepten van operating systems vergemakkelijkt het installeren en beheren van een operationeel operating system. 1.2 Relatie met andere onderwijseenheden Als voorkennis is de kennis uit TIRCMS01 (Computersystemen 1) noodzakelijk. De theorie voor operating systems leert men niet alleen uit een boek, daarom wordt gelijktijdig een praktijkum aangeboden. Het practicum richt zich op het schijven van programma’s in de kernel in C 1.3 Boek: Leermiddelen Titel: Auteur: Uitgever: ISBN Operating Systems ( Design and Implementation) 3/E A.S. Tanenbaum Prentice Hall , 1997 ISBN-10: 0131429388 ISBN-13: 9780131429383 Practicum handleiding TIRCMS02/TIRCMS03 Deze module wijzer, ondersteunend materiaal, practicum handleiding, powerpoint presentaties, etc: http://www.misc.hro.nl/telematica/ 2. Programma TRICMS02 Week 1 Hoorcollege 1 Introduction Practicum Zie practicum dictaat 2 3 4 5 6 7 8 Bespreking opgaven 2 Processes 2 Processes Bespreking opgaven 3 Input/output 3 Input/output Bespreking opgaven en voorbeeldtentamen Uitloop Tentamen Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat 9 10 TIRCMS02-03 24-7-2017 Opgaven Te maken opgaven worden in de les meedegedeeld. 3 MODULEWIJZER HOGESCHOOL ROTTERDAM/CMI TIRCMS03 Week 1 Hoorcollege 4 Memory management Practicum Zie practicum dictaat 2 3 4 5 6 7 8 4 Memory management 4 Memory management Bespreking opgaven 5 File systems 5 File systems 5 File systems Bespreking Opgaven en voorbeeld tentamen Uitloop Tentamen Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat Zie practicum dictaat 9 10 TIRCMS02-03 24-7-2017 Opgaven Te maken opgaven worden in de les meedegedeeld. 4 MODULEWIJZER 3. HOGESCHOOL ROTTERDAM/CMI Toetsing en beoordeling 3.3 Procedure Het theoretische deel van de module wordt afgesloten met een tentamen. Hiervoor krijgt met een cijfer. Voor het practicumgedeelte wordt ook een cijfer gegeven. Het eindcijfer is het gemiddelde (afgerond op geheel cijfer) van de cijfers voor het tentamen en het practicum, mits voor elk onderdeel minimaal een vier is behaald. Theoretisch deel: Het (her) tentamen bestaat uit open theorie vragen (kennis vragen) die evenwichtig zijn verdeeld over de leerstof. Een voorbeeld tentamen is bijgevoegd en wordt in de laatste les besproken. Tijdens het tentamen mogen aantekeningen, boeken, de uitgeprinte (!) powerpoint presentaies gebruikt worden. Een eenvoudige rekenmachine is toegestaan, maar niet als applicatie op PC/Laptop of Smartphone Er mag géén gebruik worden gemaakt een PC/laptop/Smartphone. Het tentamen duurt maximaal 90 minuten. De uitslag van het tentamen wordt binnen twee weken per email meedegedeeld. Op afspraak kan de student zijn tentamen inzien en een toelichting vragen op de beoordeling. Practische deel: Aanwezigheid verplicht Voor het practicumgedeelte wordt een cijfer gegeven als alle opgaven ingeleverd zijn en beoordeeld. Per week wordt een deelbeoordeling gegeven voor de opgave die ingeleverd wordt. Herkansing Voor het theoretisch tentamen wordt een herkansing geroosterd in de opvolgende onderwijsperiode. 3.4 Toetsmatrijs De toetsmatrijs geeft de relatie weer tussen de de leerdoelen en de vragen dan wel opdrachten van een toets. Tevens geeft de toetsmatrijs aan op welk niveau het leerdoel getoetst wordt. De opleiding heeft ervoor gekozen om deze niveau-aanduiding te koppelen aan de Dublin-descriptoren. Module Leerdoelen TIRCM202 Processes Input/output Memory management File systems TIRCMS03 Dublindescriptoren 1,2 1,2 1,2 Voorbeeld toets 1,2 13,14,15,16 1,2,3,4 5,6,7,8 9,10,11,12 Dublin-descriptoren: 1. Kennis en inzicht 2. Toepassen kennis en inzicht 3. Oordeelsvorming 4. Communicatie 5. Leervaardigheden TIRCMS02-03 24-7-2017 5 MODULEWIJZER HOGESCHOOL ROTTERDAM/CMI 3.5 Voorbeeld toetsvragen TIRCMS02 - Vraag 1 t/m 8 –maximaal 90 minuten. TIRCMS03 – Vraag 9 t/m 16 – maximaal 90 minuten. Processen (TIRCMS02) 1) Welke machine-instructie wordt gebruikt voor het afschermen van zogenaamde kritische gebieden? Waarom is een dergelijke instructie nodig? 2) Beschouw de volgende jobs met gegeven aankomst- en verwerkingstijd. Job Aankomsttijd Verwerkingstijd A 0 7 B 2 2 C 4 3 D 6 1 E 8 4 a) Wat is de verwerkingsvolgorde als het scheduling algoritme is ‘first come first serve’? b) Wat is de verwerkingsvolgorde als het scheduling algoritme is ‘shortest job next’? c) Wanneer en in welke volgorde worden deze jobs verwerkt als het scheduling algoritme is ‘round robin’ met een quantum van 2? Neem aan dat indien gebeurtenissen precies op het zelfde moment plaats vinden, dat nieuwe jobs voorafgaan aan het beëindigen van jobs, wat vooraf gaat aan het verlopen van het quantum. 3) Geef voor elk van de volgende beweringen aan of ze ‘waarschijnlijk waar’ of ‘waarschijnlijk onwaar zijn’. Geef vervolgens in één zin de reden. Er is niet noodzakelijker wijs één goed antwoord. a) Kleine ‘kwanta’ verbeteren altijd de gemiddelde doorloop tijd van een computersysteem. b) Een groot ‘kwantum’ is slecht voor interactieve gebruikers bij gebruik van een ‘round robin’ scheduler. c) De ‘shortest job first’ scheduler is moeilijk te bouwen op een echt operating system. 4) Process state transition diagram. a) Teken een ‘state transition diagram’ met de toestanden ‘New’,‘Running’,’Blocked’,’Ready’,’Terminated’ b) Kan een proces dat wacht op invoer of uitvoer overgaan naar de toestand ‘terminated’? Geef een toelichting Input / Output ((TIRCMS02) 5) Beschouw onderstaande figuur (resource trajecten voor twee processen): TIRCMS02-03 24-7-2017 6 MODULEWIJZER HOGESCHOOL ROTTERDAM/CMI a) Wat is de betekenis van het dubbel gearceerde gebied in bovenstaande figuur? b) Beschrijf een algoritme dat bij uitvoering van proces A en proces B het dubbel gearceerde gebied weet te vermijden. 6) Beschouw onderstaande figuur: a) Voor het ontstaan van een deadlock moet aan vier voorwaarden zijn voldoen. Welke vier voorwaarden zijn dit? b) Laat voor de situatie in bovenstaande figuur zien dat aan deze voorwaarden is voldaan en illustreer dit met een resource graph. 7) Wat is het essentiële verschil tussen een block special file en een character special file? 8) Bij het bankiers algoritme met één resource gaan we uit van de volgende beginsituatie: Totaal beschikbare resources 16 Proces A B C D Toegewezen 0 0 0 0 Maximum 7 3 8 6 a) Waarvoor dient het bankiers algoritme? b) Waarom is de beginsituatie veilig? c) Neem de tabel over en wijzig de waarden in de kolom Toegewezen zo dat een onveilige situatie ontstaat. d) Waarom is de situatie onveilig? TIRCMS02-03 24-7-2017 7 MODULEWIJZER HOGESCHOOL ROTTERDAM/CMI e) Wat is het praktische bezwaar tegen het bankiers algoritme? Geheugenbeheer (TIRCMS03) 9) Leg uit wat met lokaliteit wordt bedoeld. Geef het verband met virtual memory. Is dit een voordeel of een nadeel? 10) Geef het verschil aan tussen paginering en segmentering van een virtueel geheugen. 11) Gegeven een geheugenbeheerssysteem met drie geheugenframes en de volgende referentieketen: 1, 2, 3, 4, 1, 2, 3, 4, 3, 2, 1, 3, 1, 3, 2 Hoeveel paginafouten zullen er optreden voor de volgende paginavervangingsalgoritmen? a) FIFO (First-In First-Out) b) LRU (least recently used) c) MRU (most recently used) 12) Gegeven een virtueel geheugensysteem met de volgende parameters: • 16 KiB virtuele adresruimte • een niveau paginering met pagina’s van 1 KiB • pagina tabel elementen van 1 byte groot • 8 KiB fysieke adresruimte a) Vul de paginatabellen in volgens de pijlen op bijgaand antwoordblad. In de eerste kolom komt het framenummer (binair, en in zo min mogelijk bits), in de rechterkolom komt de valid bit. b) Geef het fysieke adres (decimaal) van het logische adres 4500 (decimaal) in proces A en in proces B Filesystems ((TIRCMS03) 13) Alle soorten UNIX bestanden worden door het besturingssyteem beheerd door middel van i-nodes. In een Unix System V is de lengte van een blok 1 kilobyte. En kan elk blok 256 blokadressen bevatten. Bereken de maximum capaciteit van een UNIX bestand uitgaande van 10 directe, aangevuld met enkelvoudig, dubbel en drievoudige indirecte verwijzingen. 14) Een diskette heeft 40 cilinders. De zoektijd bedraagt 6 ms per cilinder, en de diskette roteert aan 300 toeren per minuut. De transfertijd van een sector is 25 ms. Bij een volledig gefragmenteerde diskette liggen de opeenvolgende blokken (veronderstel een blok precies even groot als een sector) van een bestand van 20 blokken gemiddeld 8 cilinders uit elkaar. a) Hoe lang zal het gemiddeld duren om het oorspronkelijke bestand te lezen van het ogenblik dat het eerste blok bereikt werd (veronderstel geen cache)? TIRCMS02-03 24-7-2017 8 MODULEWIJZER HOGESCHOOL ROTTERDAM/CMI b) Door te defragmenteren slaagt men erin om de blokken optimaal op de diskette te plaatsen. Op welke manier zal de defragmentatiesoftware de blokken nu op de diskette plaatsen? Geef dit visueel weer op bijgaand antwoord blad. 15) Wat is een beschermingsmatrix? Hoe werkt een protectiemechanisme gebaseerd op een beschermingsmatrix? 16) Noem één voordeel en één nadeel van een grote bloksize voor een filesystem. TIRCMS02-03 24-7-2017 9