Как алгоритм C-SCAN (лифт) может вызвать голод? - PullRequest
5 голосов
/ 03 сентября 2011

Я читаю Книга ОС Зильбершаца .В разделе 16.8.1 говорится:

Основная проблема алгоритма элеватора состоит в том, что операции ввода-вывода, сконцентрированные в определенной области диска, могут привести к истощению запросов, которые должны возникать в другихобласти диска.

Алгоритм C-SCAN обрабатывает все сектора в порядке, как показано на этой веб-странице .
Я не понимаю, как это моглозаставляет некоторые запросы ждать бесконечно.

Ответы [ 2 ]

6 голосов
/ 03 сентября 2011

Если вы посмотрите на Концепции операционной системы Silberschatz 7-е издание, вы обнаружите, что в ответе из упражнения 7.5 он говорит «голод» - ситуация, при которой процесс должен ждать больше разумного периода времени - возможно, бесконечно - до получения запрошенного ресурса. " таким образом, SCAN и C-SCAN могут провести ужасно долгое время возле одной горячей области диска, прежде чем вернуться в голодную область где-то еще. Голод не должен быть постоянным отказом в обслуживании.

0 голосов
/ 22 апреля 2017

Можно заставить ждать бесконечно, если один и тот же сектор запрашивается снова и снова. Диск застрянет, обслуживая один сектор навсегда.

...