Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700363.doc
Скачиваний:
16
Добавлен:
01.05.2022
Размер:
3.69 Mб
Скачать

Стратегия n-step scan – n-step Scanning

Стратегия N-step SCAN является дальнейшим развитием C-SCAN. Она является справедливой и полностью исключает дискриминацию каких-либо областей диска.

Сущность стратегии N-step SCAN состоит в следующем. Как и в стратегии C-SCAN, запросы обслуживаются только при одном направлении движения головок - рабочем ходе. После обслуживания всех запросов, запланированные на рабочий ход, головки вновь перемещаются в начало. Это холостой ход, во время холостого хода запросы не обслуживаются. Перед началом рабочего хода, все имеющиеся в очереди запросы упорядочиваются таким образом, чтобы все они были последовательно обслужены за один рабочий ход головки. Новые запросы, поступающие во время рабочего хода, накапливаются в очереди и будут обслужены в следующем рабочем ходе.

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

Системный дисковый кэш

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

Как показывает реальный опыт работы, явление локализации ссылок довольно ярко выражено при работе с дисковыми накопителями, и кэширование данных оказывается очень эффективным. Оценки эффективности дискового кэша, полученные в реальных операционных системах, показывают, что кэширование позволяет сократить дисковый трафик до 95% для операций чтения, и до 85% для операций записи.

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

Структура системного дискового кэша

Роль системного дискового кэша при выполнении файловых операций схематично показана на рис. 42.

Как уже было сказано, системный дисковый кэш реализуется за счет выделения для целей кэширования некоторого объема ОЗУ. Заметим, что обмен данных с дисковым накопителем всегда производится довольно крупными блоками, не менее 512 байт. Поэтому весь объем памяти, выделенный под дисковый кэш, разбивается на блоки такого же размера. Блоки дискового кэша организуются одновременно в две очереди: очередь (список) свободных блоков дискового кэша, и одну из хэш-очередей.

Рис.42. Роль системного дискового кэша

Каждый конкретный блок дискового кэша может одновременно включаться в одну или две очереди, в зависимости от ситуации:

  • блок дискового кэша представлен только в очереди свободных блоков – с момента инициализации кэша, этот блок еще не разу не был использован для кэширования дисковых данных;

  • блок дискового кэша представлен только в хэш-очереди – этот блок дискового кэша ассоциирован с данными на диске, и в настоящее время используется для чтения или записи данных;

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