Course detail

Real-Time Operating Systems

FIT-ROSAcad. year: 2013/2014

A study of concepts, techniques, and standards in embedded operating systems including real time embedded 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. Multiprocessing Systems. Hardware/Software Integration. Case Studies.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

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.

Planned learning activities and teaching methods

The course uses teaching methods in form of Lecture - 2 teaching hours per week, Computer exercise - 1 teaching hour per week, Projects - 1 teaching hour per week.

Assesment methods and criteria linked to learning outcomes

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

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

Syllabus - others, projects and individual work of students:
  • Individual or group project.

Work placements

Not applicable.

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

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

Recommended reading

  • 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

Classification of course in study plans

  • Programme IT-MGR-2 Master's

    branch MBI , any year of study, winter semester, elective
    branch MPV , any year of study, winter semester, elective
    branch MGM , any year of study, winter semester, elective
    branch MBS , any year of study, winter semester, elective
    branch MIN , any year of study, winter semester, elective
    branch MMI , any year of study, winter semester, compulsory-optional
    branch MMM , any year of study, winter semester, elective
    branch MSK , 1. year of study, winter semester, compulsory-optional
    branch MIS , 2. year of study, winter semester, elective

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

  1. Introduction to concepts, techniques, and standards related to desing of real-time (RT) systems. Motivation.
  2. Introduction to specification and verification area.
  3. Specification of RT systems.
  4. Verification of RT systems.
  5. RT kernel architectures.
  6. Performance analysis of particular types of RT kernels.
  7. POSIX. Overview of POSIX 1003.1b interface for RT operating systems (RTOS).
  8. Case Studies: OSEK/VDX, uC/OS-II.
  9. Case Studies: QNX, Windows CE. 
  10. Introduction to RT task scheduling.
  11. Scheduling of independent, static-priority RT tasks running in 1-CPU environment.
  12. Scheduling of dependent, dynamic-priority RT tasks running in 1-CPU environment.
  13. Advanced scheduling approaches: scheduling in n-CPU/distributed/network environment, scheduling for fault-tolerance, scheduling for architecture overload.

Exercise in computer lab

10 hours, optionally

Teacher / Lecturer

Syllabus

  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 RT applications based on RTOS.

Project

16 hours, optionally

Teacher / Lecturer