Course detail

Real-Time Operating Systems (in English)

FIT-ROSaAcad. year: 2018/2019

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.

Learning outcomes of the course unit

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.

Prerequisites

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.

Co-requisites

Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

  • 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.

  • 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.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

  • 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

Exam prerequisites:
No conditions are applied.

Language of instruction

English

Work placements

Not applicable.

Course curriculum

    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, FreeRTOS.
    7. Case Studies: MQX, 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. Specification and verification of a simple RT system by means of UPPAAL tool.
    2. 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.
    3. Comparing properties of given RTOS kernels (uC/OS-II, FreeRTOS, MQX).
    4. Introduction to Timestool and Cheddar tools for basic modeling and analysis of RT applications being described by a set of RT tasks with parameters.
    5. 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.

Aims

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.

Specification of controlled education, way of implementation and compensation for absences

  • Following activities are monitored: attendance and activity during lectures, computer labs and progress of project-related works.
  • A prospective reimbursement of absences caused by an obstacle in the study is going to be realized according to the nature of the obstacle and teaching involved, e.g. by setting a substitute term or assigning a separate (homework) task. A solution to other kind of absence is not arranged herein, i.e., it is neither excluded nor guaranteed.

Classification of course in study plans

  • Programme IT-MGR-2 Master's

    branch MBI , any year of study, winter semester, 5 credits, optional
    branch MPV , any year of study, winter semester, 5 credits, optional
    branch MGM , any year of study, winter semester, 5 credits, optional

  • Programme IT-MGR-2 Master's

    branch MGMe , any year of study, winter semester, 5 credits, compulsory-optional

  • Programme IT-MGR-2 Master's

    branch MSK , any year of study, winter semester, 5 credits, compulsory-optional
    branch MBS , any year of study, winter semester, 5 credits, optional
    branch MIN , any year of study, winter semester, 5 credits, optional
    branch MMI , any year of study, winter semester, 5 credits, compulsory-optional
    branch MMM , any year of study, winter semester, 5 credits, optional

  • Programme IT-MGR-1H Master's

    branch MGH , any year of study, winter semester, 5 credits, recommended

  • Programme IT-MGR-2 Master's

    branch MIS , 2. year of study, winter semester, 5 credits, optional

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus


  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, FreeRTOS.
  7. Case Studies: MQX, 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).

Exercise in computer lab

10 hours, compulsory

Teacher / Lecturer

Syllabus


  1. Specification and verification of a simple RT system by means of UPPAAL tool.
  2. 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.
  3. Comparing properties of given RTOS kernels (uC/OS-II, FreeRTOS, MQX).
  4. Introduction to Timestool and Cheddar tools for basic modeling and analysis of RT applications being described by a set of RT tasks with parameters.
  5. 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).

Project

16 hours, compulsory

Teacher / Lecturer

Syllabus


  • Individual or group project.

eLearning