• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/13

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

13 Cards in this Set

  • Front
  • Back

RMA is optimal for scheduling access of several hard real‐timeperiodic tasks to a certain shared critical resource.

FALSE. RMA schedulers impose no constraints on the orders in whichvarious tasks execute. Therefore, the schedules produced by RMA mightviolate the constraints imposed due to task dependencies

Unless a suitable resource‐sharing protocol is used, even thelowest priority task in a real‐time system may suffer fromunbounded priority inversions.

FALSE. Unbounded priority inversion occurs when a higher priority taskwaits for a lower priority task to release a resource it needs, and meanwhilethe intermediate priority tasks preempt the lower priority task from CPUusage repeatedly

Scheduling a set of real‐time tasks for access to a set of non‐preemptable resources using PIP results in unbounded priorityinversions for tasks

FALSE. PIP allows real‐time tasks share critical resources without lettingthem incur unbounded priority inversions.

A task can undergo priority inversion for some duration under PCPeven if it does not require any resource.

TRUE. Under PCP, inheritance‐related inversion can occur. In suchscenarios, an intermediate priority task not needing a critical resource iskept waiting.

PCP is a efficient protocol to share a set of serially reusablepreemptable resources among a set of real‐time tasks.

FALSE. PCP is not well‐suited for sharing a set of serially reusablepreemptable resources among a set of real‐time tasks. EDF or RMA aremore efficient

A separate queue is maintained for the waiting tasks for eachcritical resource in HLP

FALSE. Unlike PIP, HLP does not maintain a separate queue for each criticalresource. The reason is that whenever a task acquires a resource, itexecutes at the ceiling priority of the resource, and the other tasks thatmay need this resource do not even get a chance to execute and requestfor the resource

HLP overcomes deadlocks while sharing critical resources among aset of real‐time tasks.

TRUE. HLP overcomes the deadlock problem possible with PIP

Under HLP, tasks are single‐blocking

TRUE. When HLP is used for resource sharing, once a task gets a resourcerequired by it, it is not blocked any further. This means that when a taskacquires one resource, all the other resources required by it must be free

Under PCP, the highest priority task does not suffer any inversionswhen sharing certain critical resources.

FALSE. Even under PCP, the highest priority protocol can suffer from directand avoidance‐related inversions.

Under PCP, the lowest priority task does not suffer any inversionswhen sharing certain critical resources

TRUE. In PCP, the lowest priority task does not suffer from any of direct,inheritance‐related, or avoidance‐related inversions.

: Explain priority inversion in the context of real‐time scheduling?

Ans: When a lower priority task is already holding a resource, a higher prioritytask needing the same resource has to wait and cannot make progress with itscomputations. The higher priority task remains blocked until the lower prioritytask releases the required non‐preemptable resource. In this situation, the higherpriority task is said to undergo simple priority inversion on account of the lowerpriority task for the duration it waits while the lower priority task keeps holdingthe resource.

What can be the types of priority inversions that a task mightundergo on account of a lower priority task under PCP?

Ans: Tasks sharing a set of resources using PCP may undergo three importanttypes of priority inversions: direct inversion, inheritance‐related inversion, andavoidance inversion.




Direct inversion occurs when a higher priority task waits for a lower priority taskto release a resource that it needs. Inheritance‐related inversion occurs when alower priority task is holding a resource and a higher priority task is waiting for it.Then, the priority of the lower priority task is raise to that of the waiting higherpriority task by the inheritance clause of the PCP. As a result, the intermediatepriority tasks not needing the resource undergo inheritance‐related inversion. In PCP, when a task requests a resource its priority is checked against CSC. Therequesting task is granted use of the resource only when its priority is greaterthan CSC. Therefore, even when a resource that a task is requesting is idle, therequesting task may be denied access to the resource if the requesting task’spriority is less than CSC. A task, whose priority is greater than the currently executing task, but lesser than the CSC and needs a resource that is currently notin use, is said to undergo avoidance‐related inversion.

How are deadlocks, unbounded priority inversions, and chainblocking prevented using PCP?

Ans: Deadlocks occur only when different (more than one) tasks hold part ofeach other’s required resources at the same time, and then they request for theresources being held by each other. But under PCP, when one task is executingwith some resources, any other task cannot hold a resource that may ever beneeded by this task. That is, when a task is granted one resource, all its requiredresources must be free. This prevents the possibility of any deadlock.




PCP overcomes unbounded priority inversions because whenever a high prioritytask waits for some resources which are currently being used by a low prioritytask, then the executing lower priority task is made to inherit the priority of thehigher priority task. So, the intermediate priority tasks cannot preempt lowerpriority task from CPU usage. Therefore, unbounded priority inversions cannotoccur in PCP.Tasks are single blocking under PCP. That means, under PCP a task can undergo atmost one inversion during its execution. This feature of PCP prevents chainblocking