Дисковое планирование

 

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

- времени поиска ( установка головки диска на нужную дорожку) и

- времени задержки из-за вращения ( поиск на дорожке нужного сектора и позиционирование на его начало).

Эти параметры зависят от:

1) физического устройства диска: его размеров и скорости вращения

2) планирования поиска секторов по поступающим запросам.

Запросы к диску можно представить как запросы на считывание секторов с разных номеров дорожек. Например, запросы могут быть в такой последовательности номеров дорожек: 120, 158, 31, 60, 2, 83, 14

Для обработки всех этих запросов используются разные способы планирования:

 

FIFO( first input first output)- это обработка всех запросов последовательно т.е. в том порядке как они расположены в очереди запросов. Самый простой способ, но время перемещения от дорожки 158 к дорожке 31, а затем к дорожке 60 будет больше, чем, например, от 158 – 60 – 38. Поэтому время передачи данных с диска будет не оптимальным. Разновидностями Fifo планирования являются обработка запросов по приоритетам (PRI) и обработка не первого поступившего, а последнего (LIFO).

PRI ( priority) – планирование обработки по приоритету запросов: из всей очереди выбираются те запросы для выполнения, которые имеют максимальный приоритет. Оно позволяет ускорить обработку наиболее важных запросов, но может оказаться, что некоторые процессы будут в «вечном» ожидании т.к. их приоритет все время будет ниже, чем других.

LIFO (Last input first output )–планирование используется при системе транзакций ( запись в специальный файл последних изменений). В этом случае выбираются запросы, которые поступили самыми последними. Однако, при этом подходе тоже возможно «вечное» ожидание.

SSTF (Shortest Service Time First)– планирование означает выбор тех запросов, которые минимально требуют перемещения головки. При таком планировании наиболее минимально используется время доступа, но возможны ситуации «вечного» ожидания.

SCAN – планирование частично решает проблему «вечного» ожидания за счет того, что выбираются не наиболее близкие дорожки, а наиболее близкие в одном направлении ( т.е. головка перемещается в направлении увеличения номеров дорожек), а по достижения крайней требуемой дорожки в этом направлении, направление меняется на обратное.

SCAN-разновидности –для решения «вечного» ожидания ( голодания) последовательность запросов разбивается на сегменты ( или несколько очередей) и выполняется полностью один сегмент, а только затем следующий. При этом в пределах каждого сегмента планирование выполняется по методу SCAN.