154:
in that it causes a process to freeze. Two or more processes become deadlocked when each of them is doing nothing while waiting for a resource occupied by another program in the same set. On the other hand, a process is in starvation when it is waiting for a resource that is continuously given to
131:
Many operating system schedulers employ the concept of process priority. A high priority process A will run before a low priority process B. If the high priority process (process A) blocks and never yields, the low priority process (B) will (in some systems) never be scheduled—it will experience
136:. Modern scheduling algorithms normally contain code to guarantee that all processes will receive a minimum amount of each important resource (most often CPU time) in order to prevent any process from being subjected to starvation.
132:
starvation. If there is an even higher priority process X, which is dependent on a result from process B, then process X might never finish, even though it is the most important process in the system. This condition is called a
155:
other processes. Starvation-freedom is a stronger guarantee than the absence of deadlock: a mutual exclusion algorithm that must choose to allow one of two processes into a
100:. The name "finite bypass" means that any process (concurrent part) of the algorithm is bypassed at most a finite number times before being allowed access to the
128:, is supposed to allocate resources equitably; that is, the algorithm should allocate resources so that no process perpetually lacks necessary resources.
372:
339:
560:
555:
447:
565:
382:
305:
166:
technique. Aging is a technique of gradually increasing the priority of processes that wait in the system for a long time.
17:
367:
332:
280:
397:
247:
215:
120:
always switches between the first two tasks while a third never gets to run, then the third task is being starved of
462:
97:
93:
422:
362:
325:
144:
162:
A possible solution to starvation is to use a scheduling algorithm with priority queue that also uses the
402:
175:
151:
31:
488:
427:
412:
125:
417:
66:
442:
432:
348:
207:
387:
377:
117:
483:
457:
140:
113:
77:
46:
8:
96:, and is one of the two requirements for any mutual exclusion algorithm; the other being
50:
529:
407:
163:
133:
452:
437:
301:
276:
243:
211:
200:
195:
156:
58:
38:
392:
231:
101:
54:
503:
498:
493:
549:
467:
268:
62:
513:
57:
to process its work. Starvation may be caused by errors in a scheduling or
508:
317:
235:
159:
and picks one arbitrarily is deadlock-free, but not starvation-free.
70:
121:
273:
Concurrent
Programming: Algorithms, Principles, and Foundations
275:. Springer Science & Business Media. pp. 10–11.
143:
may suffer from scheduling starvation. An example is
112:
Starvation is usually caused by an overly simplistic
139:
In computer networks, especially wireless networks,
199:
124:. The scheduling algorithm, which is part of the
547:
333:
230:
340:
326:
194:
373:Earliest eligible virtual deadline first
347:
263:
261:
259:
65:, and can be intentionally caused via a
14:
548:
448:Statistical time-division multiplexing
295:
267:
116:. For example, if a (poorly designed)
321:
256:
240:The Art of Multiprocessor Programming
61:algorithm, but can also be caused by
300:. Wiley India Edition. p. 193.
76:When starvation is impossible in a
24:
92:. This property is an instance of
25:
577:
398:Generalized foreground-background
150:Starvation is normally caused by
53:is perpetually denied necessary
561:Processor scheduling algorithms
556:Concurrency (computer science)
289:
224:
188:
27:Resource shortage in computers
13:
1:
181:
145:maximum throughput scheduling
107:
566:Problems in computer science
45:is a problem encountered in
7:
403:Highest response ratio next
176:Dining philosophers problem
169:
32:Starvation (disambiguation)
10:
582:
383:Fixed-priority pre-emptive
206:. Prentice Hall. pp.
80:, the algorithm is called
29:
522:
476:
413:Multilevel feedback queue
355:
298:Operating System Concepts
418:Process Contention Scope
242:. Elsevier. p. 24.
202:Modern Operating Systems
67:denial-of-service attack
443:Shortest remaining time
296:Galvin, Peter (2010).
388:Foreground-background
141:scheduling algorithms
349:Processor scheduling
118:multi-tasking system
114:scheduling algorithm
78:concurrent algorithm
47:concurrent computing
30:For other uses, see
43:resource starvation
18:Resource starvation
530:Processor affinity
423:Proportional share
363:Deadline-monotonic
134:priority inversion
543:
542:
438:Shortest job next
368:Earliest deadline
307:978-81-265-2051-0
196:Tanenbaum, Andrew
16:(Redirected from
573:
342:
335:
328:
319:
318:
312:
311:
293:
287:
286:
265:
254:
253:
232:Herlihy, Maurice
228:
222:
221:
205:
192:
157:critical section
88:or said to have
59:mutual exclusion
39:computer science
21:
581:
580:
576:
575:
574:
572:
571:
570:
546:
545:
544:
539:
518:
489:Completely Fair
472:
351:
346:
316:
315:
308:
294:
290:
283:
266:
257:
250:
229:
225:
218:
193:
189:
184:
172:
110:
102:shared resource
82:starvation-free
35:
28:
23:
22:
15:
12:
11:
5:
579:
569:
568:
563:
558:
541:
540:
538:
537:
532:
526:
524:
520:
519:
517:
516:
511:
506:
504:SCHED DEADLINE
501:
496:
491:
486:
480:
478:
474:
473:
471:
470:
465:
460:
455:
450:
445:
440:
435:
430:
428:Rate-monotonic
425:
420:
415:
410:
405:
400:
395:
390:
385:
380:
375:
370:
365:
359:
357:
353:
352:
345:
344:
337:
330:
322:
314:
313:
306:
288:
282:978-3642320279
281:
269:Raynal, Michel
255:
248:
223:
216:
186:
185:
183:
180:
179:
178:
171:
168:
109:
106:
63:resource leaks
26:
9:
6:
4:
3:
2:
578:
567:
564:
562:
559:
557:
554:
553:
551:
536:
533:
531:
528:
527:
525:
521:
515:
512:
510:
507:
505:
502:
500:
497:
495:
492:
490:
487:
485:
482:
481:
479:
475:
469:
468:YDS algorithm
466:
464:
461:
459:
456:
454:
451:
449:
446:
444:
441:
439:
436:
434:
431:
429:
426:
424:
421:
419:
416:
414:
411:
409:
406:
404:
401:
399:
396:
394:
391:
389:
386:
384:
381:
379:
376:
374:
371:
369:
366:
364:
361:
360:
358:
354:
350:
343:
338:
336:
331:
329:
324:
323:
320:
309:
303:
299:
292:
284:
278:
274:
270:
264:
262:
260:
251:
249:9780123977953
245:
241:
237:
233:
227:
219:
217:0-13-092641-8
213:
209:
204:
203:
197:
191:
187:
177:
174:
173:
167:
165:
160:
158:
153:
148:
146:
142:
137:
135:
129:
127:
123:
119:
115:
105:
103:
99:
95:
91:
90:finite bypass
87:
86:lockout-freed
83:
79:
74:
72:
68:
64:
60:
56:
52:
48:
44:
40:
33:
19:
534:
514:SCHED NORMAL
297:
291:
272:
239:
226:
201:
190:
161:
149:
138:
130:
111:
89:
85:
81:
75:
42:
36:
433:Round-robin
236:Shavit, Nir
98:correctness
550:Categories
535:Starvation
509:SCHED FIFO
484:Brain Fuck
463:Windows NT
378:Fair-share
356:Algorithms
182:References
108:Scheduling
69:such as a
458:Two-level
71:fork bomb
55:resources
271:(2012).
238:(2012).
198:(2001).
170:See also
152:deadlock
122:CPU time
94:liveness
49:where a
408:Lottery
208:184–185
51:process
453:Stride
304:
279:
246:
214:
126:kernel
523:Other
477:Linux
164:aging
499:O(n)
494:O(1)
393:Gang
302:ISBN
277:ISBN
244:ISBN
212:ISBN
37:In
552::
258:^
234:;
210:.
147:.
104:.
84:,
73:.
41:,
341:e
334:t
327:v
310:.
285:.
252:.
220:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.