Cooperative Scheduling in the cyclic
order
• Each task cooperate to let the running task finish
• Cooperative means that each task cooperates to let the a running one
finish.
• None of the tasks does block in-between anywhere during the ready
to finish states.
• The service is in the cyclic order
Cooperative Scheduling in the order of Ready
Tasks using an Ordered List as per priority
precedence
• Scheduler using a priority parameter, task Priority does the ordering
of list of the tasks─ ordering according to the precedence of the
interrupt sources and tasks.
• The scheduler first executes only the first task at the ordered list, and
the total, equals the to period taken by the first task on at the list. It is
deleted from the list after the first task is executed and the next task
becomes the first.
• The insertions and deletions for forming the ordered list are made
only at the beginning of the cycle for each list
Cooperative scheduling with
precedence constraints
Round Robin Time Slicing of tasks of
equal priorities
• Round robin means that each ready task runs turn by in turn only in a
cyclic queue for a limited time slice.
• Widely used model in traditional OS.
• Round robin is a hybrid model of clock-driven model (for example
cyclic model) as well as event driven (for example, pre-emptive)
• A real time system responds to the event within a bound time limit
and within an explicit time.
Non pre-emptive scheduling -Highest priority Preemptive scheduling -Current task is
task executes for some time, then relinquishes immediately suspended Control is given to the task
control, re-enters ready state. of the highest priority at all time.
Priority-based scheduling
• A common scheduling algorithm in general-purpose operating systems is
round robin.
• All the processes are kept on a list and scheduled one after the other. This is
generally combined with pre-emption so that one process does not grab all
the CPU time. Round-robin scheduling provides a form of fairness in that
all processes get a chance to execute. However, it does not guarantee the
completion time of any task as the number of processes increases, the
response time of all the processes increases.
• Real-time systems, in contrast, require their notion of fairness to include
timeliness and satisfaction of deadlines.
• A common way to choose the next executing process in an RTOS is
based on process priorities. Each process is assigned a priority, an
integer-valued number. The next process to be chosen to execute is
the process in the set of ready processes that has the highest-valued
priority.
Rate-monotonic scheduling
Earliest-deadline-first scheduling