Course details

Real-Time Operating Systems

ROS Acad. year 2014/2015 Winter semester 5 credits

Current academic year

A study of concepts, techniques, and standards related to embedded real-time operating systems. Topics include: 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. Multiprocessor Systems. Hardware/Software Integration. Case Studies.

Guarantor

Language of instruction

Czech

Completion

Examination

Time span

Department

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.

Theoretical and practical orientation in the area of design cycle of real-time applications, competence to design applications based on real-time operating systems.

Learning objectives

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.

Prerequisite knowledge and skills

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.

Study literature

  • Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. John Wiley & Sons, 2002, 266 s., ISBN 0-470-84766-2.
  • Labrosse, J. J.: MicroC OS II: The Real Time Kernel. Newnes, 2nd ed., 2002, 648 s., ISBN 978-1578201037.
  • Laplante, P. A.: Real-Time Systems Design and Analysis. Wiley-IEEE Press, 2004, 528 s., ISBN 0-471-22855-9.
  • Strnadel, J.: Studijní opora k předmětu ROS. FIT VUT v Brně, Brno, 2006, 120 s.
  • Strnadel, J.: Návrh časově kritických systémů I: specifikace a verifikace, Automa, roč. 2010, č. 10, CZ, s. 42-44, ISSN 1210-9592
  • Strnadel, J.: Návrh časově kritických systémů II: úlohy reálného času, Automa, roč. 2010, č. 12, CZ, s. 18-19, ISSN 1210-9592 
  • Strnadel, J.: Návrh časově kritických systémů III: priorita úloh, Automa, roč. 2011, č. 2, CZ, s. 50-52, ISSN 1210-9592
  • Strnadel, J.: Návrh časově kritických systémů IV: realizace prostředky RTOS, Automa, roč. 2011, č. 4, CZ, s. 58-60, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - I: závislé úlohy, Automa, roč. 18, č. 10, 2012, CZ, s. 42-45, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - II: neperiodické úlohy, Automa, roč. 18, č. 11, 2012, CZ, s. 44-46, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - III: přetížení systému, Automa, roč. 18, č. 12, 2012, CZ, s. 44-47, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - IV: víceprocesorové prostředí, Automa, roč. 19, č. 1, 2013, CZ, s. 44-46, ISSN 1210-9592
  • Strnadel, J.: Plánování úloh v systémech RT - V: zvyšování provozuschopnosti systémů, Automa, roč. 19, č. 2, 2013, CZ, s. 46-49, ISSN 1210-9592

Fundamental literature

  • Cheng, A. M. K.: Real-Time Systems: Scheduling, Analysis, and Verification. Wiley, 2002, 552 s., ISBN 0-471-18406-3.
  • Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. John Wiley & Sons, 2002, 266 s., ISBN 0-470-84766-2.
  • Horovčák, P.: Systémy reálneho času. Elfa, Košice, 2002, 141 s., ISBN 80-89066-29-1 (brož.).
  • Joseph, M.: Real-Time Systems Specification, Verification and Analysis. Prentice Hall, 1996, 278 s., ISBN 0-13-455297-0.
  • Krishna, C. M., Shin, K. G.: Real-Time Systems. McGraw-Hill, 1997, 448 s., ISBN 0-07-114243-6.
  • Labrosse, J. J.: MicroC OS II: The Real Time Kernel. Newnes, 2nd ed., 2002, 648 s., ISBN 978-1578201037.
  • Laplante, P. A.: Real-Time Systems Design and Analysis. Wiley-IEEE Press, 2004, 528 s., 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.
  • Srovnal, V.: Operační systémy pro řízení v reálném čase. VŠB TU, Ostrava, 1. vydání, 2003, 218 s., ISBN 80-248-0503-0 (brož.).
  • Strnadel, J.: Studijní opora k předmětu ROS. FIT VUT v Brně, Brno, 2006, 120 s.

Syllabus of seminars

Syllabus of lectures:
  1. Definition of basic terms related to real-time (RT) systems. Motivation.
  2. Introduction to RT specification and verification area.
  3. RT kernel architectures - typical attributes, problems and benchmarking principles.
  4. Timing analysis of RT kernels, principles of response-time analysis of particular RT kernel types.
  5. Overview and properties of common interfaces and scheduling policies in (RT)OS, priority-driven schedulers, POSIX 1003.1b.
  6. Case Studies: uC/OS-II, uC/OS-III.
  7. Case Studies: FreeRTOS, Autosar-OSEK/VDX, QNX.
  8. RT task model and introduction to RT task scheduling. RT task schedulability problem.
  9. Scheduling of independent, static- and dynamic-priority periodic RT tasks running in 1-CPU environment: RM, DM, EDF, LL.
  10. Joint scheduling of periodic, sporadic and aperiodic RT tasks using task servers.
  11. 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.
  12. Mechanisms of scheduling RT tasks for architecture overload: Dover, LBESA, DASA.
  13. RT task scheduling for n-CPU environment (anomalies, RMNF, RMFF, RMBF, RMST, RMGT), fault-tolerance and low power (DVS, DPM).

Syllabus of computer exercises:
  1. Introduction to UPPAAL tool.
  2. Specification and verification of a simple RT system by means of UPPAAL tool.
  3. Implementation of a simple RT application by means of interfaces included in QNX/Neutrino, uC/OS-II and POSIX 1003.1b.
  4. Introduction to Timestool and Cheddar tools for modeling and analysis of RT applications based on RTOS.
  5. Utilization of TimesTool, Cheddar tools and uC/OS-II, FreeRTOS kernels for an advanced analysis such as 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.

Progress assessment

Study evaluation is based on marks obtained for specified items. Minimimum number of marks to pass is 50.

Controlled instruction

Following activities are monitored: attendance and activity during lectures, computer labs and progress of project-related works.

Course inclusion in study plans

Back to top