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 |