Toegangseisen
Niet van toepassing.
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.
In het practicum zullen een aantal aspecten van de besproken theorie in de praktijk worden gebracht. Hierbij zal ook worden gewerkt aan het verkrijgen van vaardigheden op het gebied van de ontwikkeling van operating systems ("low-level programming").
Aanbevolen voorkennis: Programmeertechnieken, Computerarchitectuur, Algoritmiek, Datastructuren.
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.
Rooster
Onderwijsvorm
hoorcollege, werkcollege
Opmerking: indien er gedurende het semester Corona-maatregelen van kracht zijn, is het mogelijk dat de onderwijsvorm wordt aangepast.
Toetsing
De toetsing bestaat uit twee delen: een theoretisch en een praktisch deel. Het cijfer voor beide delen moet voldoende zijn (>= 5.5) om te kunnen slagen voor het vak.
Het theoretische deel wordt getoetst met een schriftelijk tentamen aan het eind van het semester en telt voor 60%. De tentamenstof zal bekend worden gemaakt in de BrightSpace module van het vak.
Het cijfer voor het praktische deel telt voor 40% mee en zal worden bepaald aan de hand van drie programmeeropdrachten. Dit cijfer is een gewogen gemiddelde van de resultaten van deze opdrachten. De gewichten behorende bij de opdrachten worden bekend gemaakt in de BrightSpace module van het vak.
De docent zal de studenten informeren hoe de inzage en de nabespreking van de tentamen zal plaatsvinden.
Literatuur
Operating System Concepts, 10th Edition (Global Edition). Abraham Silberschatz, Peter B. Galvin, Greg Gagne. 2019. Wiley Publishing. ISBN-13 978-1119454083.
Aanmelden
Aanmelding voor vakken verloopt via uSis. Hiervoor is de uSis-code van het vak nodig, die te vinden zijn in de Studiegids. Meer info over het inschrijven voor vakken of tentamens is hier te vinden.
MyTimetable
In MyTimetable kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je in uSis staat ingeschreven, worden automatisch in je rooster getoond. Daarnaast kun je My Timetable gemakkelijk koppelen aan een agenda-app op je telefoon en worden roosterwijzigingen automatisch in je agenda doorgevoerd; bovendien ontvang je desgewenst per e-mail een notificatie van de wijziging.
Vragen? Bekijk de video-instructie, lees de instructie of neem contact op met de ISSC helpdesk.
BrightSpace
Inschrijving voor vakken verloopt via uSis. Wanneer je je hier inschrijft voor een bepaald vak krijg je automatisch ook toegang tot de omgeving van dit vak via Brightspace.
Voor meer informatie over Brightspace kun je op deze link klikken om de handleidingen van de universiteit te bekijken. Bij overige vragen of problemen kan contact opgenomen worden met de helpdesk van de universiteit Leiden.
Contact
Onderwijscoördinator Informatica, Riet Derogee