![]() |
Real Time Scheduling Algorithms → Resource Access (priority based, preemptive) |
There are cases in which tasks must be granted exclusive access to resources such as global shared
variables or devices in order to avoid non-deterministic or oherwise unwanted program behavior.
Program sections during which such exclusive access is required are called
Tasks not being granted exclusive access have to wait until the resource is released. Accordingly, the
release operation has to check for waiting tasks and resume the task of hightest priority. We will
call the request operation P(S) and the release operation V(S), where S corresponds to the
particular resource requested.
For tasks with critical sections, there is a crucial effect called priority inversion.
In general case, priority inversion exists if some lower priority task is effectively preventing
a higher priority task form executing due to the exclusive use of some resources. Unfortunately
there is no upper bound for the duration of the blocking in the general case. Hence, the duration of the
priority inversion situation is not bounded by the length of any critical section.
Introduction > Real Time Scheduling Algorithms
> Resource Access Protocol (priority based, preemptive)
Back | Next |