Dansk - English

Short version - Full version


Operating Systems (Spring 2010 ) (Spring 2010)

Course code : IOSLX4-U1
ECTS Credits : 5 Status : Compulsory
Revised : 06/02 2010 Written : 27/01 2009
Placement : 4. semester Hours per week : 4
Length : 1 semester Teaching Language : English if English students are present

Objective : Objective:
Pervasive computing has grown to be a vast market and the number of processors used in embedded systems greatly outnumber 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 af base for program development and 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.
Through practical exercises the students will acquire a working knowledge of how these principles are put into practice in real operating systems in casu exemplified by versions of embedded Linux.

Learning objectives:
at the end of the course the student should be able to:

1. describe the important functional parts of an embedded operating system and its hardware prerequisites
2. describe and explain how the operating system provides an abstraction of the computer systems resources to the application and the programmer at various levels
3. describe and explain the workings of important parts of the API offered by the covered operating system and use these for common tasks as exemplified through the programming labs, exercises, and projects.
4. describe, explain, and demonstrate the workings of the interrupt system in connection with input-output.
5. use, describe and explain methods for Inter Process Communication on a single computer system as well as over a network
6. explain and discuss different policies for CPU sharing emphasizing realtime aspects.
7. explain important problems resulting from resource sharing and concurrency 8. explain the techniques applicable to ensuring safe and correct synchronization of concurrent activities and their access to shared resources, and how the operating system with support from the hardware makes these available to the programmer
9. describe and explain solutions to the common synchronization problems covered during the course
Grading follows the official statutory order on the 7-point grading scale:

12 This grade is given for the excellent performance. The student has accomplished the learning objectives with no or only a few unimportant shortcomings
7 This grade is given for the good performance. The student has accomplished the learning objectives but with some shortcomings.
2 This grade is for the acceptable performance where the student have accomplished the learning goals to an just acceptable degree.

The evaluation of the level of accomplishment of the learning goals is based on a professional judgement by the teacher and the ‘external’ examiner.
Principal Content : Principal content:

Using the OpenWRT 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.
Teaching method : Theory combined with practical exercises and working on an assignment.
Required prequisites : General knowledge of programming. A basic knowledge of C (or C++) will be an advantage
Recommended prerequisites : None
Relations : -
Type of examination : Look under remarks
External examiner : Internal
Marking : 7 step scale
Remarks : Individual oral examination based on assignments or projects and theoretical subjects picked at random.
The duration of the examination is approximately 30 minutes per student
Teaching material : Textbook:
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/)
Responsible teacher : Henning Haugaard , henhu@dtu.dk