Dansk - English
Short version - Full version
Operating Systems (Spring 2013) |
|||
Course code : | IOSLX-U1 | ||
ECTS Credits : | 7,5 | Status : | Optional |
Revised : | 03/09 2010 | Written : | 28/04 2010 |
Placement : | 5. & 6. semester | Hours per week : | 4 |
Length : | 1 semester | Teaching Language : | English if English students are present |
Objective : | 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). |
||
Principal Content : | 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. |
||
Teaching method : | Theory combined with practical exercises and working on a number of assignments some of which involve the use of an embedded Linux. | ||
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 one of the mandatory assignments picked at random. | ||
Teaching material : | 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/) |
||
Responsible teacher : | Henning Haugaard
, henhu@dtu.dk |