- •Глава 11
- •Глава 12. Управление файлами
- •Глава 11 Управление вводом-выводом и дисковое планирование
- •11.1. Устройства ввода-вывода
- •11.2. Организация функций
- •11.3. Вопросы проектирования операционных систем
- •11.4 Буферизация операций ввода-вывода
- •11.5. Дисковое планирование
- •Выбор в соответствии с источником запроса
- •Выбор в соответствии с содержимым запроса
- •11.6. Raid
- •Буфер кэша
- •Очередь символов
- •Небуферизированный ввод-вывод
- •11.9. Ввод-вывод в windows 2000
- •Асинхронный и синхронный ввод-вывод
- •11.10. Резюме, ключевые термины и контрольные вопросы
- •Ключевые термины
- •Рекумендуемая литература
- •11.12. Задачи
- •Приложение. Дисковые устройства Магнитный диск
- •Оптическая память
Операции ввода-вывода и файлы
При создании операционной системы важное место занимают средства ввода-вывода и система управления файлами. При рассмотрении ввода-вывода ключевым вопросом является производительность. От удачного проектирования средств ввода-вывода во многом зависит производительность всей вычислительной системы. Если обратить внимание на функционирование компьютерных систем, то можно увидеть, что скорость работы процессора непрерывно возрастает, а если один процессор работает недостаточно быстро, то повысить производительность можно путем использования SMP-конфигурации. Скорость доступа к основной памяти также возрастает, хотя и медленнее, чем скорость работы процессора. При разумном использовании одного, двух или более уровней внутренней кэш-памяти возможно ускорить доступ к основной памяти, компенсируя этим отставание скорости работы основной памяти от скорости работы процессора. Заметим, однако, что производительность при операциях ввода-вывода остается существенной проблемой, особенно при работе с дисковой памятью.
Производительность важна и при рассмотрении файловых систем. Здесь на первый план выступают также такие требования, как надежность и безопасность. С точки зрения пользователя, файловая система является, возможно, самым важным аспектом операционной системы: пользователю необходим не только быстрый доступ к файлам, но и гарантия того, что файлы останутся неповрежденными и будут защищены от несанкционированного доступа.
Глава 11
Управление вводом-выводом и дисковое планирование
Эта глава начинается с обзора запоминающих устройств ввода-вывода и организации выполнения операций ввода-вывода в операционной системе. Далее мы рассмотрим различные стратегии буферизации, способные повысить производительность. Остальная часть главы посвящена дисковым операциям ввода-вывода. Мы попытаемся найти способ упорядочения многочисленных запросов к диску, что позволит использовать преимущества физических характеристик доступа к диску, необходимые для уменьшения времени отклика. И, наконец, мы рассмотрим повышение производительности и надежности за счет применения дисковых массивов и использования дискового кэша.
Глава 12. Управление файлами
В этой главе обсуждаются различные методы организации файлов, а также анализируются проблемы, связанные с управлением файлами и доступом к ним в операционной системе. Большое внимание уделяется физической и логической организации данных. Здесь описаны сервисные средства управления файлами, предоставляемые пользователю операционной системой. Кроме того, в главе рассмотрены специфические устройства и структуры данных, входящие в систему управления файлами.
Глава 11 Управление вводом-выводом и дисковое планирование
Устройства ввода-вывода
Организация функций ввода-вывода
Вопросы проектирования операционных систем
Буферизация операций ввода-вывода
Дисковое планирование
RAID
Дисковый кэш
Ввод-вывод в UNIX SVR4
Ввод-вывод в Windows 2000
Резюме, ключевые термины и контрольные вопросы
Рекомендуемая литература
Задачи
Приложение. Дисковые устройства
Ввод-вывод является, пожалуй, самым значимым аспектом при создании операционных систем. Вследствие широкого разнообразия запоминающих устройств и приложений разработать общее согласованное решение, касающееся их организации, очень сложно.
Мы начнем главу с краткого обсуждения устройств и организации функций ввода-вывода. Эти вопросы, обычно относящиеся к области архитектуры компьютера, приводят к необходимости изучения ввода-вывода с точки зрения операционной системы.
В следующем разделе рассматриваются вопросы разработки операционных систем, включающие вопросы организации ввода-вывода. После этого рассматривается буферизация — один из основных предоставляемых операционной системой сервисов ввода-вывода, повышающий общую производительность системы.
Остальные разделы главы посвящены операциям ввода-вывода, связанным с магнитным диском. В современных системах этот вид операций ввода-вывода — самый важный, а с пользовательской точки зрения он является ключом к повышению производительности. Мы начнем с описания разработки модели производительности дисковых операций ввода-вывода, а затем рассмотрим несколько методов повышения этой производительности.
Приложение к данной главе завершает анализ характеристик внешних запоминающих устройств, включая магнитный диск и оптические устройства памяти.
11.1. Устройства ввода-вывода
Как было сказано в главе 1, "Обзор компьютерных систем", внешние устройства, сопровождающие операции ввода-вывода, могут быть объединены в три группы.
Работающие с пользователем. Используются для связи с пользователем компьютера. В качестве примера можно привести принтеры и видеотерминалы, состоящие из дисплея, клавиатуры, а также другие устройства — на пример, манипулятор "мышь".
Работающие с компьютером. Используются для связи с электронным оборудованием. К ним можно отнести дисковые устройства и устройства с магнитной лентой, датчики, контроллеры и преобразователи.
Коммуникации. Используются для связи с удаленными устройствами. К ним относятся модемы и драйверы цифровых линий.
Имеются существенные различия как между устройствами ввода-вывода, принадлежащими к разным классам, так и в рамках каждого класса. Отметим следующие из этих различий.
Скорость передачи данных. Скорость передачи данных может отличаться на несколько порядков (рис. 11.1).
Применение. Каждое действие, поддерживаемое устройством, оказывает влияние на программное обеспечение и стратегии операционной системы. Так, на пример, использующийся для хранения файлов диск требует наличия программного обеспечения для управления файлами. Диск, используемый в качестве внешнего запоминающего устройства для страниц виртуальной памяти, зависит от программных и аппаратных средств виртуальной памяти. Кроме того , данные приложения оказывают воздействия и на алгоритмы дискового планирования (этот вопрос рассматривается в настоящей главе позже). В качестве еще одного примера можно привести терминал, который может использоваться как обычным пользователем, так и системным администратором — при этом требуются не только различные уровни привилегий, но и, вероятно, различные уровни приоритетов операционной системы.
Сложность управления. Для принтера требуется относительно простой интерфейс управления, диску же необходим намного более сложный интерфейс. Влияние этих отличий на операционную систему сглаживается усложнением контроллеров ввода-вывода.
Единицы передачи данных. Данные могут передаваться как поток байтов или символов (например, при терминальном вводе-выводе), и блоками (например, при выполнении дисковых операций ввода-вывода).
Представление данных. Различные устройства используют разные схемы кодирования данных, включая разную кодировку символов и контроль четности.
Условия ошибок. Природа ошибок, способ сообщения о них, их последствия и возможные ответы резко отличаются при переходе от одного устройства к другому.
Рис. 11.1. Скорость передачи данных типичных устройств ввода-вывода
Такое разнообразие приводит тому, что, по сути, невозможна разработка единого и согласованного подхода к проблеме ввода-вывода как с точки зрения операционной системы, так и с точки зрения пользовательских процессов.