Real-Time Operating Systems
This course is instructed in English, and it is intended for incoming Erasmus+ students too.
|Hour/sem||Lectures||Sem. Exercises||Lab. exercises||Comp. exercises||Other|
|Guarantee:||Strnadel Josef, Ing., Ph.D., DCSY|
|Lecturer:||Strnadel Josef, Ing., Ph.D., DCSY|
|Instructor:||Strnadel Josef, Ing., Ph.D., DCSY|
|Faculty:||Faculty of Information Technology BUT|
|Department:||Department of Computer Systems FIT BUT|
| || ||The primary goal of this course is to meet the participant with basics of real-time systems and to give the participant knowledge and skills necessary to design and develop embedded applications by means of real-time operating systems.|
| || ||A study of concepts, techniques, and standards in embedded operating systems including real time embedded operating systems. This course covers the following topics. Introduction. Basic Real-Time Concepts. Real-Time Specification, Verification and Design. Real-Time Kernels. Intertask Communication and Synchronization. Real-Time Memory Management. System Performance Analysis and Optimization. Queuing Models. Reliability, Testing and Fault Tolerance. Multiprocessing Systems. Hardware/Software Integration. Case Studies.|
|Knowledge and skills required for the course:|
| || ||Knowledge of operating system (OS) basics: overview of OS architectures, OS classification, UNIX kernel knowledge, OS service call principles, shell. Context switching, multitasking. File systems, processes, virtual memory. Basic skills of programming in C.|
|Subject specific learning outcomes and competences:|
| || ||Theoretical background (specification/verification) and practical knowledge of real-time operating systems. After completing the course students will appreciate the use of multitasking techniques in real-time systems, understand the fundamental concepts of real-time operating systems, understand the features and structures of practical implementations, appreciate how application areas (e.g. safety-critical, desktop, etc.) impact on real-time operating system facilities.|
|Generic learning outcomes and competences:|
| || ||Theoretical and practical orientation in the area of design cycle of real-time applications, competence to design applications based on real-time operating systems.|
|Syllabus of lectures:|
- Definition of basic terms related to real-time (RT) systems. Motivation.
- Introduction to RT specification and verification area.
- RT kernel architectures - typical attributes, problems and benchmarking principles.
- Timing analysis of RT kernels, principles of response-time analysis of particular RT kernel types.
- Overview and properties of common interfaces and scheduling policies in (RT)OS, priority-driven schedulers, POSIX 1003.1b.
- Case Studies: uC/OS-II, uC/OS-III, FreeRTOS.
- Case Studies: MQX, Autosar-OSEK/VDX, QNX.
- RT task model and introduction to RT task scheduling. RT task schedulability problem.
- Scheduling of independent, static- and dynamic-priority periodic RT tasks running in 1-CPU environment: RM, DM, EDF, LL.
- Joint scheduling of periodic, sporadic and aperiodic RT tasks using task servers.
- Scheduling of dependent, dynamic-priority RT tasks running in 1-CPU environment, priority inversion, blocking and deadlock prevention using resource access protocols: PIP, HLP, PCP, SRP, TBS, CBS.
- Mechanisms of scheduling RT tasks for architecture overload: Dover, LBESA, DASA.
- RT task scheduling for n-CPU environment (anomalies, RMNF, RMFF, RMBF, RMST, RMGT), fault-tolerance and low power (DVS, DPM).
|Syllabus of computer exercises:|
- Specification and verification of a simple RT system by means of UPPAAL tool.
- Design and implementation of a simple RT application by means of the API from uC/OS-II, FreeRTOS, MQX and/or QNX/Neutrino, POSIX 1003.1b.
- Comparing properties of given RTOS kernels (uC/OS-II, FreeRTOS, MQX).
- Introduction to Timestool and Cheddar tools for basic modeling and analysis of RT applications being described by a set of RT tasks with parameters.
- Utilization of TimesTool, Cheddar tools and uC/OS-II, FreeRTOS, MQX kernels for advanced analysis (e.g. examining properties of resource access protocols and scheduling policies designed for overload, multiprocessor or low-power conditions).
|Syllabus - others, projects and individual work of students:|
- Individual or group project.
- Butazzo, G.: Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications. Springer, 2011, 524 p., ISBN 978-1-4614-0675-4.
Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. John Wiley & Sons, 2002, 266 p., ISBN 0-470-84766-2.
- Kopetz, H.: Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer, 2011, 378 p., ISBN 978-1-4419-8236-0.
Labrosse, J. J.: MicroC OS II: The Real Time Kernel. Newnes, 2nd ed., 2002, 648 p., ISBN 978-1578201037.
Cheng, A. M. K.: Real-Time Systems: Scheduling, Analysis, and Verification. Wiley, 2002, 552 p., ISBN 0-471-18406-3.
- Joseph, M.: Real-Time Systems Specification, Verification and Analysis. Prentice Hall, 1996, p. 278, ISBN 0-13-455297-0.
- Krishna, C. M., Shin, K. G.: Real-Time Systems. McGraw-Hill, 1997, 448 s., ISBN 0-07-114243-6.
Laplante, P. A.: Real-Time Systems Design and Analysis. Wiley-IEEE Press, 2004, 528 p., ISBN 0-471-22855-9.
- Levi, S. T., Agrawala, A. K.: Real-Time System Design. McGraw-Hill, 1990, 299 s., ISBN 0-07037-491-0.
- Li, Q., Yao, C.: Real-Time Concepts for Embedded Systems. CMP Books, 1st Edition, 2003, 294 s., ISBN 1-57820-124-1.
| || ||Following activities are monitored: attendance and activity during lectures, computer labs and progress of project-related works.|
| || |
- 4 laboratory reports with defense and due-date submission to IS (12 points max, out of that: 6 points for solution functionality, 3 points for solution quality, 3 points for solution defense quality)
- Written mid-term test (15 points max)
- Project with defense and due-date submission to IS (18 points max, out of that: 9 points for solution functionality, 5 points for solution quality, 4 points for solution defense quality)
- All works have to be submitted by their deadlines; late submissions will be evaluated by 0 points
| || ||No conditions are applied.|