FOR FREE MATERIALS

Real Time Scheduling Algorithms:

 

Approaches to Real-Time Scheduling:

 

(i) Static Scheduling:

Static table driven scheduling (Static scheduling) is applicable to tasks that are periodic. The schedule considers process periodic arrival time, execution time, periodic ending deadline, and relative priority. The scheduler attempts to develop a schedule that enables it to meet the requirements of all periodic tasks. But sometimes it is inflexible because any changes to any process requirements require that the schedule be redone. 

 

Earliest-deadline-first or other periodic deadline techniques are typical of this category of scheduling algorithms. This schedule is represented in the form of a table whose rows indicate when the operation of different processes should begin. No scheduling decisions are made during the operation of the system. The real-time OS simply consults the table and starts the operation of processes as indicated in it. 

 

(ii) Static Priority based Preemptive Scheduling: 

Static priority-driven preemptive scheduling makes use of the priority-driven preemptive scheduling mechanism common to most non-real-time multiprogramming systems. In a non-real-time system, a variety of factors might be used to determine priority. For example, in a time-sharing system, the priority of a process changes depending on whether it is a CPU bound or I/O bound. In a real time system, priority assignment is related to the time constraints associated with each task. 

 

One example of this approach is the Rate Monotonic algorithms, which assign static priorities to tasks based on the length of their periods.

 

(iii) Dynamic Scheduling: 

In systems using the dynamic scheduling approach, scheduling is performed during the system’s operation. Multimedia systems like video on demand use a dynamic scheduling approach in which a scheduling decision is performed when a process arrives. A request to initiate a process contains information such as the process’s resource requirement, service time, and a deadline or a specification of service quality. On receiving such a request, the scheduler checks whether it is possible to assign the resources needed by the process and meet its deadline or provide it the desired quality of service. It creates the process only if these checks succeed. 

 

Another approach to dynamic scheduling is to optimistically admit processes for execution. In this approach, there is no guarantee that the deadline or service quality requirements can be met. Soft real-time systems often follow this approach.