Real Time Systems - Syllabus
Embark on a profound academic exploration as you delve into the Real Time Systems course (RTS) within the distinguished Tribhuvan university's CSIT department. Aligned with the 2065 Syllabus, this course (CSC-354) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 80 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.
This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.
Course Description: This course familiarizes students with different concepts of real time systems mainly focusing on scheduling, access control, memory management, optimization, and real time communications.
Course Objective: The main objective of this course is to provide core knowledge of different concepts of real time system which will enhance the student capacity in building real time systems.
Units
Digital control, High-level controls, Signal processing, Real time applications
Hard versus Soft Real-Time Systems
Jobs and processors, Release times, Deadlines, and timing constraints, Hard and soft timing constraints, Hard real-time systems, Soft real-time systems
Reference Model of Real-Time Systems
Processor and resources, Temporal parameters of real-time workload, Periodic task model, Precedence constraints and data dependency, Other dependencies, Functional parameters, Resource parameters of jobs and parameters of resources, Scheduling hierarchy
Approaches to Real-Time Scheduling
Clock-driven approach, Weighted round-robin approach, Priority-driven approach, Dynamic versus static system, Effective release times and deadlines, Optimality of the EDF and LST algorithms, Nonoptimality of the EDF and LST algorithms, Challenges in validating timing constraints in priority-driven systems, Off-line versus on-line scheduling,
Clock-Driven Scheduling
Notations and assumptions, Static, Timer-driven scheduler, General structure of cyclic schedules, Cyclic executives, Improving the average response time of aperiodic jobs, Scheduling sporadic jobs, Practical considerations and generalization, Algorithm for constructing static schedules, Pros and cons of clock-driven scheduling
Priority-Driven Scheduling of Periodic Tasks
Static assumption, Fixed-priority versus dynamic-priority algorithms, Maximum schedule utilization, Optimality of the RM and DM algorithms, A schedulability test for fixed-priority tasks with short response times, schedulability test for fixed-priority tasks with arbitrary response times, Sufficient schedulability conditions for the RM and DM algorithms, Practical factor
Scheduling Aperiodic and Sporadic Jobs in Priority-Driven Systems
Assumptions and approaches, Deferrable servers, Sporadic servers, Constant utilization, total bandwidth, and weighted fair-queuing servers, Slack stealing in deadline-driven systems, Slack stealing in fixed-priority systems, Scheduling of sporadic jobs, Real-time performance for jobs, with soft timing constraints, Low-level scheme for integrated scheduling
Resources and Resource Access Control
Assumptions on resources and their usage, Effects of resources contention and resource access control, Nonpreemptive critical sections, Basic priority-inheritance protocol, Basic priority-ceiling protocol, Stack-based, priority-ceiling (ceiling-priority) protocol, Use of priority-ceiling protocol in dynamic-priority system, Preemption-ceiling protocol, Controlling accesses to multiple-unit resources, Controlling concurrent accesses to data objects
Multiprocessor Scheduling, Resource Access Control and Synchronization
Model of multiprocessor and distributed systems, Task assignment, Multiprocessor priority-ceiling protocol, Elements of scheduling algorithms for end-end periodic tasks, End-to-end tasks in heterogeneous systems, Predictability and validation of dynamic multiprocessor systems.
Real –Time Communication
Model of real-time communication, Priority-based service disciplines for switched networks, Weighted round-robin service disciplines, Medium access-control protocols of broadcast networks, Internet and resource reservation protocols, Real-time protocol, Communication in multi computer systems
Lab works
The laboratory work should focus on implementation of concepts related to scheduling, memory
management, synchronization and optimization using suitable simulators and programming
languages. There should also be a case study in group with at most 4 students focusing on any real
time system implemented system.