patternMinor
What does starvation freedom exactly mean?
Viewed 0 times
whatstarvationmeanfreedomdoesexactly
Problem
Galvin offers the following definitions of starvation:
-
Indefinite blocking, or starvation, a situation in which processes wait indefinitely within the semaphore.
-
A major problem with priority scheduling algorithms is indefinite block-ing, or starvation.A process that is ready to run but waiting for the CPU can be considered blocked. A priority scheduling algorithm can leave some low priority processes waiting indefinitely.
What I understand from this is, starvation happens whenever a process has to wait indefinitely to get resources, the waiting may be finite, but you cannot specify the time limit. So by definition, starvation freedom must be definite waiting.
Michel Raynal defines starvation freedom as following:
If a process wants to execute the critical section code, then that process eventually executes it.
My question is, does starvation freedom mean a given process will have to wait for a specified finite time(definite waiting, according to Galvin) or does it mean that a process must wait for some unknown finite time(eventually executes it, according to Raynal).
-
Indefinite blocking, or starvation, a situation in which processes wait indefinitely within the semaphore.
-
A major problem with priority scheduling algorithms is indefinite block-ing, or starvation.A process that is ready to run but waiting for the CPU can be considered blocked. A priority scheduling algorithm can leave some low priority processes waiting indefinitely.
What I understand from this is, starvation happens whenever a process has to wait indefinitely to get resources, the waiting may be finite, but you cannot specify the time limit. So by definition, starvation freedom must be definite waiting.
Michel Raynal defines starvation freedom as following:
If a process wants to execute the critical section code, then that process eventually executes it.
My question is, does starvation freedom mean a given process will have to wait for a specified finite time(definite waiting, according to Galvin) or does it mean that a process must wait for some unknown finite time(eventually executes it, according to Raynal).
Solution
You cannot imply starvation freedom as definite waiting just because the definition of starvation says that the low priority processes have to wait indefinitely.
From Raynal,
Starvation freedom means that a process that wants to enter the critical section can be bypassed an arbitrary but finite number of times by each other process.
Concurrent Programming: Algorithms, Principles, and Foundations
By Michel Raynal
From Raynal,
Starvation freedom means that a process that wants to enter the critical section can be bypassed an arbitrary but finite number of times by each other process.
Concurrent Programming: Algorithms, Principles, and Foundations
By Michel Raynal
Context
StackExchange Computer Science Q#131786, answer score: 4
Revisions (0)
No revisions yet.