450-4009/04 – Real Time Operating Systems (OSRČ)
Gurantor department | Department of Cybernetics and Biomedical Engineering | Credits | 4 |
Subject guarantor | Ing. Zdeněk Slanina, Ph.D. | Subject version guarantor | Ing. Zdeněk Slanina, Ph.D. |
Study level | undergraduate or graduate | | |
| | Study language | English |
Year of introduction | 2019/2020 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
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.
Teaching methods
Lectures
Tutorials
Experimental work in labs
Project work
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.
Compulsory 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.
Recommended literature:
Northcutt J.D.: Mechanismus for Reliable Distributed Real-Time Operating Systems, The Alfa Kernel, Academic Press 1987
Additional study materials
Way of continuous check of knowledge in the course of semester
Verification of study:
• Tutorials
• Conditions for credit: (40 points, min. 20):
• Credit test – min 5 points, max 15 points
• Project no 1 - min 15 points, max 25 points including project results presentation.
Exam:
Written part - min. 25 points - max. 40 points.
Oral part - min. 6 points - max. 20 points.
E-learning
Other requirements
There are not defined other requirements for student.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
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.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction