SOFT 426

Real-Time Systems
(Fall)

Summary:

The objective of this course is to study the design and implementation of real-time systems, principally from the perspective of their embedded software. Techniques for specifying system timing requirements are studied. Different models for the design of real-time schedulers are presented including the cyclic executive and the priority driven task model. A strong emphasis is placed on the various methods used to determine real-time system schedulability, starting from simple utilization bound techniques for simple systems and expanding into time-demand analysis techniques for ever-increasing complex systems. The importance of real-time operating systems in support of system design is stressed.

Objectives:

  • Provide an introduction to and understand the prevalence of real-time systems
  • Recognize the various applications of real-time systems
  • Understand the difference between soft and hard real-time systems
  • Be familiar with a variety of approaches to real-time scheduling
  • Be able to design cyclic executives
  • Be able to analyze and design a real-time system according to the periodic task model
  • Be able to specify system timing properties
  • Be able to apply the Rate Monotonic Algorithm and utilization bound theorems to the analysis of system schedulability
  • Be able to calculate using Time Demand Analysis
  • Be able to calculate schedulability in the presence of aperiodic and sporadic jobs, including analysis of bandwidth-preserving servers
  • Be able to calculate schedulability in the presence of shared resources; understanding the impacts of priority inversion, and the use of priority inheritance and ceiling priority protocols
  • Be cognizant of the need for Real-time operating system

    Work Assigned: Quizzes

    Evaluation:
    Quizzes (5) 10% each, total of 50%
    Final Exam 50%

    Resources: Textbook is Jane W.S. Liu, "Real-Time Systems", Prentice-Hall, 2000.

    Outline:

    Week 1: Characteristics of real-time systems

    Week 2: Applications of real-time systems

    Week 3: Reference model for real-time systems

    Week 4: Approaches to real-time scheduling

    Week 5: Clock-driven systems; cyclic executives

    Week 6: Clock-driven systems; cyclic executives (continued)

    Week 7: Priority-driven systems; fixed priority algorithms

    Week 8: Priority-driven systems; fixed priority algorithms (continued)

    Week 9: Priority-driven systems; fixed priority algorithms (continued)

    Week 10: Priority-driven systems; scheduling aperiodic and sporadic jobs

    Week 11: Priority-driven systems; scheduling with shared resources

    Week 12: Priority-driven systems; scheduling with shared resources (continued)