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 (interruptmechanisme, 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;
- de implementatie van een simpel educatief besturingssysteem kunnen begrijpen;
- eenvoudige aanpassingen en uitbreidingen van een simpel educatief besturingssystemen kunnen maken;
- kunnen werken op een laag-niveau in de programmeertaal C, inclusief geheugen manipuleren.
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.
Identieke opleidingsonderdelen
Dit opleidingsonderdeel is identiek aan de volgende opleidingsonderdelen:
X0A48A : Besturingssystemen
Plaats in het onderwijsaanbod
Onderwijsleeractiviteiten
4 sp. Besturingssystemen (B-KUL-G0Q35a)
Inhoud
1) Inleiding: Wat is een besturingssysteem? Evolutie van besturingssystemen. Verschillende types van besturingssystemen.
2) Algemene structuur v/e besturingsprogramma: Componenten, diensten, system calls, systeemprogramma's, structuur, virtuele machines, ontwerp en ontwikkeling, installatie.
3) Processen: Concept, proces scheduling, operaties op processen, samenwerkende processen, threads, interprocescommunicatie
4) Threads: concepten, multithreading modellen, threading issues
5) CPU scheduling: Concepten, criteria, algoritmes, evalutatie.
6) Processynchronisatie: Achtergrond, kritische sectie probleem, synchronisatie HW, semaforen, klassieke synchronisatieproblemen, kritische gebieden, monitors.
7) Impasses (Deadlocks): karakterisatie, methodes om impasses te behandelen: preventie, vermijden, detecteren en herstellen.
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.
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) I/O systemen: I/O hardware, I/O Interface, interrupts, kernel I/O subsysteem
14) Protectie: Doelstellingen, protectiedomein, toegangsmatrix, implementatie v/d toegangsmatrix, revocatie van rechten, capability-gebaseerde systemen, taalgebaseerde bescherming.
15) Beveiliging: Beveiligingsprobleem, oorzaken, beveiligingsbeleid, "opzettelijke" bedreigingen, authenticatie, maatregelen, cryptografie.
16) Case studies: Windows en Linux.
Studiemateriaal
Handboek: Operating Systems: Three Easy Pieces (Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau)
2 sp. Besturingssystemen: practica (B-KUL-G0Q36a)
Inhoud
De oefenzittingen behandelen de volgende topics:
• Het gebruik van C in low-level kernel code
• Het gebruik van system calls
• De implementatie van nieuwe system calls
• Het beheer van virtueel en fysiek geheugen
• Het afhandelen van traps (interrupts en excepties) in de kernel
• Procesbeheer
• Synchronisatie in de kernel
• File systems
Evaluatieactiviteiten
Evaluatie: Besturingssystemen (B-KUL-G2Q35a)
Toelichting
Evaluatie gebeurt aan de hand van permanente evaluatie voor de practica, en een afrondend schriftelijk examen in de zittijd.
Indien de evaluatie aantoont dat de student één of meerdere doelstellingen van het opleidingsonderdeel onvoldoende heeft bereikt, kan het globale resultaat afwijken van het gewogen gemiddelde van de onderdelen.
Toelichting bij herkansen
Het afrondend schriftelijk examen in de derde examenperiode heeft dezelfde vorm als het examen in de eerste examenperiode.
Belangrijk: De practica kunnen niet ingehaald worden tijdens de derde examenperiode.