作者:
q1qip123 (wtlee)
2017-11-09 18:04:10想請問
在premptive的法則下,為甚麼不保證starvation一定發生?
ex. 若是我一直提供較高優先權的process不會發生嗎?
還是我對starvation的理解有誤?
(starvation: 因process長期無法取得資源,而無法完成工作的現象)
作者: awilliea (willie) 2017-11-09 18:26:00
可能有其他機制輔助解決starvation,像是MFQs的輔助機制
作者:
q1qip123 (wtlee)
2017-11-09 18:37:00因為網路上查說RR是沒有starvation , 所以說他不是沒有,只是因為能解決?
RR是因爲Time Out之後會進Ready Queue,此時Process是FIFO的,所以不會有Stravation*StarvationMFQs是因爲允許Process在不同Queue之間移動,所以可以採取類似Aging技術的作法來消除Stravation手殘又拼錯== Starvation 抱歉小結:FIFO、RR、MFQs這三種沒有Starvation
作者:
q1qip123 (wtlee)
2017-11-09 19:18:00那RR的ready queue是FIFO,那為甚麼他是preemptive?
因為正在執行的process會因為time out 被迫放掉cpupreemptive的定義應該就是正在執行的會非自願放掉cpustarvation就是看有沒有機會有人永遠執行不到
作者:
q1qip123 (wtlee)
2017-11-09 19:38:00好 我暸解了 謝謝各位!!