DM510: Operativsystemer

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N330031112, N330031102
Censur: Intern prøve, en bedømmer, Ekstern prøve
Bedømmelse: Bestået/Ikke bestået, 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Bachelor

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

Godkendelsesdato: 01-11-2022


Varighed: 1 semester

Version: Godkendt - aktiv

Indgangskrav

Ingen

Faglige forudsætninger

Studerende, der følger kurset, forventes at: 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.
Kurset giver tildels fagligt grundlag for kurset ‘oversætter-konstruktion.

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

For at opnå kursets formål er det læringsmålet for kurset, at den studerende demonstrerer evnen til at:
  • 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.
  • Programmering i C på operativsystem niveau.
Efter programmeringsprojekterne forventes den studerende at kunne:
  • Tilføje funktionalitet til kernen i et Linux-operativsystem.
  • Implementere organisationslaget i et filsystem.
  • Skrive en let læselig og velstruktureret rapport.

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, sikkerhed 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

Forudsætningsprøve a)

Tidsmæssig placering

Forår

Udprøvninger

Programmeringsopgaver

EKA

N330031112

Censur

Intern prøve, en bedømmer

Bedømmelse

Bestået/Ikke bestået

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Oplyses på kurset

ECTS-point

0

Uddybende information

Forudsætningsprøven er en forudsætning for deltagelse i eksamenselement a)

Eksamenselement a)

Tidsmæssig placering

Juni

Udprøvninger

Mundtlig eksamen

EKA

N330031102

Censur

Ekstern prøve

Bedømmelse

7-trinsskala

Identifikation

Studiekort

Sprog

Følger, som udgangspunkt, undervisningssprog

Varighed

25 minutter

Hjælpemidler

Oplyses på kurset

ECTS-point

10

Vejledende antal undervisningstimer

60 timer per semester

Undervisningsform

Undervisningsaktiviteter udmønter sig i en anslået vejledende fordeling af arbejdsindsatsen hos en gennemsnitsstuderende på følgende måde:

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

Aktiviteter i studiefasen:

  • Anvendelse af den tilegnede viden i projekter.

Ansvarlig underviser

Navn E-mail Institut
Jakob Lykke Andersen jlandersen@imada.sdu.dk Institut for Matematik og Datalogi

Yderligere undervisere

Navn E-mail Institut By
Jacob Aae Mikkelsen jamik@imada.sdu.dk

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Uddannelsesjura & Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Profil Uddannelse Semester Udbuds periode
BA Centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2019, 2020, 2021 og 2022 Bachelor i datalogi | Odense 2 E22
BA Centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2020, 2021 og 2022 Bachelor i datalogi | Odense 2 E23
BA Centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2023 Bachelor i datalogi | Odense 4 E22
BA Centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2023 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi et-faglig - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi et-faglig - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi et-faglig - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi et-faglig - optag 1. september 2022 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi et-faglig - optag 1. september 2022 og 2023 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2022 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2022 og 2023 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2022 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2022 og 2023 Bachelor i datalogi | Odense 4 E23
Ikke længere gældende pr. 31.aug 2020 - BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi et-faglig - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22

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.