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

Introduction

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.