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: 07-11-2024


Varighed: 1 semester

Version: Godkendt - aktiv

Indgangskrav

Ingen

Faglige forudsætninger

Stoffet fra DM548: Computerarkitektur og systemprogrammering forudsættes kendt.

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.

I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på at:

  • Give kompetence til:
    • håndtere komplekse og udviklingsorienterede situationer i studie- og arbejdssammenhænge
    • identificere egne læringsbehov og strukturere egen læring i forskellige læringsmiljøer
  • Give færdigheder i:
    • træffe og begrunde fagligt relaterede beslutninger
    • beskrive,
      formulere og formidle problemstillinger og resultater til enten
      fagfæller og ikke-specialister eller samarbejdspartnere og brugere
  • Give viden om
    • principper for konstruktion af computerhardware og styresystemer, herunder distribuerede og parallelle systemer

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 pensumlister og yderligere litteraturhenvisninger.

Eksamensbestemmelser

Eksamenselement a)

Tidsmæssig placering

Juni

Udprøvninger

Portfolio eksamen

EKA

N330031102

Censur

Ekstern prøve

Bedømmelse

7-trinsskala

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Varighed

Skriftlig eksamen: 3 timer

Hjælpemidler

Den skriftlige eksamen er uden hjælpemidler. 

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

Undervisningsaktiviteter består af:

  • Introfase (forelæsning) - Antal timer: 36
  • Træningsfase: Antal timer: 24

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.