Glossary · Automation software engineering and architecture
Starvation
Also known as: Resource starvation
German: Verhungern eines Prozesses
In concurrent computing, starvation is a condition in which a task or process is ready to run or waiting for a resource but is repeatedly denied it, for example because higher-priority tasks always take precedence.
- Software engineering
In one sentence
Starvation occurs when a ready task is repeatedly denied processor time or a resource, for example by higher-priority tasks.
Example
A continuously busy high-priority communication task leaves no processor time for the low-priority logging task, whose buffer eventually overflows.
How it applies
- Engineering: In priority-based systems, low-priority tasks starve when higher-priority tasks use all processor time. Designers limit load of high-priority tasks and monitor CPU use.
- Verification: Load tests and task monitoring show whether all tasks get enough time under worst-case conditions.
- Documentation: PLC and RTOS manuals should explain how task priorities and cycle times affect lower-priority tasks, and which diagnostics indicate overload.
Starvation vs. deadlock
In a Deadlock, tasks wait for each other and none progresses. In starvation, the system progresses, but one task does not. In production coordination, Starvation state describes a machine waiting for material from upstream, a related but physical meaning.