|Course Unit Code||450-4009/04|
|Number of ECTS Credits Allocated||4 ECTS credits|
|Type of Course Unit *||Optional|
|Level of Course Unit *||Second Cycle|
|Year of Study *|
|Semester when the Course Unit is delivered||Winter Semester|
|Mode of Delivery||Face-to-face|
|Language of Instruction||Czech, English|
|Prerequisites and Co-Requisites ||Course succeeds to compulsory courses of previous semester|
|Name of Lecturer(s)||Personal ID||Name|
|SLA77||Ing. Zdeněk Slanina, Ph.D.|
|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.|
• 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.
• 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.
• 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.
|Recommended or 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.
|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|
|Tasks are not Defined|