Real-Time Operating Systems

IT-MSC-2MMI1stCompulsory-Elective - group O
IT-MSC-2MSK1stCompulsory-Elective - group N
Language of Instruction:Czech
Private info:http://www.fit.vutbr.cz/study/courses/ROS/private/
Completion:examination (written)
Type of
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Guarantor: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
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.
  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.
Knowledge and skills required for the course:
  Knowledge of operating system (OS) basics: overview of OS architectures, OS classification, UNIX core knowledge, OS service call principles, shell. Context switching, multitasking. File systems, processes, virtual memory. C-programming knowledge.
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:
  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.
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 design of RT applications based on RTOS.
Syllabus - others, projects and individual work of students:
  • Individual or group project.
Fundamental literature:
  • Abbott, D.: Linux for Embedded and Real-Time Applications. Newnes, 2002, 256 p., ISBN 0-75067-546-2.
  • Cheng, A. M. K.: Real-Time Systems: Scheduling, Analysis, and Verification. Wiley, 2002, 552 p., 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.
  • Krishna, C. M., Shin, K. G.: Real-Time Systems. McGraw-Hill, 1997, 448 p., 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 p., ISBN 0-07037-491-0.
  • Li, Q., Yao, C.: Real-Time Concepts for Embedded Systems. CMP Books, 1st Edition, 2003, 294 p., ISBN 1-57820-124-1.
Study literature:
  • Joseph, M.: Real-Time Systems Specification, Verification and Analysis. Prentice Hall, 1996, p. 278, ISBN 0-13-455297-0.
Controlled instruction:
  Realization of project, computer-lab exercises outputs, written mid-term test.
Progress assessment:
  Written mid-term test, submitted 3 PC-lab reports and project in due dates.