ECE 59500 - Real-Time Operating Systems and Applications

Course Details

Lecture Hours: 3 Credits: 3

Areas of Specialization:

  • Computer Engineering

Normally Offered:

Each Fall

Campus/Online:

On-campus only

Requisites:

ECE 26400, ECE 36200

Requisites by Topic:

C/C++ programming language, microprocessors

Catalog Description:

This course provides an in-depth study of real-time operating systems (RTOS), focusing on fundamental principles, design considerations, and implementation techniques. Topics include real-time scheduling, task management, inter- task communication, synchronization, memory management, and case studies of commercial and open-source RTOS. Students will gain hands-on experience through programming assignments and projects using an RTOS such as FreeRTOS, Zephyr, or VxWorks.

Required Text(s):

  1. Real-time Systems , Jane W. S. Liu , Prentice-Hall , 2000 , ISBN No. 0-13-099651-3

Recommended Text(s):

  1. Operating System Concepts , Sliberschatz, Galvin and Gagne , John Wiley & Sons Inc. , 2018 , ISBN No. 0-471-25060-0

Lecture Outline:

Weeks Weeks
2 Introduction to Operating Systems: process and process control block, communication between processes, files system, I/O systems.
2 Real-time System model: task scheduling, resources, dependency, hard and soft real-time systems, periodic task model, aperiodic task, sporadic task, precedence graph.
1 Clock-driven scheduling
1 Priority-driven scheduling, dynamic systems, static systems
1 Earliest deadline first scheduling
1 Midterm
2 Rate-monotonic scheduling
1 Validating timing scheduling
2 Synchronization: critical-section, semaphores, monitors
2 Device IO interfaces: Wi-Fi, SPI, I2C, I2S, DAC, ADC, Timers

Assessment Method:

Homework, quizzes, exams, projects (4/2025)