Как рассчитать алгоритм C-SCAN?

Я изучаю алгоритм управления дисками операционной системы. Существует особый алгоритм под названием C-SCAN, который является вариантом алгоритма планирования дисков SCAN (или лифта). Теперь в разделе примеров Википедии есть пример расчета SCAN и C- Метод СКАН.

В случае C-SCAN, когда головка перемещается от 100 до 0, мы рассчитываем все время поиска 100. Но я думаю, если C-SCAN представить как сканирование цилиндра, то почему мы должны рассматривать скачок как время поиска?

введите здесь описание изображения

Существует еще одна статья, где переход не рассчитывается . Так что делать? Я был бы рад, если бы кто-нибудь ответил на мой вопрос с правильным примером.


person Anirban Nag 'tintinmj'    schedule 07.12.2013    source источник


Ответы (1)


Алгоритмы говорят не о «100» как о времени, а скорее о расстоянии, на которое переместится голова. Цифры, на которые они ссылаются, также являются номерами дорожек (логически цилиндры - это все дорожки выше и ниже друг друга, если смотреть сверху на диск). Таким образом, дорожки 20 и 21 являются соседними для приведенных примеров.

Техника лифта довольно проста: как только вы начинаете двигаться в одном направлении, продолжайте движение до тех пор, пока у вас больше не останется запросов в этом направлении, затем измените направление и двигайтесь до упора в другом направлении. Думайте об этом как о книге, вы находитесь на странице (дорожке) 20, поэтому продолжайте двигаться вперед до конца, а затем пролистайте книгу в обратном порядке.

C-SCAN аналогичен, за исключением того, что в конце он не меняет направление, а возвращается к самому низкому и начинается снова.

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

person rlb    schedule 08.12.2013
comment
из этой статьи Имейте в виду, что огромный прыжок не считается движением головы и в примере Wiki прыжок считается движением. Так что же учитывать? - person Anirban Nag 'tintinmj'; 08.12.2013
comment
Попробуйте это, pages.cs.wisc.edu/~remzi/OSTEP /file-disks.pdf достаточно хорош и немного расширен. - person rlb; 08.12.2013
comment
Но это по-прежнему не отвечает на мой вопрос. Должен ли я учитывать количество прыжков или нет? - person Anirban Nag 'tintinmj'; 08.12.2013
comment
Логически головка перемещается от конца обратно к нулю (т. е. к части возврата к нулю), но на самом деле она физически перемещается к следующей/самой нижней незавершенной дорожке в типичных реализациях, поэтому нет необходимости подсчитывать количество возвратов с точками. - person rlb; 08.12.2013
comment
Да, но см. комментарий в конце. Примечание. Несмотря на то, что с использованием алгоритма C-SCAN было выполнено шесть операций поиска, фактически было выполнено только пять операций ввода-вывода. - person rlb; 08.12.2013
comment
Да. На самом деле я запутался в расчете прыжка или нет. - person Anirban Nag 'tintinmj'; 08.12.2013