DM510: Operativsystemer (10 ECTS)

STADS: 15001001

Niveau
Bachelorkursus

Undervisningsperiode
Kurset er placeret i forårssemesteret.
3. og 4. kvartal.

Ansvarlige undervisere
Email: daniel@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Mandag 12-14 U48 05
Fælles I Mandag 12-14 U48a 06
Fælles I Mandag 12-14 U154 08-09
Fælles I Mandag 12-14 U51 10-11
Fælles I Mandag 14-16 U20 15-20,22
Fælles I Onsdag 10-12 U155 21
Fælles I Torsdag 10-12 U49 05-06,08
Fælles I Torsdag 08-10 U49 15
S1 TE Tirsdag 08-10 U20 06-11
S1 TE Tirsdag 08-10 U155 19
S1 TE Torsdag 12-14 U20 16,18,20-21
S1 TE Torsdag 12-14 U49 17
Vis hele skemaet
Vis personligt skema for dette kursus.

Kommentar:
Ubegrænset deltagerantal. 3. + 4. kvartal.

Indgangskrav:
Ingen

Faglige forudsætninger:
Stoffet fra DM506 Maskinarkitektur ELLER Stoffet fra DM544 Computerarkitektur skal være kendt.

Kursusintroduktion
At give de studerende viden om strukturering af computersystemer, om sammenspillet mellem hardware og software og operativsystemers rolle heri, og om de ressource-abstraktioner som et operativsystem tilbyder.

Kompetencer
De studerende vil opnå detaljeret indsigt i operativsystemer og vil kunne anvende denne indsigt til

  • Valg og implementering af operativsystemer
  • Valg og implementering af skeduleringsalgoritmer
  • Valg og implementering af sikkerhedsmekanismer
  • Valg og implementering af filsystemer
  • Valg og implementering af processkommunikations metoder
  • Programmering i C – inklusive programmering på operativsystem niveau
Forventet læringsudbytte
Efter kurset forventes den studerende at kunne:

  • Beskrive forskellige metoder og arkitekturer til at realisere operativsystemer, samt beskrive de fundamentale abstraktioner som et operativsystem tilbyder.
  • Beskrive hvordan multiple kontrol-flows kan blive realiseret, diskutere problemer relateret til concurrency, og beskrive hvordan synkronisation og kommunikation mellem kontrol-flows kan opnås.
  • Diskutere metoder for schedulering af CPU, disk og page-replacement.
  • Beskrive hvordan hukommelse kan gøres virtuel, og hvordan den kan håndteres som ressource.
  • Beskrive filsystembegrebet, mulige implementationer heraf og diskutere hvordan ekstern hukommelse kan tilknyttes et computersystem.
  • Beskrive samspillet mellem systemprogrammel, operativsystemkerner og hardware.
  • Beskrive de to hovedprincipper for design af distribuerede operativsystemer, og beskrive netværksbegrebet og den lagdelte tilgang til at realisere netværksprotokoller.
  • Beskrive sikkerhedsbegrebet i operativsystemer, diskutere eksisterende løsninger, og beskrive sikkerhedsproblemer som virus, orm, trojansk hest og buffer overflow.
  • Implementere systemprogrammel under brug af moderne operativsystemabstraktioner.
  • Anvende basale operativsystemabstraktioner i netværksprogrammering.
  • Programmere i sproget C.

Efter programmeringsprojekterne forventes den studerende at kunne:

  • Tilføje et systemkald til et Linux-operativsystem.
  • Implementere et kernemodul i et Linux operativsystem.
  • Implementere organisationslaget i et filsystem.
  • Skrive en let læselig og velstruktureret rapport.
Emneoversigt
Struktur af operativsystemer, systemkald, interrupts, processer, multi-threading, CPU schedulering, kritisk sektion, synkroniseringsmekanismer, klassiske synkroniseringsproblemer, atomiske transaktioner, deadlock handling, swapping, allokering af hukommelse, paging, segmentering, demand paging, page replacement, frame allocation, filer, mapper, mounting, håndtering af fri hukommelse, diskstruktur, disk-schedulering, RAID, sikkerhed og sikkerhedsproblemer, access-matricer, kryptering, autentifikation, distribuerede operativsystemer, netværk, distribuerede filsystemer, programmering i C

Litteratur
    Meddeles ved kursets start.


Kursets hjemmeside
Dette kursus benytter e-learn (blackboard).

Forudsætningsprøver
Ingen

Eksamen- og censurform:
  1. Et antal programmeringsopgaver (intern bedømmelse ved underviser. Bestået/ikke bestået) som tilsammen tæller 4 ECTS ud af kursets samlede omfang på 10 ECTS. Opgaverne skal være bestået for at man kan deltage i mundtlig eksamen.
  2. Mundtlig eksamen, 20 min. uden forberedelsestid. Ekstern censur. Karakter efter 7-trinsskalaen.

Reeksamen efter 2. kvartal.



Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.

Forelæsninger (36 timer), eksaminatorier (24 timer) og projektarbejde.
Aktiviteter i studiefasen

Sprog
Dette kursus undervises på dansk eller engelsk, afhængigt af underviseren. Dog altid på Engelsk ved deltagelse af internationale studerende.

Kursustilmelding
Se tilmeldingsfrister.

Pris for åben uddannelse
Se priser for enkeltkurser.

Denne kursusbeskrivelse var gyldig fra 1. september 2012 til 31. august 2013.