Skip to main content
Skip header

Real Time Operating Systems

Type of study Follow-up Master
Language of instruction English
Code 450-4009/04
Abbreviation OSRČ
Course title Real Time Operating Systems
Credits 4
Coordinating department Department of Cybernetics and Biomedical Engineering
Course coordinator Ing. Zdeněk Slanina, Ph.D.

Subject syllabus

Lectures:
• Fundamentals of operating systems. Real-time requirements and its use in control systems. Comparison with operating systems for common use.
• Basic concepts. Hard and soft real-time. Parallelism and its solutions on various hardware platforms. Preemptive and cooperative multitasking.
• Processes and threads. Comparison of different models used in real-time operating systems.
• Real-time operating system kernel. Microkernel, monolithic and hybrid kernels.
• Issues of operating system for a control application choose.
• Overview of real-time operating systems. QNX. Linux and its real-time expansion. FreeRTOS.
• Processes and threads synchronization in real-time operating system. Deadlines. Process scheduling.
• Synchronous and asynchronous communication between the processes. Messages, signals.
• Shared resource management. Path expression. Mutex, semaphore and other tools.
• Memory management methods suitable for real-time tasks. Static and dynamic memory allocation. Memory fragmentation and defragmentation.
• Interrupt handling and communication with peripherals. Drivers for real-time operating systems.
• File systems and their comparison with standard operating systems. File protection mechanism.
• POSIX standard for real-time operating systems. Windows operating systems and its real-time extension. Perspectives of operating system development for real-time work. Fault tolerant systems. Programming languages.

Projects:
• Project 1 - Implementation of control application for Raspberry Pi platform (or minicomputers with real-time operating system). The project is solved in teams and topic is interconnection of real peripherals and their real-time control.

Computer laboratories:
• Practical introduction to the real-time operating system architecture.
• Project 1 assignment. Terminal basics.
• Fundamentals work in the development environment for real-time applications.
• Processes and threads.
• Process and thread scheduling.
• Process synchronization and intercommunication.
• Interrupt handling in real-time application.
• Memory management.
• Implementation of a simple driver for the real-time operating system.
• Using operating system tools to run real-time applications.
• Processing of project 1.
• Presentation of project 1.
• Credit test.
• Credit.

Literature

Valvano, J.: Embedded Systems: Real-Time Operating Systems for Arm Cortex M Microcontrollers. CreateSpace Independent Publishing Platform; 0002- edition (January 3, 2012). ISBN-13: 978-1466468863 .
Cheng A.M.K.: Real-Time Systems Sheduling, Analysis and Verification, J. Wiley 2002
Tanenbaum A.S., Operating Systems - Design and Implementation (3rd Edition). Prentice Hall; 3 edition (January 14, 2006), ISBN-13: 978-0131429383 .
Laplante, P.A., Ovaska, S.J.: Real-Time Systems Design and Analysis: Tools for the Practitioner. Wiley-IEEE Press; 4 edition (November 22, 2011). ISBN-13: 978-0470768648 .
Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications (Real-Time Systems Series). Springer; 2nd ed. 2011 edition (April 20, 2011). ISBN-13: 978-1441982360 .

Advised literature

Northcutt J.D.: Mechanismus for Reliable Distributed Real-Time Operating Systems, The Alfa Kernel, Academic Press 1987