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.

Language of instruction

English

Number of ECTS credits

5

Mode of study

Not applicable.

Offered to foreign students

Of all faculties

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

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.

Course curriculum

Not applicable.

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

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

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.
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.
Kopetz, H.: Real-Time Systems, Design Principles for Distributed Embedded Applications. Springer, 2011, 378 p., ISBN 978-1-4419-8236-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 p., ISBN 978-1578201037.
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.

Classification of course in study plans

  • Programme IT-MSC-2 Master's

    branch MMI , 0 year of study, winter semester, compulsory-optional
    branch MBI , 0 year of study, winter semester, elective

  • Programme IT-MGR-1H Master's

    branch MGH , 0 year of study, winter semester, recommended course

  • Programme IT-MSC-2 Master's

    branch MSK , 0 year of study, winter semester, compulsory-optional
    branch MMM , 0 year of study, winter semester, elective
    branch MBS , 0 year of study, winter semester, elective
    branch MPV , 0 year of study, winter semester, elective
    branch MIS , 2 year of study, winter semester, elective
    branch MIN , 0 year of study, winter semester, elective
    branch MGM , 0 year of study, winter semester, elective

  • Programme IT-MSC-2 Master's

    branch MGMe , 0 year of study, winter semester, compulsory-optional

Type of course unit

 

Lecture

26 hod., 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 hod., 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 hod., compulsory

Teacher / Lecturer

Syllabus

  • Individual or group project.