Toegangseisen
Aanbevolen voorkennis: Programmeertechnieken, Computerarchitectuur, Algoritmiek, Datastructuren.
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").
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
In MyTimetable (login) kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je je via MyStudymap hebt 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. Je kunt notificaties aanzetten bij Instellingen, na login.
Vragen? Bekijk de video, lees de instructie of neem contact op met de ISSC helpdesk. Let op: Joint Degree studenten Leiden/Delft dienen de informatie uit de Leidse en Delftse MyTimetable's samen te voegen om een volledig rooster te zien. Deze video leg uit hoe dat werkt.
Onderwijsvorm
Hoorcollege, werkcollege.
Toetsing en weging
De toetsing bestaat uit twee delen: een theoretisch en een praktisch deel. Het cijfer voor beide delen moet voldoende (>= 5.5) zijn 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. Indien het resultaat van het tentamen onvoldoende is, dan wordt dit cijfer het vastgestelde eindcijfer.
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. Om te kunnen slagen voor het praktische deel moeten alle opdrachten zijn ingeleverd en moet het uiteindelijke gemiddelde practicumcijfer voldoende (>= 5.5) zijn. Voor opdrachten die niet zijn ingeleverd wordt geen cijfer ingevuld. Het minimum cijfer van een (ingeleverde) opdracht is "1". Indien het tentamen is gehaald, maar het practicum niet compleet is, wordt er geen eindcijfer berekend en ingediend. Een herkansing van het practicum is mogelijk in overleg met de docent, maar alleen wanneer het (her)tentamen is behaald.
De docent zal de studenten informeren hoe de inzage en de nabespreking van de tentamen zal plaatsvinden.
Literatuurlijst
Operating System Concepts, 10th Edition (Global Edition). Abraham Silberschatz, Peter B. Galvin, Greg Gagne. 2019. Wiley Publishing. ISBN-13 978-1119454083.
Inschrijven
Met ingang van het collegejaar 2022-2023 ben je als student zelf verantwoordelijk om je tijdig, dat wil zeggen 14 of 28 dagen voor aanvang van het vak, in te schrijven. Dat kan via Mystudymap. Dit doe je twee keer per jaar: één keer voor de vakken die je wilt volgen in semester 1 en één keer voor de vakken die je wilt volgen in semester 2.
Inschrijven voor vakken in het eerste semester is mogelijk vanaf juli; inschrijven voor vakken in het tweede semester is mogelijk vanaf december. Zie voor meer informatie deze pagina (tab Wiskunde en Natuurwetenschappen)
Daarnaast is het voor alle studenten, inclusief eerstejaars bachelorstudenten, verplicht om zich in te schrijven voor tentamens via My Studymap. Zonder geldige voorinschrijving in My Studymap kun je niet deelnemen aan het tentamen.
Uitgebreide informatie over de werking van MyStudymap vind je hier.
Contact
Onderwijscoördinator Informatica, Onderwijscoördinator LIACS bachelors
Opmerkingen
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.