Knowledge

Starvation (computer science)

Source 📝

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:)

Index

Resource starvation
Starvation (disambiguation)
computer science
concurrent computing
process
resources
mutual exclusion
resource leaks
denial-of-service attack
fork bomb
concurrent algorithm
liveness
correctness
shared resource
scheduling algorithm
multi-tasking system
CPU time
kernel
priority inversion
scheduling algorithms
maximum throughput scheduling
deadlock
critical section
aging
Dining philosophers problem
Tanenbaum, Andrew
Modern Operating Systems
184–185
ISBN
0-13-092641-8

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.