Course Description
Basic concepts of real-time systems, with an emphasis on scheduling issues. Consideration of both offline and online scheduling. Online schedules will include static and dynamic priority systems, with and without allowing preemption. Also, consideration of resource sharing and multiprocessor scheduling. Course will include programming projects on a microprocessor.
Additional Requirements for Graduate Students:
Each homework assignment and test (midterm and final) will have
two to three extra questions for graduate students only, which
will be more difficult than the other assigned problems.
Graduate students will also have to do a final project.
Finally, graduate student work will be graded more stringently
than undergraduate work.
Athena Title
RT Scheduling for IOT
Prerequisite
CSCI 2720
Semester Course Offered
Not offered on a regular basis.
Grading System
A - F (Traditional)
Course Objectives
This course will introduce students to real-time systems. At the end of this course, each student should know (i) what makes a system “real-time,” (ii) applications that require real-time systems, (iii) common models used to describe real-time systems, (iv) common techniques used to ensure a wide variety of real- time systems satisfy their real-time requirements. Most of our time will be spent on the final point (analysis techniques for real-time systems).
Topical Outline
I. Introduction – What is “Real-Time”? II. Uniprocessor Scheduling a. Offline Scheduling / Cyclic Executives b. Online Fixed-Priority Scheduling with Preemption c. Online Dynamic-Priority Scheduling with Preemption d. Non-Preemptive Scheduling e. Scheduling Complexities f. Resource Sharing and Precedence Constraints III. Multiprocessor Scheduling a. Complexities Arising from Using Multiprocessors b. Multiprocessor Resource Sharing c. Distributed End-to-End Scheduling IV. Mixing Real-Time and Non-Real-Time a. Server Scheduling for Non-Real-Time Jobs V. pFair Scheduling