Принципы операционной системы для студентов бакалавриата Учебная запись
Учебная запись Семейная корзина
Глава 12 Управление дисками
12.1 Состав диска
Диск: носитель для хранения данных; данные могут храниться с обеих сторон; это сам Лу, и он покрыт магнитным носителем.
Головка: читает и записывает данные, перемещается по радиусу диска
Шпиндель: с приводом от двигателя, вращение диска, фиксированная скорость вращения, 7200 об/мин 5400 об/мин
Состав тарелки:
Трек: круг, нарисованный магнитной головкой на поверхности пластины; нумерация начинается с «0» на внешнем краю пластины.
Сектор: Трасса разделена на дуги
Цилиндр: дорожки с одинаковым номером образуют цилиндр
12.2 Контроллеры дисков и интерфейсы
Интерфейс: ATA (последовательный интерфейс), SATA (последовательный интерфейс), USB, SCSI (параллельный интерфейс), SAS
Дисковый контроллер:
буфер:
12.3 Отношения сопоставления адресов
Номер блока: LBA
Адрес диска (CHS):
Цилиндр: дорожка цилиндра C
Голова: поверхность головы H
Сектор: Сектор S
SPT: максимальное количество секторов на дорожку
HPC: максимальное количество головок
12.4 Время доступа к диску
Скорость вращения диска: 60-250 об/мин
RPM: количество оборотов в минуту, например 7200 об/мин.
Время позиционирования:
Время поиска: время перемещения магнитного рычага на требуемую дорожку; среднее время поиска: 1/3 движения дорожки (1-4 мс)
Задержка вращения: время ожидания перехода сектора к головке; средний выбор времени 1/2 оборота: 1/(2*об/мин/60)
Время передачи:
Скорость передачи: общее количество переданных байтов / время передачи
12.5 Управление дисками
Низкоуровневое форматирование (физическое форматирование)
Разделите диск на сектора, чтобы контроллер диска мог читать и записывать
Разметка: разделите диск на разделы, основные разделы и расширенные разделы.
Расширенное форматирование: логическое форматирование, создание файловых систем
загрузочный блок: загрузочный сектор
12.6 Алгоритмы планирования дисков
Планирование дисков: чтобы сократить время доступа к диску
Время доступа: время поиска: время, необходимое головке, чтобы переместиться на дорожку, где осуществляется доступ к сектору.
Время задержки поворота: время поворота сектора доступа под головку
Время передачи: время отправки данных с диска в память
Допустим есть последовательность запросов (0-199 дорожек): 98, 183, 37, 122, 14, 124, 65, 67
Текущее положение магнитной головки 53
Цель: Минимальное расстояние движения головы и минимальное время поиска
В порядке живой очереди FCFS
Отправить посещения времени по запросу
Плюсы: простой, честный
Недостаток: долгое время поиска
Первый алгоритм кратчайшего времени поиска SSTF
Каждый раз переходить к треку, ближайшему к текущему положению
Плюсы: короткое расстояние поиска
Недостатки: есть голод, голова часто меняет направление движения, увеличивает время поиска
Алгоритм сканирования SCAN
Головка перемещается от одного конца диска к другому, попутно отвечая на служебные запросы.
Когда достигнут другой конец, головка меняет направление и сканирует диск вперед и назад.
Преимущества: сканирование в одном направлении, короткое время поиска
Недостатки: некоторые запросы требуют длительного ожидания.
Алгоритм циклического сканирования C-SCAN
Круговое сканирование
Односторонняя обработка запросов
- Запросы обрабатываются, пока головка перемещается с внешней дорожки (дорожка 0) на внутреннюю дорожку.
- Запрос не обрабатывается в процессе перехода с внутренней полосы на внешнюю
преимущество:
более равномерное время ожидания
Алгоритм циклического просмотра C-LOOK
Деформация C-SCAN
Головка перемещается только до самого дальнего запроса в одном направлении, а не доходит до конца диска.
Модульная работа МООК
1. Каковы составляющие времени доступа к диску? Как должен рассчитываться каждый неполный рабочий день?
Состоит из времени произвольного доступа + времени передачи + служебного времени системы
Время произвольного доступа состоит из среднего времени поиска и задержки вращения.
Среднее время поиска: 1/3 движения дорожки Задержка вращения: Среднее время вращения 1/2 времени поворота 1/(2*об/мин/60)
Время передачи = общее количество переданных байтов / скорость передачи
2. Если текущее положение магнитной головки составляет 100 дорожек (всего 200 дорожек), магнитная головка перемещается в сторону увеличения номеров дорожек. Имеется очередь запросов на чтение и запись диска: 23, 132, 19, 61, 190, 29, 4, 18, 40. Если используются FCFS в порядке очереди, приоритет кратчайшего времени поиска SSTF, алгоритмы сканирования SCAN и C-SCAN, попробуйте вычислить среднюю длину поиска?
Первый пришел первый обслужен:
(100-23) + (132-23)+(132-19)+(61-19)+(190-61)+(190-29)+(29-4)+(18-4)+(40) -18)= 692
692/9 = 77 дорожек
Кратчайшее время поиска сначала:
132 - 100 + 190-132 + 190 - 61 + 61 - 40 + 40 - 29 + 29 - 23 + 23 -19 + 19-18 + 18 - 4 = 276
276/9 = 30,7 дорожек
Алгоритм сканирования:
132 - 100 + 190-132 + 190 - 61 + 61 - 40 + 40 - 29 + 29 - 23 + 23 -19 + 19-18 + 18 - 4 = 276
276/9 = 30,7 дорожек
С-СКАН:
132 - 100 + 190-132 + 4 - 0 + 18 - 4 + 19 -18 + 23 - 19 + 29 - 23 + 40 - 29 + 61 - 40 = 151
151/9 = 16,8 дорожек
3. Запросы на доступ к диску часто распределяются по диску неравномерно. Например, в файловой системе с индексированным размещением доступ к цилиндрам, содержащим индексные таблицы, осуществляется чаще, чем к цилиндрам, содержащим только содержимое файла. Предположим, вы знаете, что 50% запросов относятся к небольшому фиксированному количеству цилиндров. Итак, в этой ситуации, какой из алгоритмов планирования, обсуждаемых в этой главе, имеет лучшую производительность? Почему?
Лучше использовать алгоритм с наименьшим временем поиска.
Поскольку 50% запросов приходится на поиск небольшой части неподвижного цилиндра, расстояние между ними невелико, так что голова всегда может перемещаться вперед и назад в этой области, что меньше по сравнению с большими колебаниями Алгоритмы FCFS и сканирования ищут время.
4. На диске 8 пластин, на каждой пластине 200 дорожек, каждая дорожка разделена на 128 секторов. Прошу прощения:
1) Какова емкость этого диска?
8 * 2 * 200 * 128 * 512Б = 200МБ
2) Если время перемещения головки по дорожке составляет 0,02 мс, каково среднее время поиска этого диска?
Среднее время поиска: 200 * 0,02 / 3 = 1,33 мс.