Valid from: Spring 2022
Decided by: Professor Thomas Johansson
Date of establishment: 2021-12-20
Division: Automatic Control
Course type: Third-cycle course
Teaching language: English
The aim of the course is to study the internal workings of several real-time operating systems (RTOS) for embedded systems. The students will also get some practical experience in programming such systems using a particular RTOS.
Knowledge and Understanding
For a passing grade the doctoral student must
Competences and Skills
For a passing grade the doctoral student must
The difference between a general-purpose operating system, such as Windows or Unix, and a real-time operating system (RTOS) is that the latter needs to respond to events within a deterministic and bounded time. In the course, we will study the basic characteristics of RTOSs, including – tasks and their implementation, – scheduling algorithms, – internal and external communication, – memory management. We will explore the internal workings of three different open source RTOS projects: (i) tinyOS, (ii) FreeRTOS, and (iii) Contiki-NG. We will also briefly study the real-time capability offered by Linux via the RT_PREEMPT patch.
Lecture material and handin assignments will be created by the participants and the course leaders. The source material will mainly consist of technical documentation of various RTOSs: - http://www.tinyos.net - https://www.freertos.org - https://www.contiki-ng.org - https://rt.wiki.kernel.org
Types of instruction: Lectures, exercises. The course is driven by the participants and contains six lectures and associated handin assignments.
Examination formats: Written assignments, seminars given by participants.
To pass, the student must perform the following activities:
1) Prepare and hold a lecture on a given topic related to real-time operating systems.
2) Prepare an assignment to be released together with the held lecture. The assignment could be either practical or theoretical, depending on the student’s preference and designated topic.
3) Complete all the assignments provided by the other participants of the course.
Grading scale: Failed, pass
Examiner:
Assumed prior knowledge: Basic knowledge in programming, operating systems, and real-time systems.
Course coordinator: Anton Cervin <anton.cervin@control.lth.se>