Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Столлингс ГЛАВА 11 Операции в-в и файлы.doc
Скачиваний:
50
Добавлен:
11.05.2015
Размер:
549.89 Кб
Скачать

Операции ввода-вывода и файлы

При создании операционной системы важное ме­сто занимают средства ввода-вывода и система управ­ления файлами. При рассмотрении ввода-вывода клю­чевым вопросом является производительность. От удачного проектирования средств ввода-вывода во многом зависит производительность всей вычисли­тельной системы. Если обратить внимание на функ­ционирование компьютерных систем, то можно уви­деть, что скорость работы процессора непрерывно воз­растает, а если один процессор работает недостаточно быстро, то повысить производительность можно путем использования SMP-конфигурации. Скорость доступа к основной памяти также возрастает, хотя и медлен­нее, чем скорость работы процессора. При разумном использовании одного, двух или более уровней внут­ренней кэш-памяти возможно ускорить доступ к ос­новной памяти, компенсируя этим отставание скоро­сти работы основной памяти от скорости работы про­цессора. Заметим, однако, что производительность при операциях ввода-вывода остается существенной проблемой, особенно при работе с дисковой памятью.

Производительность важна и при рассмотрении файловых систем. Здесь на первый план выступают также такие требования, как надежность и безопас­ность. С точки зрения пользователя, файловая систе­ма является, возможно, самым важным аспектом опе­рационной системы: пользователю необходим не толь­ко быстрый доступ к файлам, но и гарантия того, что файлы останутся неповрежденными и будут защище­ны от несанкционированного доступа.

Глава 11

Управление вводом-выводом и дисковое планирование

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

Глава 12. Управление файлами

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

Глава 11 Управление вводом-выводом и дисковое планирование

  1. Устройства ввода-вывода

  2. Организация функций ввода-вывода

  3. Вопросы проектирования операционных систем

  4. Буферизация операций ввода-вывода

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

  6. RAID

  7. Дисковый кэш

  8. Ввод-вывод в UNIX SVR4

  9. Ввод-вывод в Windows 2000

  1. Резюме, ключевые термины и контрольные вопросы

  1. Рекомендуемая литература

  1. Задачи

Приложение. Дисковые устройства

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

Мы начнем главу с краткого обсуждения устройств и организации функций ввода-вывода. Эти вопросы, обычно относящиеся к области архитектуры компь­ютера, приводят к необходимости изучения ввода-вывода с точки зрения опера­ционной системы.

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

Остальные разделы главы посвящены операциям ввода-вывода, связанным с магнитным диском. В современных системах этот вид операций ввода-вывода — самый важный, а с пользовательской точки зрения он является ключом к по­вышению производительности. Мы начнем с описания разработки модели произ­водительности дисковых операций ввода-вывода, а затем рассмотрим несколько методов повышения этой производительности.

Приложение к данной главе завершает анализ характеристик внешних запоми­нающих устройств, включая магнитный диск и оптические устройства памяти.

11.1. Устройства ввода-вывода

Как было сказано в главе 1, "Обзор компьютерных систем", внешние устройст­ва, сопровождающие операции ввода-вывода, могут быть объединены в три группы.

  • Работающие с пользователем. Используются для связи с пользователем компьютера. В качестве примера можно привести принтеры и видеотерминалы, состоящие из дисплея, клавиатуры, а также другие устройства — на­ пример, манипулятор "мышь".

  • Работающие с компьютером. Используются для связи с электронным оборудованием. К ним можно отнести дисковые устройства и устройства с маг­нитной лентой, датчики, контроллеры и преобразователи.

  • Коммуникации. Используются для связи с удаленными устройствами. К ним относятся модемы и драйверы цифровых линий.

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

  • Скорость передачи данных. Скорость передачи данных может отличаться на несколько порядков (рис. 11.1).

  • Применение. Каждое действие, поддерживаемое устройством, оказывает влия­ние на программное обеспечение и стратегии операционной системы. Так, на­ пример, использующийся для хранения файлов диск требует наличия программного обеспечения для управления файлами. Диск, используемый в качестве внешнего запоминающего устройства для страниц виртуальной памяти, зависит от программных и аппаратных средств виртуальной памяти. Кроме того , данные приложения оказывают воздействия и на алгоритмы дискового планирования (этот вопрос рассматривается в настоящей главе позже). В качестве еще одного примера можно привести терминал, который может использоваться как обычным пользователем, так и системным администратором — при этом требуются не только различные уровни привилегий, но и, вероятно, различные уровни приоритетов операционной системы.

  • Сложность управления. Для принтера требуется относительно простой интерфейс управления, диску же необходим намного более сложный интер­фейс. Влияние этих отличий на операционную систему сглаживается усложнением контроллеров ввода-вывода.

  • Единицы передачи данных. Данные могут передаваться как поток байтов или символов (например, при терминальном вводе-выводе), и блоками (например, при выполнении дисковых операций ввода-вывода).

  • Представление данных. Различные устройства используют разные схемы кодирования данных, включая разную кодировку символов и кон­троль четности.

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

Рис. 11.1. Скорость передачи данных типичных устройств ввода-вывода

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