LIACS >Kristian Rietveld >Courses >Operating Systems Voorjaar 2018
headerimg

Operating Systems, Voorjaar 2018

Docent: dr. K. F. D. Rietveld
Practicumassistenten: K. Putman, D. vd Zwaan, T. Smeding

Het hertentamen is nagekeken en de cijfers zijn opgestuurd voor invoering in uSIS. Je zult via uSIS op de hoogte worden gesteld van het behaalde resultaat. Er volgt hier geen aparte e-mail over.

Contact

Vragen omtrent de practicumopdrachten kunnen worden gesteld via os2018-team@lists.liacs.nl. Dit e-mailadres is gedeeld met de docenten en alle student-assistenten van het vak.

Beschrijving

Ten grondslag van alle software die op een computersysteem draait ligt het operating system, ofwel besturingssysteem. Het besturingssysteem heeft als doel een generieke interface te bieden voor allerhande software die op het systeem kan draaien. Deze software hoeft zich dan niet te bekommeren hoe de (specifieke) hardware van het systeem moet worden aangestuurd en hoe deze hardware moet worden gedeeld met verschillende stukken software die tegelijk op het systeem worden uitgevoerd. In dit laatste is het besturingssysteem verantwoordelijk voor het alloceren van 'resources' zoals CPU tijd, RAM geheugen en opslagruimte op harde schijven.

In deze cursus zullen de belangrijkste facetten van besturingssystemen worden bestudeerd: structuur van besturingssystemen, process management, memory management en storage management. Begrippen als system calls, virtual memory, device drivers, bootstrapping, scheduling, context switching, file systems en virtualization zullen de revue passeren.

Een speciaal ontwikkeld besturingssysteem zal de basis vormen voor het practicum. In het practicum wordt de besproken theorie over process management, virtual memory management en storage management in de praktijk gebracht. Hierbij zal ook worden gewerkt aan het verkrijgen van vaardigheden op het gebied van de ontwikkeling van operating system ("low-level programming").

Leerdoelen

Het kunnen beschrijven hoe operating systems in het algemeen zijn gestructureerd. Standaard methoden en algoritmen die worden gebruikt in de implementatie van operating systems wat betreft process management, memory management en storage management kunnen uitleggen en toepassen. Verschillen tussen methodes en algoritmen kunnen toelichten en het kunnen maken van afwegingen tussen deze methodes en algoritmen voor gegeven scenario's. Het kunnen ontwerpen van nieuwe of aangepaste methoden of algoritmen voor gegeven scenario's. De opgedane kennis over operating systems kunnen toepassen in het uitvoeren van probleemanalyses. Het zelfstandig kunnen implementeren van basale algoritmen gebruikt in operating systems zoals process schedulers en block allocatie algoritmen. Het zelfstandig kunnen toevoegen en aanpassen van functionaliteiten van (simpele) operating systems.

Examinering

Schriftelijk aan het eind van het semester en met een practicum gedurende het semester. Het cijfer voor het vak wordt bepaald aan de hand van het tentamen (twee derde, 2/3) en het practicum (een derde, 1/3). Zowel het tentamen als het eindcijfer voor het practicum moeten voldoende (≥ 5.5) zijn om een voldoende te behalen voor het vak. Het practicumcijfer is opgebouwd uit 3 opdrachten die elk met een eigen gewicht meetellen: (opdracht 1: 0.3, opdracht 2: 0.3, opdracht 3: 0.4). Alle opdrachten moeten worden ingeleverd om een cijfer voor het practicum te kunnen krijgen.

Literatuur

Boek: Operating System Concepts, 9th Edition (International Student Version). Abraham Silberschatz, Peter B. Galvin, Greg Gagne. 2014. Wiley Publishing.

De in het hoorcollege gebruikte slides zijn hier te downloaden:

Daarnaast zijn ook de hand-outs behorende bij het boek zijn beschikbaar op http://codex.cs.yale.edu/avi/os-book/OS9/slide-dir/index.html.

Extra website links:

Tentamenstof

De tentamenstof omvat al hetgeen dat tijdens de colleges is behandeld. Dit betreft de volgende hoofdstukken:

  • Ch. 1: Introduction
  • Ch. 2: System Structures
  • Ch. 3: Process Concept
  • Ch. 4: Multithreading
  • Ch. 5: Process Scheduling
  • Ch. 6: Synchronization
  • Ch. 8: Memory-Management Strategies
  • Ch. 9: Virtual-Memory Management
  • Ch. 10: File Systems
  • Ch. 11: Implementing File Systems
  • Ch. 12: Mass-Storage Structure
Naast het materiaal uit het boek maken ook de slides over virtualization deel uit van de tentamenstof (echter niet in voorjaar 2018). Een gedetailleerd overzicht van secties die kunnen worden overgeslagen en een selectie van oefenopgaven uit het boek is hier te vinden.

Oefententamens

Tentamen juni 2016 (uitwerking)
Tentamen juni 2015 (uitwerking).
Tentamen juni 2014.
Tentamen mei 2011.

Voorgaande jaren