DM510: Operativsystemer

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N330031102
Censur: Ekstern prøve
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Bachelor

STADS ID (UVA): N330031101
ECTS-point: 10

Godkendelsesdato: 13-10-2025


Varighed: 1 semester

Version: Godkendt - aktiv

Indgangskrav

Ingen

Faglige forudsætninger

Studerende, der følger kurset, forventes at have basal kendskab til computerarkitektur og at have basale færdigheder i systemprogrammering (eks. fra DM548).

Formål

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.

Studerende vil få viden om faktiske operativsystemer, planlægnings-algoritmer, sikkerheds- og beskyttelses-mekanismer, filsystemer og proces-kommunikation. Studerende vil lære C-programmering på operativsystemsniveau.

Målbeskrivelse

Efter kurset forventes det at den studerende har opnået følgende.

Viden om
  • forskellige metoder og arkitekturer til at realisere operativsystemer, samt de fundamentale abstraktioner som et operativsystem tilbyder.
  • hvordan multiple kontrol-flows kan blive realiseret og hvordan synkronisering og kommunikation mellem kontrol-flows kan opnås.
  • hvordan hukommelse kan gøres virtuel, og hvordan den kan håndteres som en ressource.
  • filsystemer generelt, deres interne detaljer og mulige implementeringer af dem.
  • samspillet mellem systemprogrammel, operativsystemkerner og hardware.
  • de to hovedprincipper for design af distribuerede operativsystemer.
  • netværksbegrebet og den lagdelte tilgang til at realisere netværksprotokoller, på et basalt niveau.
  • sikkerhedsbegrebet i operativsystemer og sikkerhedsproblemer som virus, orm, trojansk hest og buffer overflow.
  • forskellige metoder til virtualisering af eksekvering i operativsystemer (eks. containerization), deriblandt fordele og ulemper ved metoderne.
Færdigheder i at
  • implementere systemprogrammel under brug af moderne operativsystemabstraktioner.
  • programmere i et programmeringssproget C på operativsystem niveau.
Kompetencer i at
  • diskutere problemer relateret til concurrency.
  • diskutere metoder for schedulering af CPU, disk og page-replacement.
  • diskutere hvordan ekstern hukommelse kan kobles til et computersystem i relation til filsystemer, og diskutere tilgang til I/O-systemer generelt.
  • diskutere eksisterende løsninger til sikkerhedsproblematikker i operativsystemer.

Indhold

Kurset indeholder følgende faglige hovedområder:
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, beskyttelse og sikkerhedsproblemer, access-matricer, kryptering, autentifikation, distribuerede operativsystemer, netværk, distribuerede filsystemer, virtualisering, programmering i C på operativsystemniveau

Litteratur

Se itslearning for litteraturhenvisninger.

Eksamensbestemmelser

Eksamenselement a)

Tidsmæssig placering

Juni

Udprøvninger

Portfolio eksamen

EKA

N330031102

Censur

Ekstern prøve

Bedømmelse

7-trinsskala

Identifikation

Studiekort - Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Varighed

Skriftlig eksamen: 3 timer

Hjælpemidler

Den skriftlige eksamen er med begrænsede hjælpemidler. Det er kun følgende hjælpemidler som er tilladt:

  • Indbygget standardlommeregner i hhv. Windows/macOS/Linux. 
  • Maple, Mathematica, Mathcad, MathLab, GeoGebra Apps, R (herunder R-Studio), CAS TI-Nspire, Ms Excel og LibreOffice Calc tilladt. WordMat er tilladt, men anbefales ikke. Brug af WordMat er på eget ansvar og der ydes ikke support ved nedbrud eller andre fejl som er forårsaget af programmet. 

Internet er ikke tilladt. Du må dog gå ind på kursets hjemmeside i itslearning i forbindelse med åbning af system "DE – Digital Eksamen" og udfyldelse af evt. test i systemet.

ECTS-point

10

Uddybende information

Portfolio bestående af følgende elementer:
1) Et antal opgaver afleveret undervejs i kurset
2) Afsluttende skriftlig eksamen i eksamensperioden. Eksamensopgaven er frit format og udleveres som PDF-dokument, og besvarelsen skal afleveres som et samlet PDF-dokument.
 
For samlet at opnå en bestået karakter skal hhv. element 1 og 2 hver for sig leve op til målbeskrivelserne. 
Bedømmelsen af element 1 finder sted i forbindelse med afviklingen af element 2.
 
Element 1 vægter 20% og element 2 vægter 80% af karakteren, idet der dog anlægges en helhedsvurdering.

Vejledende antal undervisningstimer

60 timer per semester

Undervisningsform

Skemalagte undervisningstimer:
Antal undervisningstimer i alt: 60
Heraf:
Fællestimer i klasselokale/auditorium: 36
Holdtimer i klasselokale: 24

I løbet af fællestimerne gives der forelæsning af forskellige kapitler i lærebogen. I løbet af holdtimerne diskuterer studerende deres svar på øvelsesark samt eventuelle spørgsmål til indholdet af forelæsningerne. 

Andre planlagte undervisningsaktiviteter:

Uden for de planlagte timer arbejder eleverne med øvelsesark for at styrke forståelsen af forelæsningerne. De arbejder også på større programmeringsprojekter.

Ansvarlig underviser

Navn E-mail Institut
Lars Rohwedder rohwedder@imada.sdu.dk Institut for Matematik og Datalogi

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Overgangsordninger

Overgangsordninger beskriver, hvordan et kursus erstatter et andet kursus, når der ændres i et studieforløb.
Hvis der er lavet en overgangsordning for et kursus vil den fremgå af oversigten.
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.