Page 121 - DCAP608_REAL TIME SYSTEMS
P. 121

Real Time Systems




                    Notes             Context switch overhead is negligibly small compared with the execution times of  the
                                       tasks

                                      Unlimited priority  levels.
                                      Fixed number of periodic tasks
                                   On each new task creation, application provides its period, execution time, relative deadline and
                                   scheduler does an acceptance test. When tasks are independent, the scheduler can delete any
                                   tasks  and  add an  acceptable  task  at  any  time  without  causing  any  missed  deadline.  A
                                   multiprocessor priority-driven system is either dynamic or static. In a static system, all the tasks
                                   are partitioned into subsystems. Each subsystem is assigned to a processor, and tasks on each
                                   processor are scheduled by themselves.

                                   In a dynamic system, job ready for execution are placed in one common priority queue and
                                   dispatched to processors for execution as the processors become available.
                                   The dynamic approach should allow the processors to be more fully utilized on average as the
                                   workload fluctuates. The troublesome problem with dynamic systems is the fact that we often
                                   do not know how to determine their worst-case and best-case performance. That is why most
                                   hard real-time systems built and in use are static when tasks in a static system are independent,
                                   we can consider the tasks on each processor independently of the tasks on the other processors.
                                   The problem of scheduling in  multiprocessor and  distributed systems  is reduced  to that of
                                   uniprocessor scheduling.

                                   Self Assessment

                                   Fill in the blanks:

                                   1.  When tasks are independent, the ……………… can delete any tasks and add an acceptable
                                       task at any time without causing any missed deadline.
                                   2.  When tasks in a ……………… are independent, we can consider the tasks on each processor
                                       independently of the tasks on the other processors.
                                   3.  In a ………………  system, job ready for execution are placed in  one common priority
                                       queue and dispatched to processors for execution as the processors become available.
                                   4.  A ……………… priority-driven system is either dynamic or static.
                                   5.  The problem of scheduling  in multiprocessor and ………………  is reduced  to that  of
                                       uniprocessor scheduling.

                                   12.2 Fixed-Priority versus Dynamic-Priority Algorithms

                                   A priority driven scheduler is an on-line scheduler. There is no pre-computation of schedules of
                                   tasks. It assigns priorities to jobs after they are released and places the jobs in a ready job queue
                                   in priority order. Preemption is allowed at any time, as scheduling decision is made whenever
                                   a job is released or completed. At each scheduling decision time, the scheduler updates the ready
                                   job queue and then schedules and executes the job at the head of the queue. Algorithms for
                                   scheduling periodic tasks are classified into two types:
                                      Fixed Priority
                                      Dynamic Priority
                                   Fixed Priority algorithm assigns the same priority to all the jobs in each task. Dynamic Priority
                                   algorithm assigns different priorities to the individual jobs in each task.




          116                               LOVELY PROFESSIONAL UNIVERSITY
   116   117   118   119   120   121   122   123   124   125   126