В. Столлингс - Операционные системы (1114679), страница 107
Текст из файла (страница 107)
Значительно улучшает характеристики диска уменьшение и облегчение егк компонентов. Не так давно типичный диск имел в диаметре 14 дюймов (36 см) Часть 5. Операции ввода-вывода и фай Глана 11. Управление вводом-выводом и дисковое планирование 561 ~ то время как сегодня самый распространенный размер составляет 3.5 дюйма 8.9 см), что существенно уменьшает расстояния перемещения головок.
Типич яое среднее время поиска в современных дисках составляет от 5 до 10 шз. Задержка из-за вращения Жесткие магнитные диски, в отличие от гибких, имеют скорость вращения н диапазоне от 5400 до 10000 об/мин (последнее значение соответствует одному обороту за 6 пм). Поэтому при скорости вращения 10000 об/мин средняя задержк ержка из-за вращения составляет 3 тз. Гибкие диски обычно имеют скорость вращения н пределах 300 — 600 об/мин, что соответствует средней задержке от 100 до 200 газ.
Время передачи данных Время передачи данных на диск или считывания с него зависит от скорости вращения диска следующим образом: где Т вЂ” время передачи данных; Ь вЂ” количество передаваемых байтов; И вЂ” количество байтов в дорожке; г — скорость вращения (об/с). Таким образом, итоговое среднее время доступа можно выразить как 1 Ь Т. =Т,+ — + —, 2г гИ где Т, — среднее время поиска. Оценка времени Рассмотрим теперь дне операции ввода-вывода, показынающие, как опасно по- А лагаться на средние значения. Пусть у нас имеется обычный диск, у которого среднее время поиска составляет 10 пж, скорость вращения — 10000 об/мин, и диск разбит на сектора по 512 байт, с 320 секторами на одной дорожке.
Предположим> что нам необходимо выполнить чтение файла, состоящего из 2560 секторов, общим ',:" Размером 1,3 Мбайт. Мы хотим оценить общее время передачи данных. Сначала предположим, что файл сохранен настолько компактно, насколько это возможно, — т.е. файл занимает все секторы на 8 соседних дорожках (8 дорожек х 320 секторов на дорожке = 2560 секторов). Такое размещение называется последовательным. В этом случае время, необходимое для чтения первой дорожки, определяется следующим образом: 10 шн Среднее время поиска Задержка на вращение Чтение 320 секторов Предположим, что остальные дорожки могут быть считаны последователь но, без затраты времени на поиск.
Другими словами, операция ввода-вывода не отстает от потока данных с диска. Значит, для каждой последующей дорожки остается только задержка из-за вращения," соответственно, каждая дорожка счи тывается за 3 + 6 = 9 па. Итак, для чтения всего Файла нам потребуется Общее время = 19 + 7 х 9 = 82 тз = 0.082 з Теперь рассчитаем время, необходимое для чтения тех же данных, но при случайном, а не последовательном доступе — т.е. секторы с содержимым файла распределены на диске случайным образом. Тогда для каждого сектора: Среднее время поиска Задержка на вращение Чтение 1 сектора 10 п1в 3 хпя 0.01375 тв 13.01875 тпв Стратегии дискового планирования В только что рассмотренном примере причина Разницы в производительности может быть объяснена продолжительностью поиска.
Если выполнение обращений к секторам включает выбор дорожек случайным образом, производительность дискового ввода-вывода окажется чрезвычайно низкой. Для ее повышения нам необходимо уменьшить время, затрачиваемое на поиск дорожки. Рассмотрим типичную ситуацию и многозадачной среде, когда операцнон. ная система поддерживает очередь запросов для каждого устройства ввода. вывода. Соответственно, н очереди одного диска будет находиться некоторое ко личество запроссв на ввод-вывод (чтение или запись) от различных процессов Если выбирать запросы из очереди случайным образом, то следует ожидать, чу искомые дорожки будут располагаться в произвольном порядке, это приведет в очень низкой производительности.
Такое случайное распределение может слу жить точкой отсчета для оценки других методик. Простейшей Формой планирования является планирование "первым во шел — первым вышел" (ИГО), что просто означает обработку запросов из очере ди н порядке их поступления. Преимущество такой стратегии — в ее беспри ~~растности. На рис. 11.3,а показано перемещение головки при использонаниь стратегии ИГО (в этом примере мы полагаем, что на диске имеется 200 ДОРО жек, а в очереди находятся запросы к дорожкам, поступившие случайным обра зом: 55, 58, 39, 18, 90, 160, 150, 38, 184). В табл. 11.2,а приведены количест венные результаты. Общее время = 2560 х 13.01875 = 33328 тн = 33.328 з Очевидно, что порядок чтения секторов с диска оказывает огромное влияние на производительность дискового ввода-вывода. Если при доступе к файлу с диска считывается (или записывается на него) несколько секторов, имеется возможность определенного контроля над использованием секторов с данными, но об этом мы поговорим в следующей главе.
Однако в многозадачной среде всегда будут в наличии конкурирующие между собой запросы на операции внодавывода с одним и тем же диском, так что избежать случайного доступа не удастся. Таким образом, следует изучить способы повышения производительности дискового ввода-вывода при случайном доступе. Часть Ь. Операции авода-вывода и файлы:.
1лава 11. Управление вводом-выводом и дисковое планирование 56"- х о щ щ щ щ с> Ф Ф щ щ щщ о М со со о во М щ ф со ~ ос ° сч м с со со ,Ф о о,$ о иссщ а) Е!ЕО -с: о о "':ъ со со со со о 4 ч ч со со о 3 щ щ с щ Ф щ щ о Ф ф Ф щ ~,> М $4 щ сс й щ о щ щ о о с со ч ос Взатяг о о со со со о сю со сь со 1 ч ос 3о со Фъ с'ъ х о щ И Ю щ о Ф о Ж щ Ф щ о сс, о о о ФФ щ щ СЧ со со о со о м' с с м ссс с с ос сч щ щ ° л~)щщ 0 25 50 75 100 125 150 175 7И г) С-8САМ Рис. 11,8, Сравнение различных алгоринслсав дискового нланированил СЧ о о ч с 4 н При использовании стратегии ИГО надеяться на высокую производительность; можно только при небольшом количестве процессов и запросах в основном к близ-' ким грУппам секторов. Однако при работе большого количества процессов произво .
дительность будет почти такой же, как и при случайном планировании. Поэтом~ следует обратиться к более интеллектуальным стратегиям планирования (табл. 11.3); Й Я д й~ о о со со ск> ° ~ м со мР со ос са о со со со е с о 0 25 50 75 ~00 125 150 375 1% Часть б. Операции ввода-вывода и фай о в оя Ф о. ~ о о о о.с о, ойдо с.1 Ооо и ~щщ Й сс сс сс о с, о Ф Ф щ о о о Р3 н Р щ "о К о. о о о, с о сс щ Ф Ф о ц> к", сс ф е о„ о о % ' о о Ф~ Е Примечания 'название Описание Выбор в соответствии с источником запроса Случайное планирование Максимизация локализации и использования ресурса "Последним вошел — первым вышел*' Высокая степень использования, малые очереди Выбор самого короткого времени обслуживания Лучшее распределение обслужи- вания Перемещение вперед и назад по диску Низкая изменчивость обслуживания Однонаправленное перемещение с быстрым возвратом ЯСАХ Гарантия обслуживания Чувствительный к загрузке ЯСАХ с Х записями в одном пакете Х-з1ер-ЯСАХ, где Х вЂ” размер оче- реди в начале цикла ЯСАХ приоритеты вблица 11,3.
Алгоритмы дискового планирования ~%'1ЕВ87) "'Первым вошел -- первым вышел" Наиболее беспристрастный метод Приоритет процесса Очередь запросов к диску управляется извне Выбор в соответствии с содержимым запроса В системе с использованием приоритета (РВ1) управление планированием явля ся внешним по отношению к программному обеспечению управления диском. >й подход не имеет отношения к оптимизации использования диска, но зато уд .*творяет некоторым другим целям операционной системы.
Коротким пакетным агниям, а также интерактивным заданиям часто присваивается более высокий зиоритет, чем длинным заданиям, требующим более длительных вычислений. :ема позволяет быстро завершить большое количество коротких заданий в систе обеспечивает малое время отклика. Однако при использовании этого метод ольших заданий оказывается слишком длительным ожидание выполнения диск йх операций. Кроме того, такая стратегия может привести к противодействию 'ороны пользователей, которые будут разделять свои задания на малые подзадвния е подходит эта стратегия и для работы с базами данных. 1оследиим вошел — первым вышел Как это ни удивительно, но стратегия выполнения первым самого послед > запроса имеет свои преимущества.
В системах обработки транзакций при пре )ставленни устройства для последнего пользователя должно выполняться ли збольшое перемещение указателя последовательного Файла. Использование Реимуществ локализации позволяет повысить пропускную способность вспылить длину очереди. К сожалению, если нагрузка на диск велика, сущест ~ет очевидная возможность голодания процесса.
Три рассмотренные стратегии планирования — Г1ГО, РВ1 и 1.1ГΠ— осно ы исключительно на атрибутах очереди или запрашивающего процесса. Однако 'Часть 5. Операции ввода-вывода и фай если планировщику известна текущая дорожка„то появляется возможность ис пользования стратегии планирования, основанной на содержимом запроса. Стратегия выбора наименьшего времени обслуживания (ЯЬог1езФ Бегч1се Тппе Г1гз$ — ЯБТГ) заключается в выборе того дискового запроса на ввод-вывод, который требует наименьшего перемещения головок из текущей позиции.
Сле довательно, мы минимизируем время поиска. Естественно, постоянный выбор минимального времени поиска не дает гарантии, что среднее время поиска при всех перемещениях будет минимальным, но тем не менее эта стратегия обеспечивает лучшую по сравнению с Г1ГО производительность дисковой системы. По скольку головки могут перемещаться в двух направлениях, то при равных рас стояниях для принятия решения может быть использован случайный выбор направления. На рис. 11.8,6 и в табл.