Computerarkitektur og operativsystemer

2022/2023

Anbefalede faglige forudsætninger for at deltage i modulet

Modulet bygger videre på viden opnået i modulerne programmering, internetnetværk og web-programmering.

Modulets indhold, forløb og pædagogik

Give forståelse for hvordan applikationer afvikles på en computer i samspil med system software, udnytte dette til effektivisering af programmer, samt introducere multiprogrammering.  

Programmer skrives i højniveausprog, oversat til maskinkode og dernæst afviklet på datamater i samspil med dets operativ-system. Kurset giver den studerende et kendskab til de forskellige trin i oversættelser og afvikling af højniveau-programmer på datamater, heriblandt hvordan en konkret processor afvikler et program.

Kurset introducerer også hvordan arkitekturen og system services kan udnyttes i applikationsprogrammer med fokus på samtidighed.

I dette kursus opnår den studerende kendskab til grundlæggende begreber inden for computer arkitektur, operativ systemer, og samtidighed.

Læringsmål

Viden

  • abstraktionslag i computer arkitektur og operativ systemer
  • organisering af hardware komponenter (processor, hukommelser, ydre-enheder, busser,…)

  • processor arkitekturer (Harvard, von Neuman) og typer (indlejrede, desktop, high-performance, server, micro-controllers, DSP)

  • tal-og data repræsentation.

  • instruktionssæt arkitekturer

  • instruktionsniveau parallelisme

  • digitale logiske kredsløb og Boolsk algebra

  • lagerhierarkiet

  • virtuel hukommelse

  • køretidsmiljøet for et kørende program

  • afbrydelser (interrupts), systemkald, og undtagelser

  • kerner og Operativsystemer, Virtuelle maskiner

  • multiprogrammering: processer og tråde, synkronisering, deadlocks

  • grundlæggende Multi-core programmering

.

Færdigheder

  • kunne forklare opførslen af simpelt program på assembler-niveau

  • kunne forstå og udnytte specielle instruktioner i programmer

  • kunne skrive programmer så de udnytter computerens hardware og processor bedst muligt, fx lager-hierarkiet, instruktions-niveau parallelitet, og eksplicit parallelitet

  • kunne analysere og skrive simple, system-nære programmer der benytter sig af parallelitet og/eller samtidighed

  • kunne anvende fagets teknikker til at sikre gensidig udelukkelse, fairness og fravær af baglås i simple samtidige/parallelle systemer

  • anvende korrekt fagterminologi, kunne redegøre præcist og ved brug af fagets terminologi og notation for opbygning, strukturering, funktionalitet og virkemåde af computer arkitekturen og styresystemer

Kompetencer

  • Den studerende kan efter kurset både selvstændigt og i samarbejde med andre formulere og løse simple lavniveau-relaterede problemstillinger som er funderet i viden om computerarkitektur, køretids miljøer, operativsystemer, mm.

  • Den studerende skal, ved syntese af fagets begreber og teknikker, kunne udvikle system-nære simple programmer, der benytter sig af parallelitet og /eller samtidighed.

  • Den studerende skal kunne tilegne sig ny viden om styresystemer samt programmering af samtidige og parallelle systemer

Undervisningsform

Undervisningen tilrettelægges i henhold til de generelle undervisningsformer for uddannelsen jf. § 17.

Omfang og forventet arbejdsindsats

Det forventes at den studerende bruger 30 timer per ECTS, hvilket for denne aktivitet betyder 150 timer.

Eksamen

Prøver

Prøvens navnComputerarkitektur og operativsystemer
Prøveform
Skriftlig
ECTS5
Bedømmelsesform7-trins-skala
CensurEkstern prøve
VurderingskriterierVurderingskriterierne er angivet i Universitetets eksamensordning

Yderligere informationer

Kontakt: Studienævn for datalogi via cs-sn@cs.aau.dk eller 9940 8854

 

Fakta om modulet

Engelsk titelComputer Architecture and Operating Systems
ModulkodeDSNDATFB413
ModultypeKursus
Varighed1 semester
SemesterForår
ECTS5
UndervisningssprogDansk
TompladsJa
UndervisningsstedCampus Aalborg
Modulansvarlig

Organisation

StudienævnStudienævn for Datalogi
InstitutInstitut for Datalogi
FakultetDet Teknisk Fakultet for IT og Design