2013/2014

62556 Operating Systems and Embedded Linux

Engelsk titel:

Operating Systems and Embedded Linux

Sprog:

Point( ECTS )

7,5

Kursustype:

Diplomingeniør
 

Skemaplacering:

Forår
Efterår

Undervisningens placering:

Campus Ballerup

Undervisningsform:

Theory combined with practical exercises and a number of assignments involving practical use of (an embedded) Linux.

Kursets varighed:

[Kurset følger ikke DTUs normale skemastruktur]

Evalueringsform:

Bedømmelsesform:

Tidligere kursus:

IOSLX-U1

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 ydelser, som leveres af et moderen operativsystem.
  • forklare begrebet lagdeling og beskrive et operativsystems interne struktur som et hierarki af abstraktionslag.
  • forklare hvordan brugen af 'interrupts', 'dispatching' og 'contect switching' muliggør samtidig afvikling af flere programmer (concurrency eller multitasking).
  • reflektere over behovet for 'concurrency' og demonstrere sådanne problemer, som kan forårsages af multitasking.
  • forklare nødvendigheden af gensidig udelukkelse ('mutual exclusion') og synkronisering i systemer med multitasking og demonstrere anvendelsen af operativsystemets mekanismer til synkronisering og kommunikation mellem processer ('inter process communication').
  • beskrive hvad man forstår ved et tidstro system ('real-time system') og opsummere de særlige problemstillinger i tidstro systemer og hvordan disse problemstillinger håndteres.
  • forklare og sammenligne almindeligt forekommende algoritmer til 'preemptive' og 'non-preemptive scheduling' og i særdeleshed diskutere sådanne algoritmer som er egnede til realtids formål.
  • forklare begrebet virtuelt lager og hvordan det er realiseret i hardware og software.
  • sammenligne og forklare fordele og ulemper ved forskellige måder, hvorpå en fil kan organiseres.
  • forklare et filsystems grundlæggende karakteristika og almindeligt forekommende filsystemer til UNIX-lignende systemer og deres indpasning i indlejrede systemer.
  • beskrive grundlæggende kommandoer og kommandofortolkerens ('shell') opgaver.
  • begrunde nødvendigheden af beskyttelse og sikkerhed og forklare brugen af 'access control lists' og kapabilitetslister til opretholdelse af tilgangsrettigheder.

Kursusindhold:

- Overblik over Linux distributioner til indlejrede systemer og deres typiske karakteristika.
- Værktøjer til krydsudvikling.
- Filsystemer.
- Kommandofortolkeren og kommandoer.
- Processer og tråde.
- Samarbejdende processer og synkronisering.
- Lageradministration og virtuelt lager
- IO-systemet, 'device drivers', and administration af IO-enheder.
- Sikkerhedsaspekter: konfidentialitet, integritet, tilgængelighed, pålidelighed.

Litteraturhenvisninger:

Textbook:
Will be announced at the beginning of the course.

Supplementary:
Linux Device Drivers Third Edition
Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
ISBN 0-596-00590-3. O'Reilly Media
(The book can be downloaded for free from http:/​/​lwn.net/​Kernel/​LDD3/​)

Bemærkninger:

Den studerende skal i løbet af kurset løse et antal obligatoriske opgaver. Til hver opgave skal udarbejdes en øvelsesrapport som opsummerer teorien og beskriver den udarbejdede løsning og eventuelle måleresultater.
Ved eksamen skal den studerende præsentere en af de obligatoriske opgaver. Opgaven vælges ved lodtrækning. Fremlæggelsen skal dække relevant teori såvel som en redegørelse for den praktiske løsning af opgaven. Eksaminationen af en studerende varer ca. 30 minutter.

Kursusansvarlig:

Henning Haugaard , Ballerup Campus, rum X 2.49, Tlf. (+45) 3588 5194 , henhu@dtu.dk

Institut:

62 DTU Diplom

Kursushjemmeside:

-

Tilmelding:

I CampusNet
Sidst opdateret: 08. juli, 2013