Dansk - English

Kort version - Fuld version


Operating Systems (Efterår 2012)

Kursuskode : IOSLX-U1
ECTS Point : 7,5 Status : Tilvalg
Revideret : 03/09 2010 Oprettet : 28/04 2010
Placering : 5. & 6. semester Timer pr. uge : 4
Længde : 1 semester Undervisningssprog : Engelsk hvis der er engelsksprogede tilstede

Målsætning : Pervasive computing has grown to be a vast market and the number of processors used in embedded systems greatly outnumbers any other application area. For a long time such systems were mainly characterized by consisting of dedicated hardware and application specific software. The fast growth of the market, however, has led to a greater demand for standard hardware modules in combination with some kind of embedded operating system offering a base for program development and appropriate development tools.
Embedded Linux versions are for several good reasons the fastest growing operating system in that field.
The purpose of this study module is to provide the background and the context for understanding the principles behind operating system design as well as a working knowledge and hands-on experience of how these principles are put into practice in a real operating system exemplified by some version of embedded Linux.

At the end of the course the student will be able to:
1. (a) Describe important functional parts of an embedded operating system and its hardware prerequisites.
2. (a) Describe and (b) explain how the operating system provides an abstraction of the computer system resources and (c) reflect on how these abstractions are used in application programming through APIs.
3. (a) Identify, (b) explain, and (c) demonstrate operating system services used in a system consisting of one or more microcomputers.
4. (a) Describe and (b) explain different policies for CPU sharing and (c) discuss those policies emphasizing their real-time aspects and consequences.
5. (b) Explain techniques applicable to ensure safe and correct synchronization of concurrent activities and their access to shared resources and (c) reflect on how the operating system with support from the hardware makes these available to the programmer.
6. (b) Explain and (c) demonstrate installation and setup of a Linux based platform for cross development of applications and / or system software for an embedded microprocessor system.

Grading follows the official statutory order on the 7-point grading scale:

2 This grade is for the acceptable performance where the student have accomplished the learning goals 1 to 4 corresponding to a level indicated by (a).
7 This grade is given for the good performance where the student has accomplished the learning objectives to a level corresponding to above mentioned (a) and (b).
12 This grade is given for the excellent performance where the student has accomplished all of the learning objectives corresponding to a level of the above mentioned (a), (b), and (c).
Hovedindhold : Installing and Using the OpenWRT System.
The file system
Shells and commands
Processes and Threads.
Cooperating Processes and Synchronization
Memory Management and Virtual Storage.
IO-system, Device drivers, and Device Management.
Networks and Distributed Computing.
Undervisningsform : Theory combined with practical exercises and working on a number of assignments some of which involve the use of an embedded Linux.
Krævede forudsætninger : General knowledge of programming. A basic knowledge of C (or C++) will be an advantage
Anbefalede forudsætninger : none
Relationer : -
Prøveform : Se under bemærkninger
Censur : Intern
Bedømmelse : 7-trinsskala
Bemærkninger : Individual oral examination based on one of the mandatory assignments picked at random.
Undervisningsmateriale : 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/)
Ansvarlig underviser : Henning Haugaard , henhu@dtu.dk