This document discusses multiprocessor and real-time scheduling. It covers multiprocessor design issues like process and thread scheduling. It also discusses characteristics of real-time operating systems like determinism and responsiveness. Real-time scheduling approaches covered include static table-driven, static priority-driven preemptive, dynamic planning based, and dynamic best-effort. The document provides examples of current real-time system applications and definitions of hard and soft real-time tasks.
CS 23 Operating System Design Principles_MULTIPROCESSOR AND REAL TIME SCHEDULING
1. MULTIPROCESSOR AND REAL
TIME SCHEDULING
Presentation & Delivery
VEERANAN VEERANAN
I M.Sc. Computer Science
Roll No. P22PCS123
GOVERNMENT ARTS COLLEGE, MELUR
PG. Department of Computer Science
9. Real Time Scheduling
Real time computing is becoming an increasingly important
discipline.
The OS and in particular the scheduler, is perhaps the most important
component of real time system.
Examples
Current applications of real time systems include control of laboratory
experiments, process control in industrial plants, robotics, air traffic
control, telecommunications, and military commands and control
systems.
10. Real Time Scheduling
A Hard real time task is one that must meet its deadline;
otherwise it will cause unacceptable damage or a fatal
error to the system.
A Soft real time task has an associated deadline that is
desirable but not mandatory; it still makes sense to
schedule and complete the task even if it has passed its
deadline.
11. Real – Time Operating Systems
Characteristics of Real Time OS
Determinism
Responsiveness
User Control
Reliability
Fail – Soft Operation
12. Real time OS features:
Fast process or thread switch
Small size (with its associated minimal functionality)
Ability to respond to external Interrupts quickly
Multitasking with inter process communication tools such as
semaphores, signals and events.
Use of special sequential files that can accumulate data at a fast rate.
Pre-emptive scheduling based on priority
Minimization of intervals during which Interrupts are disabled.
Primitives to delay tasks for a amount of time and to pause/resume
tasks
Special alarms and timeout.
13. Real Time Scheduling:
Real time scheduling is one of the most active areas of research in
computer Science.
Whether a system performs schedule a ability analysis
If it does, whether it is done statistically or dynamically
Whether the result of the analysis itself produces a schedule or plan
according to which tasks are dispatched at run time
14. Real – Time Operating Systems
Real Time Scheduling
Static Table – Driven Approaches
Static Priority Driven Preemptive
Approaches
Dynamic planning based approaches
Dynamic Best Effort Approaches
15. Static Table – Driven Approaches
These perform a static analysis of feasible schedules of dispatching.
The result of the analysis is a schedule that determines, at run time,
when a task must begin execution.
16. Static Table – Driven Approaches
Again, a static analysis is performed, but no schedule is drawn back.
Rather, the analysis is used to assign priorities to task, so that a
traditional priority driven pre-emptive scheduler can be used.
17. Dynamic planning based approaches
Feasibility is determined at run time rather than offline prior to the
start of execution (statically). An arriving task is accepted for
execution only of it is feasible to meet it’s time constraints. One of the
results of the feasibility analysis is a schedule or plan that is used to
decide when to dispatch this task.
18. Dynamic Best Effort Approaches
No feasibility analysis is performed. The system tries to meet all
deadlines and aborts any stated process whose deadline is missed.