62588 Operativsystemer

2019/2020

Informatik(100)
IT-elektronik: 3. semester
Softwareteknologi: 3. semester
Kursusinformation
Operating systems
Engelsk
5
Diplomingeniør
E5B (ons 13-17)
Campus Ballerup
Plenumundervisning, øvelser og praktiske eksperimenter.
13-uger
E5B, F5B, Antallet af studerende kan nødvendiggøre brugen af yderligere eksamensdage.
Mundtlig eksamen og bedømmelse af opgave(r)
mundtlig eksamen baseret på 3 af 4 individuelle opgavebesvarelser
Skriftlige hjælpemidler er tilladt
7-trins skala , ekstern censur
02349
02333
(02312/62514).­02326.­(62507/62409/02322) , Færdighed i imperativ og objektorienteret programmering. Kendskab til grundlæggende algoritmer og datastrukturer.
Bo Holst-Christensen , Ballerup Campus, Bygning Ballerup, Tlf. (+45) 3588 5113 , bhch@dtu.dk
62 DTU Diplom
I studieplanlæggeren
Kontakt underviseren for information om hvorvidt dette kursus giver den studerende mulighed for at lave eller forberede et projekt som kan deltage i DTUs studenterkonference om bæredygtighed, klimateknologi og miljø (GRØN DYST). Se mere på http://www.groendyst.dtu.dk
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.
Sidst opdateret
08. maj, 2019