- Transient Overloads: One drawback of RM algorithm is that task priorities are defined by their periods. Sometimes, we must change the task priorities to ensure that all critical tasks get completed. With average execution times, all the critical and non-critical tasks may be RM-schedulable. But, if we consider worst-case execution time we wish to schedule so that all critical tasks meet the deadline and the non-critical task may miss the dead line. The solution is to boost the priority of some critical tasks higher than the non-critical tasks. This is done by altering the “Period” of some critical tasks so that their priorities increase. For example: If we reduce the period of a task by k and have k number of tasks each small sub task will have period divided by K, and execution time divided by k. When the period is smaller, the tasks automatically get higher priority. We can also lengthen the period of non-critical tasks and make it larger than the largest critical task and increase the non-critical task’s execution time also.Carry out a period transformation for this task set to ensure that all the critical tasks will meet the dead line even with worst case execution timing.
Draw for your modified table of tasks, timing diagram to show schedulability for average execution time and another diagram to show for worst-case execution time. Identify if any tasks miss the dead line.
- Give explanation of your period transformations and solution.
- What is CPU Utilization for average and worst-case execution times.
- Considering Context switch time to be 1 ms, redraw the execution time line for this system for both average and worst case timing.
- What is the system time-loading (CPU utilization) factor with the context switching included?