Computersystemer (CompSys)

Kursusindhold

Kurset "Computersystemer" giver et overblik over essensen af maskinarkitekturer, styresystemer, og datanetværk. Kurset er rettet mod datalogistuderende, og søger at udvikle en grundlæggende forståelse for koncepter indenfor it-systemer. Efter kurset vil den studerende besidde evnen til at reflektere over den praktiske ydeevne af lavniveau programmer, samt besidde det faglige grundlag for senere praktiske og teoretiske kurser i datalogi.

Kursets indhold er tematisk opdelt som følger:

  • Talrepræsentationer, aritmetik, boolsk algebra, og kredsløbslogik
  • Instruktionssæt, (symbolsk) maskinsprog, processorarkitektur, og lagerhierarkier
  • Tråde, skedulering, og synkronisering
  • Processer og virtuel hukommelse
  • Filsystemer og I/O enheder
  • Datanetværk
  • Datasikkerhed

 

Kurset vil undervejs introducere studerende til en eller flere relevante systemprogrammeringssprog, samt relevante koncepter og teknikker indenfor systemprogrammering.

Engelsk titel

Computer Systems (CompSys)

Uddannelse

Bacheloruddannelsen i datalogi
Bacheloruddannelsen i naturvidenskab og it

Målbeskrivelse

Efter kurset forventes de studerende at have:

Viden om

  • Logiske komponenter til opbygning af beregningsenheder og hukommelseskomponenter, samt boolsk algebra.
  • Forskellige talrepræsentationer i et edb-system.
  • Basal pipelinet processorarkitektur, samt hazard-håndtering.
  • Enkelt og flere niveauers nærlager.
  • I/O enheder og interrupt-håndtering.
  • Styresystemers tråde- og procesabstraktioner.
  • Lagerhierarkier, virtuelle adresserum og deres understøttelse i hardware.
  • Klassiske synkroniseringsproblemer og associerede implementeringsmekanismer, såsom opdagelse af kapløbstilfælde og baglås.
  • Logisk og fysisk opbygning af forskellige filsystemer.
  • Lagdelt protokolstruktur i datanetværk (applikations-, transport-, netværks- og forbindelseslag).
  • Mekanismerne bag klassiske datanetværk, heruder pålidelig
    datatransmission, pakkekobling og medieadgang.
  • Basal anvendt kryptografi, og operationelle metoder til at sikre styresystemsmekanismer, netværksprotokoller og applikationer.

 

Færdigheder i at

  • Implementere enkle programmer i (symbolsk) maskinsprog, og oversætte programstumper skrevet i et systemprogrammeringssprog til tilsvarende maskinsprog.
  • Redegøre for de forskellige motivationer for samtidighed, lagerhierarkier, virtuel hukommelse og lagdelt protokolstruktur i edb-systemer.
  • Benytte gængse værktøjer til at foretage udvikling, modifikation og udvidelse af evt. netværksforbundne, flertrådede programmer på systemniveau, heriblandt håndtering af virtuel hukommelse og I/O på maskinniveau.
  • Systematisk afprøve, fejlrette og dokumentere programmel på systemniveau.

 

Kompetencer til at

  • Ræsonnere omkring processorarkitektur, lagerhierarkier, styresystemer og datanetværk.
  • Analysere ydeevnen af programmer baseret på viden om processorarkitektur, lagerhierarkier og styresystemer.
  • Designe og implementere den grundlæggende funktionalitet for forskellige
    styresystems- og netværkskomponenter.
  • Ræsonnere omkring korrektheden af flertrådede programmer, herunder
    strategier for undvigelse af kapløbstilfælde og baglås.
  • Ræsonnere omkring enkle sikkerhedsegenskaber for et
    givent system.

Forelæsninger og øvelsestimer med praktiske og teoretiske hjemmeopgaver, samt programmeringsprojekter afrapporteret med skriftlige rapporter (i grupper).

Programmering og problemløsning (PoP), eller et tilsvarende kursus, efter godkendelse af den kursusansvarlige.

Kendskab til programmering i et imperativt programmeringssprog, samt datastrukturer og basale algoritmer, som undervist i Diskret matematik og algoritmer (DMA).

ECTS
15 ECTS
Prøveform
Skriftlig prøve, 4 timer med opsyn.
Skriftlig prøve, 4 timer med opsyn.
Hjælpemidler
Alle hjælpemidler tilladt
Bedømmelsesform
7-trins skala
Censurform
Ekstern censur
Kriterier for bedømmelse

Se målbeskrivelsen.

Enkeltfag dagtimer (tompladsordning)

  • Kategori
  • Timer
  • Forberedelse
  • 54
  • Forelæsninger
  • 72
  • Eksamen
  • 20
  • Teoretiske øvelser
  • 78
  • Projektarbejde
  • 188
  • Total
  • 412