Overordnede kursusmål
Dette kursus har til formål at bibringe den nødvendige baggrund og
sammenhæng for at forstå de principper, der ligger til grund for
operativsystemers udformning og praktisk viden om, hvordan disse
principper er realiseret og virker i aktuelle operativsystemer.
Målet er at studerende vil være i stand til at skrive programmer
for nuværende og fremtidige operativsystemer.
Derudover introducerer kurset til virtualisering,
multiprocessorsystemer og tidstro systemer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- redegøre for operativsystemets rolle og hvordan
computerprogrammer bliver eksekveret.
- redegøre for lagdelte software arkitekturer og beskrive
operativsystemets interne struktur som et hierarki af
abstraktionslag.
- redegøre for basale operativsystembegreber som processer, tråde
og skedulering, samt hvordan afbrydelser ('interrupts'),
'dispatching' og 'context switching' understøtter
multiprogrammering og multitasking.
- redegøre for og anvende almindelige operativsystemkommandoer
(system kald) samt redegøre for en kommandofortolkers (shell)
rolle.
- sammenligne og vurdere almindelige algoritmer til
'preemptive' og 'non-preemptive scheduling' og især
diskutere i hvilket omfang sådanne scheduling algoritmer er
anvendelige i tidstro systemer.
- udvikle dele af en system-softwarestak.
- redegøre for I/O enheder og forskellen mellem at anvende I/O
instruktioner og memory mapped I/O til kommunikation med I/O
enheder.
- sammenligne og vurdere fordele og ulemper i forbindelse med
forskellige implementationer af filsystemer.
- redegøre for funktionaliteten og anvendelsen af virtuelle
maskiner.
- evaluere egnetheden af operativsystemer for forskellige
computersystemer.
- udvikle programmer til udførsel under forskellige
operativsystemer, samt foretage simple udvidelser, for eksempel
enhedsdrivere af eksisterende operativsystemer.
Kursusindhold
Kurset indeholder en teoretisk og en praktisk del.
Den teoretiske del består af:
- Operativsystemopbygning
- Processer, tråde, IPC og skedulering
- Virtuelt lager, herunder især sideopdelt lager
- Filsystemer og implementationsaspecter af sådanne
- I/O enheder
- Drivere
- Virtualisering
- Multiprocessorsystemer
Den praktiske del består af øvelser og eksperimenter med formål at
give den studerende en dybere praktisk viden om moderne
operativsystemer.
Bemærkninger
Faggruppe: IoT og digital sikkerhed
IT-elektronik: 3. semester
Softwareteknologi: 3. semester
Sidst opdateret
17. februar, 2023