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 Tirsdag 14-16 U148 06-12,16-22
Fælles I Tirsdag 14-16 U49 23
Fælles I Torsdag 08-10 U148 07,10,17
S1 TE Fredag 10-12 U9 07-12,16-18,20-22
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 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.


Pensum
Se pensumbeskrivelse.

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

Forudsætningsprøver
Ingen

Eksamen- og censurform:
a) Et antal programmeringsopgaver (intern censur ved én 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.
b) 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. februar 2009 til 31. august 2012.