Besturingssystemen (B-KUL-G0Q35A)
Doelstellingen
Na de studie van deze cursus moet de student:
- de doelstellingen van een besturingssysteem kunnen aangeven;
- de minimale hardware-ondersteuning (programma-onderbrekingsmechanisme, geheugenbescherming, ...) kennen die nodig is om een modern besturingssysteem te kunnen uitvoeren;
- de componenten van een besturingssysteem (functioneel) kunnen beschrijven;
- de verschillende ontwerpmethodologieën kunnen uiteenzetten;
- de voornaamste algoritmes die gebruikt worden bij de implementatie van die componenten kunnen beschrijven, hun voor- en nadelen tegenover elkaar kunnen afwegen en de nodige hardware-ondersteuning kunnen aangeven;
- een verantwoorde keuze kunnen maken tussen deze algoritmes op basis van bepaalde criteria en de beschikbare hardware;
- parallelle samenwerkende programma's kunnen ontwerpen en daarbij de nodige synchronisatie-opdrachten voorzien;
- besturingssystemen met elkaar kunnen vergelijken en een verantwoord advies kunnen geven;
- een device driver voor Linux kunnen aanpassen/toevoegen;
- een hypervisor voor een virtuele machine kunnen aanpassen.
Begintermen
Er wordt verondersteld dat de student voldoende kennis heeft over de werking van een computer en zijn randapparatuur. Tevens wordt verwacht dat de student kennis heeft van een procedurele en/of objectgeoriënteerde programmeertaal.
Aard van het studiemateriaal
Handboek
Onderwijsleeractiviteiten
4.3 sp. Besturingssystemen (B-KUL-G0Q35a)
Inhoud
1) Inleiding
Wat is een besturingssysteem? Evolutie van besturingssystemen. Verschillende types van besturingssystemen.
2) Computersysteem (Hardware)
Programma-onderbrekingen (interrupts), invoer- en uitvoer, hardwareprotectie, algemene systeemarchitectuur.
3) Algemene structuur v/e besturingsprogramma
Componenten, diensten, supervisie-oproepen, systeemprogramma's, structuur, virtuele machines, ontwerp en ontwikkeling, installatie.
4) Processen
Concept, proces scheduling, operaties op processen, samenwerkende processen, threads, interprocescommunicatie
5) CPU scheduling
Concepten, criteria, algoritmes, multiprocessor scheduling, real-time scheduling, evalutatie.
6) Processynchronisatie
Achtergrond, kritische sectie probleem, synchronisatie HW, semaforen, klassieke synchronisatieproblemen, kritische gebieden, monitors, voorbeelden.
7) Impasses (Deadlocks)
Systeemmodel, karakterisatie, methodes om impasses te behandelen: preventie, vermijden, detecteren en herstellen, gecombineerde aanpak.
8) Geheugenbeheer
Achtergrond, logische en fysische adresruimte, swapping, aaneengesloten allocatie, paginatie, segmentatie, gepagineerde segmentatie.
9) Virtueel geheugen
Achtergrond, paginatie op aanvraag, performantie, vervanging van pagina's, vervangingsalgoritmes, allocatie van frames, thrashing, bijkomende beschouwingen, segmentatie op aanvraag.
10) Bestandensysteem
Bestand, toegangsmethodes, directory structuur, bescherming, consistentie.
11) Implementatie v/e bestandensysteem
Structuur v/e bestandensysteem, allocatiemethodes, beheer van de vrije ruimte, implementatie van directories, efficiëntie en performantie, herstelprocedures.
12) Secundair geheugenbeheer
Structuur v/e schijf, disk scheduling, beheer v/d schijf, beheer v/d swap-ruimte, betrouwbaarheid, stabiel geheugen.
13) Protectie
Doelstellingen, protectiedomein, toegangsmatrix, implementatie v/d toegangsmatrix, revocatie van rechten, capability-gebaseerde systemen, taalgebaseerde bescherming.
14) Beveiliging
Beveiligingsprobleem, oorzaken, beveiligingsbeleid, "opzettelijke" bedreigingen, authenticatie, maatregelen, cryptografie.
15) Case studies
1.7 sp. Besturingssystemen: oefeningen en practica (B-KUL-G0Q36a)
Inhoud
De oefenzittingen behandelen de volgende topics:
- proces scheduling
- synchronisatie
- geheugenbeheer
- disk management
- device drivers
- hypervisors en virtuele machines
Beschrijving leeractiviteit
De meeste oefenzittingen gaan door in een PC-klas. Aanwezigheid in alle oefenzittingen is VERPLICHT. Indien een student niet aanwezig is geweest zonder grondige reden kan deze niet deelnemen aan het examen.
Evaluatieactiviteiten
Evaluatie : Besturingssystemen (B-KUL-G2Q35a)
Toelichting
De oefenzittingen zijn verplicht en worden ter plekke geëvalueerd (op basis van medewerking tijdens deze contactmomenten en soms een afrondende oefening die beoordeeld wordt).
Tijdens de interactiecolleges in het jaar zullen de studenten in groepjes vragen beantwoorden over een van te voren afgesproken deel van de cursus, waarbij zij elkaar als het ware overhoren. Dit gebeurt open-boek. Als voorbereiding voor elke sessie stelt elke student één vraag op die bij het begin van de sessie ingediend wordt. Aan het einde van elke interactiesessie zullen de studenten elkaar beoordelen (peerassessment).
De beoordelingen voor oefenzittingen en voor interactiesessies zullen samen meetellen voor 25% van de finale punten.
Tijdens de examenperiode is er een gesloten-boek examen waar zowel oefeningen als meer theoretische vragen aan bod komen.
Een student die voor de oefenzittingen en interactiesessie, of voor de oefeningen op het examen, of voor de theoretische vragen op het examen, 7/20 of minder behaalt kan niet slagen voor dit opleidingsonderdeel.
De oefenzittingen en de interactiesessies kunnen niet ingehaald worden tijdens de derde examenperiode.
