Starvation has several stages. Our bodies are fantastically well adapted to deal with less than adequate amounts of food. The strategy the body adopts for surviving is dependant on the rate of starvation. If the starvation is slow enough the body will deplete nearly all of the fatty tissues before breaking down the liver and muscle fiberes for energy. If the starvation is sudden (ie no food at all) the body simultaneously breaks down the fat and the muscle/liver tissues after about a week.

When food is limited the body slows down requiring less food. After you enter stage one you lose your appetite (possibly a measure to make searching for food easier as the hunger pains are extremely distracting) Once in stage 3 it is unlikely that the person will recover even if given food, the body is not strong enough to break down the food to recover the energy from it to live.


Metabolic Stages of Starvation

Stage 1 Liver & muscle glycogenolysis
Stage 2 Gluconeogenesis (Liver & muscle glycogen stores depleted)
Stage 3 Terminal phase = Protein degradation (Lipid stores depleted)
in a computer meaning:
when your system or processes change its state frequently trying to handle incoming requests and requests are coming more frequently than can be handled. the system is working but no useful work is done because it cannot 'catch up' ...
similar to livelock.

Starvation in computer science has actually two meanings. Both are closely related to processes and their communication (IPC). The first one, which ORBMan already mentions is very similar to a livelock. One example of such a thing would be a wrong solution for the dining philosophers problem:

When the philosophers want to eat, they first take their left fork and then try to take their right one. If they are unable to take the right one, they lay the left one down. Although this solution works most of the time, situations can occur, when no philosopher can eat and consequently starves to death. Such a situation would happen, if all the philosophers try to get their left fork at the same time. No philosopher would be able to get the right one and would lay the left one down. The philosophers would continue forever trying to get two forks for eating.

Another form of starvation can occur with badly designed scheduling algorithms. An operating system using simple priority based scheduling, which just chooses running processes by their priority, can let a low-priority process starve. If a process with high priority is runable all the time, it will choose this process and the low-priority one, won't get any processor time.

Sometimes both versions of starvation can happen. Think about an operating system, which doesn't know blocking. Processes, waiting for others, have to use busy waiting. If a high-priority process had to wait for a low-priority one, both would starve.

Solutions
The first one can be avoided by using mutual exclusion via semaphores or monitors. If you want to see practical implementations, you should read the dining philosophers problem or the sleeping barber problem. The second one can be solved by using better scheduling algorithms. One simple solution would be the using of dynamic priorities. The scheduler would regularly scan for starving processes and boost their priorities.

Star*va"tion (?), n.

The act of starving, or the state of being starved.

⇒ This word was first used, according to Horace Walpole, by Henry Dundas, the first Lord Melville, in a speech on American affairs in 1775, which obtained for him the nickname of Starvation Dundas. "Starvation, we are also told, belongs to the class of 'vile compounds' from being a mongrel; as if English were not full of mongrels, and if it would not be in distressing straits without them." Fitzed. Hall.

 

© Webster 1913.

Log in or registerto write something here or to contact authors.