Engelsk   Dansk
Velkommen til Københavns Universitets kursuskatalog

NDAA04029U  Styresystemer og multiprogrammering (OSM) Årgang 2014/2015

Engelsk titel
Operating Systems and Concurrent Programming (OSM)

Kursusinformation

SprogDansk
Point7,5 ECTS
NiveauBachelor
Varighed1 blok
Placering
Blok 3
Skemagruppe
B (man 8-12 + tirs 13-17 + fre 8-12)
KursuskapacitetIngen deltagerbegrænsning
Efter- og videreuddannelse
StudienævnStudienævn for Matematik og Datalogi
Udbydende institut
  • Datalogisk Institut
Kursusansvarlig
  • Jost Berthold (8-656875776b726f6743676c316e7831676e)
Gemt den 11-12-2014
Uddannelse
Bacheloruddannelsen i datalogi
Bacheloruddannelsen i naturvidenskab og it
Kursusindhold

 

Kurset har to hovedformål: (1) at introducere den studerende for komponenterne i et moderne styresystem (2) at give den studerende en teoretisk og praktisk indføring i multiprogrammering. 

Introduktionen af styresystemer vil omfatte de mekanismer og politikker, der anvendes i de enkelte komponenter, og vil desuden inddrage samspillet mellem de enkelte komponenter og applikationsprogrammel. Med udgangspunkt i procesbegrebet belyses styresystemets rolle som ressourceadministrator hvor de centrale emner er CPU skedulering, synkronisering, virtuelt lager og filsystemer. Desuden berøres styresystemers opbygning og historiske udvikling. 

Indføringen i multiprogrammering skal give en forståelse for problemerne og mulighederne omkring samtidig afvikling af samarbejdende processer/tråde. Denne del af kurset vil fokusere på hvordan forskellige typer af arbejdsopgaver løses ved hjælp af samarbejdende processer, samt hvilke synkroniseringsmekanismer (semaforer, barrierer, låse, monitorer), der bør anvendes. Desuden berøres formelle metoder til verifikation af multiprogrammer. 

Nøgleord CPU-skedulering, synkronisering, virtuelt lager, filsystemer, processer/tråde, semaforer/låse/monitorer, formel verifikation.

 

Målbeskrivelser

Kompetencer

Redegøre for opbygningen af styresystemer og deres rolle som ressourceadministrator af datamaskiner. Løse grundlæggende problemerne omkring afvikling af samarbejdende processer/tråde.

Færdighed

Design og implementere systemer i C for fler-trådede programmer, herunder mekanismer til håndtering af baglås. 

Sammenholde og vælge metoder til multiprogrammering, skedulering, og synkronisering (semaforer, barrierer, låse, monitorer), samt argumentere for valg af samme.

Analysere forskellige styresystem mekanismer, samt vurdere fordele og ulemper ved forskellige mekanismer og politikker til en given opgave. 

Redegøre for de basale sikkerhedsmekanismer i et styresystem og deres anvendelse til at opnå sikkerhed. 

Viden

Virkemåden og samspillet af grundlæggende komponenter af et styresystem, som CPU skedulering, lagersystem, filsystem og I/O. 
Samspillet mellem datamaskinen, komponenterne i et moderne styresystem og applikationsprogrammel.

Undervisningsmateriale
  • Silberschatz, Galvin & Gagne. Operating System Concepts, 9th edition, Wiley, 2013 (International student version)
  • Kernighan & Ritchie. The C Programming Language, 2nd edition, Prentice-Hall, 1988.
  • Yderligere materiale leveret via Absalon-systemet
Undervisningsform
Forelæsninger, opgaveregning, øvelser.
Faglige forudsætninger
Kendskab til imperativ programmering og maskinarkitektur, som f.eks. kan opnås ved at følge kurserne ARK samt OOPD eller PoP.
Tilmelding
Selvbetjeningen på KUnet
Eksamen
Point7,5 ECTS
Prøveform
Skriftlig aflevering, 4,5 dage
---
Krav til indstilling til eksamenFor at kvalificere sig til eksamen og reeksamen, skal godkendelsesopgaver med gruppeaflevering godkendes. Der stilles fem godkendelsesopgaver.
Bedømmelsesform7-trins skala
CensurformEkstern censur
Kriterier for bedømmelse

Se kursus målbeskrivelser.

Arbejdsbelastning
KategoriTimer
Forberedelse24
Forelæsninger36
Eksamen20
Praktiske øvelser24
Projektarbejde99
Vejledning3
I alt206
Gemt den 11-12-2014