Skip to main content
Skip header

Real Time Operating Systems

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code450-4009/03
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *Second Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
SLA77Ing. Zdeněk Slanina, Ph.D.
Summary
Students are introducing on base knowledge of real-time operating systems.
Students will be ready for practical analyzes using real-time operating systems (RTOS) for various applications, especially for control applications. They will be also ready to choice RTOS for the selected application and apply this RTOS. There are explaining special using practices in RT operating systems. In the last part are introducing real-time operating systems applications in embedded systems. In laboratory there are confirmed real-time attributes of RT operating systems on QNX operating system for personal computers. Students are testing also other real-time operating systems e.g. for embedded control system. This subject is suitable for students another branches of study, which want familiarize with real-time operating systems.
Learning Outcomes of the Course Unit
The goal of subject is introduce students on base knowledge of real-time operating systems (RTOS). Students will be ready for practical analyzes using real-time operating systems for various applications, especially for control applications. They will be ready for choice of the real-time operating system for selected applications.
Course Contents
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.
Recommended or Required Reading
Required Reading:
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.
Srovnal,V: Operační systémy reálného času. Elektronické učební texty na stránkách FEI VŠB TUO, 2012
Srovnal,V: Operační systémy pro řízení v reálném čase. VŠB Technická univerzita, Ostrava 2003

QNX. Dostupné online na www.qnx.com.
FREERTOS. Dostupné online na www.freertos.org.
Operační systémy reálného času. Stránky předmětu dostupné online v rámci univerzity na http://rc111.vsb.cz/osr.
Recommended Reading:
Northcutt J.D.: Mechanismus for Reliable Distributed Real-Time Operating Systems, The Alfa Kernel, Academic Press 1987

Čada, O.: Operační systémy. Praha, Grada 1994

Planned learning activities and teaching methods
Lectures, Tutorials, Experimental work in labs, Project work
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Credit and ExaminationCredit and Examination100 (100)51
        CreditCredit40 (40)20
                ProjektProject25 15
                Zápočtový testWritten test15 5
        ExaminationExamination60 (60)31
                Písemná zkouška Written examination40 25
                Ústní zkouškaOral examination20 6