NDAA04029U Styresystemer og multiprogrammering (OSM)

Årgang 2014/2015
Engelsk titel

Operating Systems and Concurrent Programming (OSM)

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.

  • 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
Kendskab til imperativ programmering og maskinarkitektur, som f.eks. kan opnås ved at følge kurserne ARK samt OOPD eller PoP.
Forelæsninger, opgaveregning, øvelser.
  • Kategori
  • Timer
  • Eksamen
  • 20
  • Forberedelse
  • 24
  • Forelæsninger
  • 36
  • Praktiske øvelser
  • 24
  • Projektarbejde
  • 99
  • Vejledning
  • 3
  • I alt
  • 206
Point
7,5 ECTS
Prøveform
Skriftlig aflevering, 4,5 dage
---
Krav til indstilling til eksamen
For at kvalificere sig til eksamen og reeksamen, skal godkendelsesopgaver med gruppeaflevering godkendes. Der stilles fem godkendelsesopgaver.
Bedømmelsesform
7-trins skala
Censurform
Ekstern censur
Kriterier for bedømmelse

Se kursus målbeskrivelser.