State whether the following statements are TRUE or FALSE. Justify your answer.
Statement True or False in Real Time System(RTS) Justify
1. A hard real‐time application consists of only hard real‐time tasks.
FALSE. A hard real‐time application may also contain several non‐real‐time tasks such as logging activities,etc.
2. Every safety‐critical real‐time system contains a fail‐safe state.
FALSE. Having fail‐safe states in safety‐critical real‐time systems is meaningless because failure of a safety‐critical system can lead to loss of lives, cause damage, etc.
E.g.: a navigation system on‐board an aircraft.
3. A deadline constraint between two stimuli is a behavioral constraint on the environment of the system.
TRUE. It is a behavioral constraint since the constraint is imposed on the second stimulus event.
4. Hardware fault‐tolerance techniques are easily adaptable to provide software fault‐tolerance.
FALSE. Hardware fault‐tolerance is usually achieved using redundancy techniques. However, the property of statistical correlation of failures for software renders the technique ineffective.
5. A good algorithm for scheduling of hard real‐time tasks tries to complete each task in the shortest possible time.
FALSE. A scheduling algorithm for hard real‐time tasks is only concerned with completing the tasks before the deadlines. Unlike desktop applications, there is no benefit in completing each task in the shortest possible time.
6. All hard real‐time systems usually are safety‐critical in nature.
FALSE. Not all hard real‐time systems are safety‐critical in nature.
E.g.: computer games, etc.
7. It is ensured by the performance constraints on a real‐time system That the environment of the system is well‐behaved.
FALSE. Behavioral constraints on a real‐time system ensure that the environment of the system is well‐behaved.
8. Soft real‐time tasks do not have any associated time bounds.
FALSE. Soft real‐time tasks also have time bounds associated with them. Instead of absolute values of time, the constraints are expressed in terms of the average response times required.
9. The objective of any good hard real‐time task scheduling algorithm is to minimize average task response times.
FALSE. A good hard real‐time task scheduling algorithm is concerned with scheduling the tasks such that all of them can meet their respective deadlines.
10. The goal of any good real‐time operating system to complete every hard real‐time task as ahead of its deadline as possible.
FALSE. A good real‐time operating system should try and complete the tasks such that they meet their respective deadlines.
11. Cyclic schedulers do not require storing a pre-computed schedule unlike table‐driven schedulers.
FALSE. A cyclic scheduler also needs to store a pre-computed schedule. However, the pre-computed schedule needs to be stored for only one major cycle. Each task in the task set which repeats identically in every major cycle.
12. The upper bound on achievable utilization improves as the number of tasks in the system being developed increases when RMA is used for scheduling a set of hard real‐time periodic tasks.
FALSE. Under RMA, the achievable CPU utilization falls as the number of tasks in the system increases. The utilization is maximum when there is only one task in the system. As the number of tasks reaches infinity, the utilization stabilizes at loge 2.
13. For a non‐preemptive operating system, RMA is an optimal static priority scheduling algorithm for a set of periodic real‐time tasks.
FALSE. RMA is preemptive in nature, and hence is meaningless on a nonpreemptive operating system.
14. A pure table‐driven scheduler is not as proficient as a cyclic scheduler for scheduling a set of hard real‐time tasks.
TRUE. In a cyclic scheduler, the timer is set only once at the application initialization time, and interrupts only at the frame boundaries. But in a table‐driven scheduler, a timer has to be set every time a task starts to run.
This represents a significant overhead and results in degraded system performance.
15. While scheduling a set of hard real‐time periodic tasks using a cyclic scheduler, if more than one frame satisfies all the constraints on frame size then the largest of these frame sizes should be chosen.
FALSE. For a given task set, it is possible that more than one frame size satisfies all the three constraints. In such cases, it is better to choose the shortest frame size. This is because of the fact that the schedul ability of a task increases as more number of frames becomes available over a major cycle.
16. EDF possesses good transient overload handing capability.
FALSE. EDF is not good in handling transient overload conditions. This is a serious drawback in the EDF scheduling algorithm. When EDF is used to schedule a set of periodic real‐time tasks, a task overshooting its completion time can cause some other task(s) to miss their deadlines.
17. Data dependencies determine the precedence ordering among a set of tasks.
FALSE. Precedence ordering among a set of tasks can also be achieved using control dependence, for example, through passing of messages and events.
18. Scheduling decisions are made only at the arrival and completion of tasks in a non‐preemptive event‐driven task scheduler.
TRUE. In event‐driven scheduling, the scheduling points are defined by task completion and task arrival times. This is because during the course of execution of a task on the CPU, the task cannot be preempted.
19. For uniprocessor systems, determining an optimal schedule for a set of independent periodic hard real‐time tasks without any resource‐sharing constraints under static priority conditions is an NP‐complete problem.
FALSE. Optimal scheduling algorithms on uniprocessors already exist (e.g., RMA for static priority, and EDF for dynamic priority). However, finding an optimal schedule for a set of independent periodic hard real‐time tasks without any resource‐sharing constraints under static priority conditions on a multiprocessor is an NP‐complete problem.
20. A set of periodic real‐time tasks scheduled on a uniprocessor system using RMA scheduling show similar completion time jitter.
TRUE. Completion time jitters are caused by the basic nature of RMA scheduling which schedules task at the earliest opportunity at which it can run. Thus, the response time of a task depends on how many higher priority tasks arrive (or were waiting) during the execution of the task.