COSC6384 Real-Time Systems

COSC6384 Real-Time Systems

Assignment 1 (Fall 2007)

1.  Explain the difference between preemptive and non-preemptive scheduling. Discuss the difference between static and dynamic, on-line and off-line, optimal and heuristic scheduling algorithms.

2.  In real-time systems, one of the most dangerous phenomena caused by a transient overload is the situation in which the arrival of a new task causes all previously guaranteed tasks to miss their deadlines. Assume all single instance tasks are independent with their own (a, d, c), where a is the arrival time, d is the deadline and c is the computation time. Provide an example: in a previously feasible set of three single instance tasks, all tasks are missing their deadlines caused by the arrival of a new task Jnew. You can use any scheduling algorithm.

3.  Consider the periodic tasks set: T1 = (5, 1), T2 = (3, 1), T3 = (8, 1.6), T4 = (18, 3.5). Is the task set EDF-schedulable? Is the task set RM-schedulable? Please explain your answers.

4.  Construct the initial segments in the time interval (0, 750) of a RM schedule and an EDF schedule of the periodic tasks (100, 20), (150, 50), and (250, 100). Please indicate the time at which the task misses the deadline, if any.

5.  A system contains five periodic tasks. Their utilizations are U1 = 0.8, U2 = U3 = U4 = U5 = 0.01. Ate these tasks schedulable rate-monotonically? Be sure to explain your answer.

6.  Give an LLF schedule in (0, LCM) for the following task set.

TASK PERIOD COMPUTATION TIME

A 30 2

B 20 6

C 15 3

D 10 2

E 5 1

7.  Prove that EDF is optimal for uniprocessors.

8.  Prove the RM algorithm is an optimal static-priority algorithm for uniprocessors.

9.  Consider a two-task system where each preemption has an overload of x. Given C1, C2, P1, P2, obtain the maximum value of x for which the task set is RM-schedulable.

10.  Determine whether there is a feasible schedule for the following set of periodic processes. If yes, show the schedule and the steps used to derive it.

T1: c11 = 2, c12 = 3, c13 = 2, d1 = 17, p1 = 18

T2: c21 = 1, c22 = 2, d2 = p2 = 6

T3: c3 = 1, d3 = p3 = 18

T1 must rendezvous with T2 after the first, second, and third scheduling blocks.

T2 must rendezvous with T1 after the first scheduling block.