Prerequisite/Corequisite:
The following courses must be completed previously: COEN 346 or COMP 346.Description:
Fundamentals of real‑time systems: definitions, requirements, design issues and applica‑ tions. Real‑time operating systems (RTOS) feature: multi‑tasking, process management, scheduling, interprocess communication and synchronization, real‑time memory management, clocks and timers, interrupt and exception handling, message queues, asynchronous input/output. Concurrent programming languages: design issues and examples, POSIX threads and semaphores. Introduction to real‑time uniprocessor scheduling policies: static vs. dynamic, pre‑emptive vs. non‑pre‑emptive, specific techniques — rate‑monotonic algorithm, earliest‑deadline‑first, deadline monotonic, least‑laxity‑time‑first; clock‑driven scheduling. Design and specification techniques — Finite state machine based State‑chart, Dataflow diagram, Petri nets. Reliability and fault‑tolerance. Case studies of RTOS — QNX, VxWorks, and research prototypes.
Component(s):
Lecture 3 hours per week; Tutorial 1 hour per week