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.
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
.
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
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
Undervisningen tilrettelægges i henhold til de generelle undervisningsformer for uddannelsen jf. § 17.
Det forventes at den studerende bruger 27,5 timer per ECTS, hvilket for denne aktivitet betyder 137,5 timer.
Prøvens navn | Computerarkitektur og operativsystemer |
Prøveform | Skriftlig eller mundtlig |
ECTS | 5 |
Bedømmelsesform | 7-trins-skala |
Censur | Ekstern prøve |
Vurderingskriterier | Vurderingskriterierne er angivet i Universitetets eksamensordning |
Engelsk titel | Computer Architecture and Operating Systems |
Modulkode | ESNSWCB413 |
Modultype | Kursus |
Varighed | 1 semester |
Semester | Forår
|
ECTS | 5 |
Undervisningssprog | Dansk |
Tomplads | Ja |
Undervisningssted | Campus København |
Modulansvarlig |
Uddannelsesejer | Bachelor (BSc) i teknisk videnskab (software) |
Studienævn | Studienævn for Elektronik og IT |
Institut | Institut for Elektroniske Systemer |
Fakultet | Det Teknisk Fakultet for IT og Design |