When the parameter of job with hard deadline are known before the system begins the execution then the static schedules of jobs can be developed at offline and processor time allocated to a jobs is equal to its maximum execution time.

The scheduler dispatches the jobs according to the static schedule and repeats the jobs in each hyper periods. The static schedule guarantees that each job completes by its deadline and no job overrun can occur.

Example:

Four independent periodic tasks: T1 = (4, 1), T2 = (5, 1.8), T3 = (20, 1), T4 = (20, 2) Utilization = 1/4 + 1.8/5 + 1/20 + 2/20 = 0.76

Hyperperiod = LCM (4, 5, 20, 20) = 20

According to this specification, schedules be generated as:

Time

Release Job

Running Job

0

J11, J21, J31, J41

J11(T1)

1

J21, J31,J41

J21(T2)

2.8

J31, J41

J31(T3)

3.8

J41

--------------

4

J12, J41

J12(T1)

5

J13, J41

J22(T2)

6.8

J41

------------------

8

J23, J41

J13(T1)

9

J41

---------------------

10

J23,J41

J23(T2)

11.8

J41

--------------------

12

J14, J41

J14(T1)

13

J41

J41(T4)

15

J24

-----------------

16

J15,J24

J15(T1)

17

J24

J24(T2)

Corresponding static schedule be constructed as:

In this schedule T1 starts its execution at 0 time and repeats after each periods. Some intervals are not used by periodic task called as slack time. This adds the advantage since other a periodic jobs can be executed here.

Types of Clock Driven Schedules:


There are two types of clock driven schedules.

  1. Table Driven Scheduling
  2. Cyclic Schedule

1. Table Driven Scheduling:

Table driven schedulers usually pre-compute which task would run when and store this schedule in a table at the time the system is designed. Rather than automatic computation of schedule by the scheduler, the application programmer can be given the freedom to select his own schedule for the set of tasks in the application and store the schedule in a table (called schedule table) to be used by the scheduler at the run time.

An example of a schedule table is shown as following fig. There is difficult to implement the scheduling since the table becomes very large in case of large and complex system.

Tasks

Start time in millisecond

T1

0

T2

3

T3

10

T4

12

T5

17

Fig: Time Driven Scheduling

2. Cyclic Schedule:

Cyclic schedules are very popular and extensively used in industry. Cyclic schedules are simple, efficient and are easy to program. An example application where cyclic schedule is used, is a temperature controller. A temperature controller periodically samples the temperature of a room and maintains it at a preset value. Such temperature controllers are embedded in typical computer- controlled air conditioners.

Tasks

Frame Number

T3

F1

T1

F2

T3

F3

T4

F2

Fig. Example schedule table for cyclic scheduler

A cyclic scheduler repeats a pre-computed schedule. The pre-computed schedule needs to be stored only for one major cycle.