# | Dato | Emne |
---|---|---|
0 | 05 FEB | Kursusintroduktion |
Introduktion til styresystemer | ||
1 | 12 FEB | Filer og Filsystemer |
2 | 19 FEB | Filsystemer (udviklerperspektiv) samt processer og tråde |
3 | 26 FEB | Processer, tråde og gensidig udelukkelse |
04 MAR | Forelæsning og øvelser aflyst | |
4 | 11 MAR | Deadlocks og deadlockhåndtering |
18 MAR | Forelæsning og øvelser aflyst | |
5 | 25 MAR | Memory management |
6 | 01 APR | Bemærk: 10:00-10:45 Memory management |
11:00-11:55 og 14:30-15:55 The Great OS Shoot-Out | ||
7 | 08 APR | Hardwareunderstøttelse |
8 | 15 APR | Interrupts og styresystemkernen |
9 | 22 APR | Interrupts og styresystemkernen (afsluttes). Device drivere |
10 | 29 APR |
Device drivere (afsluttes)
Links:
[opgaver]
Læs: [English, Kap. 8], [Love, Kap. 7,12,13] |
Coccinelle: Automated Collateral Evolution in the Linux Kernel | ||
11 | 06 MAJ |
Opsummering, mini-projekter, eksamen Bemærk: Ingen opgaveregning. Forelæsning starter kl. 14:30.
Links:
[slides]
|
12 | 08 MAJ | Mini-projekt |
13 | 13 MAJ | Mini-projekt |
14 | 15 MAJ | Mini-projekt |
Projektbeskrivelser mm. kan findes her.
Liste over studerende der har afleveret miniprojekt kan findes her.
Proces, procesbillede, tilstandsmodeller, proceskontrolblok, forskelle på tråde og processer.
Anvendelse, realisering, fordlee og ulemper, anvendelsesområder, implementation af multi-threading (kerneniveau vs. brugerniveau), proces- og tråd-kontrolblok, trådskift.
Anvendelse, realisering, mutex, race condition, definition og brug af semaforer, producer/consumer, implementation af semaforer, hardwareunderstøttelse (test-and-set, swap, exchange), udsultning (starvation), deadlocks, priority inversion, dining philosophers.
Definition af deadlock, nødvendige og tilstrækkelige betingerlser for deadlock, deadlock prevention, sikre tilstande, deadlock avoidance, deadlock detection and recovery, banker's algorithm.
Fast inddeling, dynamisk inddeling, virtuelt lager, demand paging, fragmentering (intern/ekstern), shared memory, copy-on-write, memory mapped I/O.
Adresserum, paging, adresseoversættelse (logisk til fysisk), pagefaults og håndtering af samme, sidetabeller (et- og to-niveau), inverteret sidetabel, MMU.
Paging og sidetabeller, sideerstatning (hvad og hvornår), sideerstatningsalgoritmer (OPT, LRU, FIFO, Clock) samt fordele og ulemper, fast-ramme allokering, dynamisk ramme-allokering, working-set.
Navnerum, realisering af filer og mapper, operationer på filer, metadata, åbning af filer, file descriptors, kontinuert allokering, kædet allokering, mapped allokering, indekseret allokering, disk-layout for FAT og ext2 samt fordele og ulemper.
Definition og forklaring (exceptions, traps, faults), realisering af systemkald, modeskift, kontekstskift, interruptstyret I/O (vs. anden I/O).
Definition og beskrivelse, grænseflader (kerne vs. device driver), typer af device drivere, implementation af device drivere, I/O manager og I/O schedulering (for blok devices: FIFO, CBF, SCAN, C-SCAN), collateral evolutions og Coccinelle.