Real Time Operating Systems
FEKT-MRTSAcad. year: 2017/2018
This module provides an introduction to the theoretical and practical aspects of implementation control task into the real-time operating system. The module structure enables to meet the students step-by-step with the important features related to design of control system like: Task analysis, choosing suitable hardware architecture and real-time operating system, design simultaneous processes and synchronization with respect to the time boundaries and shared resources, synthesis and verification of the control task on the target platform. Module introduces student with the methodology analyse-verify-implement in order to achieve higher reliability and safety of the entire system. Most of the theoretical findings are explored on practical examples and the good understanding of the module’s content is examined by the final project.
Learning outcomes of the course unit
By the end of the module, the student will be able to:
Explain basic terms in the area of real-time operating systems, planning and scheduling algorithms, synchronization of the parallel tasks, symmetric and asymmetric multiprocessing.
Define basic performance characteristic of the specific real-time operating system either from documentation or from the suitable performed experiments.
Describe architecture x86 and ARM and to make a qualified decision about utilization of it for a specific task.
Analyse and evaluate for a specific task hardware and software requirement of the control system.
Analyse and evaluate for a specific task its time boundaries.
Analyse and evaluate for a specific task shared resources and to choose and implement suitable algorithm for the resource access and synchronisation.
Generate an analysis, verification and synthesis of the critical parts of a task in a suitable tool.
Identify simultaneous parts of the task and to implement them in the selected API.
Identify and evaluate basic characteristics of the system with respect to the Fault-tolerant behaviour.
Student should have sufficient competences from practical programming in a higher programming language like C, C++ or C#. Student should be able to analyse a task that is described verbally or by a diagram. Student should have basic acquirement of competences from digital circuits, processor systems, theory of control, statistic, probability theory and physics. Great advantage is a determination to work individually or within a team on the project related to control systems.
Recommended optional programme components
Recommended or required reading
Douglas, B., P. Doing Hard Time, Reading, Mass.:Addison-Wesley, 2000 (EN)
Li, Q., Yao, C. Real-Time Concepts for Embedded Systems:CMP Books, 2003 (EN)
Chowdary, V. P. Simple Real-time Operating System: A Kernel Inside View for a Beginner, Trafford Publishing, 2007 (EN)
Planned learning activities and teaching methods
The module will be regularly lectured with laboratory exercises, home works and a final project according to the paragraph 7 of BUT Rules for Studies and Examinations
Assesment methods and criteria linked to learning outcomes
In accordance with the paragraph 13 BUT Rules for Studies and Examinations, the percentage gain from different activities in this module is as follow:
10 % home works.
30 % final project.
50 % written part of the final exam.
10 % oral part of the final exam.
Only students with submitted and evaluated final project are allowed to proceed to the final exam.
Language of instruction
1. Old fashioned control systems, advantages and disadvantages.
2. Multitasking operating system. Overview of RTOS.
3. Task synchronization (event, mutex, semafor, critical section, shared object).
4. Deadlines (Race condition, deadlock, livelock, starvation, priority inversion).
5. Scheduling algorithms for uniprocessor and multiprocessor architectures. Architecture x86 and ARM.
6. Basic terms and definitions in RTOS.
7. Analysis of the RTOS parameters, time driven and event driven systems.
8. Analysis of the real-time control task requirements.
9. Analysis, verification and implementation of the task.
10. HMI systems, relation to non-real-time systems.
11. Memory management in RTOS.
12. Fault-tolerant systems.
In this module students will learn how to implement control algorithms into 32bits real-time operating systems with respect to the reliability and safety of the control system.
Specification of controlled education, way of implementation and compensation for absences
Controlled tuition in this module is determined by the paragraph 7.5 of BUT Rules for Studies and Examinations and it is performed by a lecturer in accordance with the common sense in the academic sphere.