Informatik(100%)
IT, Ballerup: 4. semester
Kurset udbydes ikke til undervisning i F16 kun til re-eksamen
Del af 4. semester IT, skal tages sammen med 62503 og 62504
Aftales med underviser, Mundtlig eksamen sidst i
3 ugers perioden.
Evalueringsform:
Bedømmelsesform:
Pointspærring:
Anbefalede forudsætninger:
,
Overordnede kursusmål:
Pervasive computing ("it-i-alting") har udviklet sig til
et meget betydeligt marked, og antallet af computere anvendt i
indlejrede systemer overstiger langt alle andre anvendelser af
computere. Tidligere bestod sådanne systemer overvejende af
specialbygget hardware og anvendelsesspecifik software. Markedets
hurtige vækst har øget behovet for de facto standarder for både
hardware og software. Førstnævnte i form af CPU-moduler med et
passende udbud af IO-interfaces og busser. Sidstnævnte i form af et
'passende' operativsystem som basis for programudvikling og
understøttet af udviklingsværktøjer og her er 'embedded
Linux' af mange gode grunde blevet industriens foretrukne
platform.
Dette kursus har til formål at bibringe den nødvendige baggrund og
sammenhæng for at forstå de principper, der ligger til grund for
operativsystemers udformning og praktisk viden om, hvordan disse
principper er realiseret og virker i et aktuelt operativsystem.
Kursets praktiske element baseres på en de facto standard
HW-platform kombineret med en Linux distribution beregnet til
indlejrede systemer.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Identificere de tjenester som typisk tilbydes af et moderne
operativsystem.
Redegøre for lagdelte software arkitekturer og beskrive
operativsystemets interne struktur som et hierarki af
'abstraction layers'.
Beskrive hvorledes anvendelsen af afbrydelser
('interrupts'), 'dispatching' og 'context
switching' understøtter multiprogrammering og
multitasking.
Reflektere over behovet for samkørende
processer/'multitasking' og identificere og demonstrere
sådannne problemer, som optræder i forbindelse med
'multitasking''.
Forklare nødvendigheden af gensidig udelukkelse og
synkronisering i systemer med multitasking og demonstrere
operativsystemets mekanismer til synkronisering og kommunikation
mellem processer.
Forklare hvori et tidstro system består og sammenfatte de
særlige problemstilliinger i tidstro systemer og håndteringen
heraf.
Sammenligne og vurdere almidelige algoritmer til
'preemptive' og 'non-preemptive scheduling' og især
diskutere sådanne scheduling algoritmer som er anvendelige i
tidstro systemer.
Forklare begrebet virtuelt lager og dets realisering i hardware
og software.
Sammenligne og vurdere forskellige filstrukturer med hensyn til
fordele og ulemper.
Beskrive de grundlæggende karakteristika for et filsystem og
nogle almindeligt udbredte filsystemer i UNIX-lignende systemer og
deres tilpasning til indlejrede systemer.
Beskrive almindelige operativsystem kommandoer og
kommandofortolkerens (såkaldt shell) opgaver.
Argumentere for behovet for beskyttelse og sikkerhed og
forklare anvendelsen af 'access control lists' og
kapabilitetslister i forbindelse med opretholdelse af
adgangskontrol
Kursusindhold:
- Indlejret Linux - forskellige distriibuutioner og deres
karakteristiika.
- Værktøjer til krydsudvikling ('cross development').
- Filsystemet.
- Shells og kommandoer.
- Processer og tråde.
- Samarbejdende processer og synnkronisering.
- Lageradministration og virtuelt lager.
- IO-systemet, ''Device drivers' og
enhedsadministration.
- Sikkerhed: fortrolighed, pålidelighed, tilgængelighed,
ansvarlighed.
Litteraturhenvisninger:
Lærebog:
Meddeles ved kursusstart.
Supplerende:
Linux Device Drivers Third Edition
Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
ISBN 0-596-00590-3. O'Reilly Media
(Denne bog kan downloades fra
http://lwn.net/Kernel/LDD3/)
Bemærkninger:
Mundtlig eksamen baseret på fjerde semesters projekt og et
tilfældigt trukket teoretisk emne.