Предварительное условие: Алгоритмы планирования дисков
Учитывая массив номеров дорожек диска и начальное положение головки, наша задача состоит в том, чтобы найти общее количество операций поиска, выполненных для доступа ко всем запрошенным дорожкам, если используется алгоритм планирования диска. Также напишите программу для поиска последовательности поиска с использованием алгоритма планирования диска.
Посмотрите алгоритм планирования диска:
LOOK — это усовершенствованная версия алгоритма планирования диска SCAN (элеватора), которая дает немного лучшее время поиска, чем любой другой алгоритм в иерархии. Алгоритм LOOK обслуживает запрос аналогично алгоритму SCAN, в то же время он также «смотрит» вперед, как будто есть больше дорожек, которые необходимо обслуживать в том же направлении. Если нет ожидающих запросов в направлении движения, головка меняет направление и начинает обслуживать запросы в противоположном направлении.
Основная причина лучшей производительности алгоритма LOOK по сравнению со SCAN состоит в том, что в этом алгоритме головке не разрешается перемещаться до конца диска.
Алгоритм:
- Массив Let Request представляет собой массив, хранящий индексы треков, которые были запрошены в порядке возрастания времени их прибытия. «голова» — это положение головки диска.
- Начальное направление, в котором движется головка, задается, и оно движется в том же направлении.
- Руководитель обслуживает все запросы один за другим в направлении движения головы.
- Голова продолжает двигаться в том же направлении, пока все запросы в этом направлении не будут выполнены.
- При движении в этом направлении рассчитайте абсолютное расстояние колеи от головы.
- Увеличьте общее количество запросов с этим расстоянием.
- В настоящее время обслуживаемая позиция пути становится новой позицией головы.
- Переходите к шагу 5, пока мы не достигнем, наконец, запроса в этом направлении.
- Если мы дойдем до того места, где не нужно обслуживать запросы в этом направлении, поменяйте направление и перейдите к шагу 3, пока все дорожки в массиве запросов не будут обслужены.
Примеры:
Input: Request sequence = {176, 79, 34, 60, 92, 11, 41, 114} Initial head position = 50 Direction = right (We are moving from left to right) Output: Initial position of head: 50 Total number of seek operations = 291 Seek Sequence is 60 79 92 114 176 41 34 11
Следующая таблица показывает последовательность, в которой запрашиваемые треки обслуживаются с помощью LOOK.
Поэтому общее количество запросов рассчитывается как:
= (60-50)+(79-60)+(92-79) +(114-92)+(176-114) +(176-41)+(41-34)+(34-11)
Реализация:
Реализация алгоритма LOOK приведена ниже.
Примечание: переменная расстояния используется для хранения абсолютного расстояния между головой и текущей позицией трека. disk_size — это размер диска. Векторы left и right хранят все треки запроса слева и справа от начальной позиции головы соответственно.
|
Выход:
Initial position of head: 50 Total number of seek operations = 291 Seek Sequence is 60 79 92 114 176 41 34 11
Рекомендуемые посты:
- Алгоритм планирования диска C-LOOK
- Алгоритм планирования диска C-SCAN
- Программа для алгоритма планирования дисков SSTF
- Алгоритмы планирования диска
- Алгоритмы планирования дисков FCFS
- SCAN (элеватор) алгоритмы планирования диска
- Разница между магнитным диском и оптическим диском
- Алгоритм планирования центрального процессора с наибольшим оставшимся временем (LRTF)
- Многоуровневое планирование очередей обратной связи (MLFQ) Планирование ЦП
- Жесткий диск (HDD) Вторичная память
- Разница между оперативной памятью (RAM) и жестким диском (HDD)
- Программа по алгоритму банкира | Набор 1 (Алгоритм безопасности)
- Различия между магнитной лентой и магнитным диском
- Планирование ЦП в операционных системах
- Программа для планирования ресурсов FCFS | Комплект 1
0.00 (0%) 0 votes