- •Курс лекций по дисциплине "операционные системы"
- •Учебные вопросы лекции
- •Содержание лекции
- •1. Компоненты системы ввода-вывода
- •1.1. Задачи ос по управлению файлами и устройствами
- •Динамическая загрузка и выгрузка драйверов
- •Поддержка нескольких файловых систем
- •1.2. Многослойная модель подсистемы ввода-вывода
- •2. Обработка ввода-вывода
СЕВЕРО-КАВКАЗСКИЙ ГУМАНИТАРНО-ТЕХНИЧЕСКИЙ ИНСТИТУТ
Кафедра АСОИУ
Курс лекций по дисциплине "операционные системы"
Лекция №11 «Система ввода-вывода»
Ставpополь 2007 год.
Учебные вопросы лекции
1. Компоненты системы ввода-вывода
2. Обработка ввода-вывода
Содержание лекции
Как отметил в книге "Fundamentals of Operating Systems" Листер: "По традиции, ввод—вывод считается одной из самых сложных областей проектирования ОС, в которой сложно применить общий подход и где изобилуют частные методы."' В действительности источником сложности является огромное число устройств ввода-вывода невероятно разнообразной природы, которые должна поддерживать ОС. Перед проектировщиком системы ввода-вывода встает непростая задача — создать виртуальный интерфейс устройств ввода-вывода, позволяющий программистам просто считывать или сохранять данные, не обращая внимание на специфику устройства.
Система ввода-вывода, способная объединить в одной модели широкий набор устройств, должна быть универсальной. Она должна учитывать потребности существующих устройств, от простой мыши до клавиатур, принтеров, графических дисплеев, дисковых накопителей, компакт-дисков и даже сетей. Она должна также поддерживать будущие технологии хранения и ввода данных. Система ввода-вывода NT предоставляет унифицированный интерфейс высокого уровня для операций ввода-вывода на уровне исполнительной системы и изолирует прикладные программы от специфики физических устройств. Она также избавляет остальную часть ОС от деталей работы с устройствами и таким образом изолирует машинно-зависимый код и сокращает его объем.
Цели проекта системы ввода-вывода состояли в следующем:
• Предоставить поддержку нескольких устанавливаемых файловых систем (installable file systems), включая FAT, высокопроизводительную файловую систему (HPFS), файловую систему компакт-дисков (CDFS) и файловую систему NT (NTFS) — новую, полностью восстанавливаемую файловую систему.
• Предоставить сервисные возможности, упрощающие разработку драйверов устройств и в то же время пригодные для многопроцессорной системы.
• Позволить администратору динамически добавлять к системе и удалять из нее драйверы устройств.
• Сделать обработку запросов на ввод-вывод быстрой и в то же время обеспечить возможность написания драйверов на языке высокого уровня.
• Предоставить средства проекционного файлового ввода-вывода для загрузки исполняемых программ, кэширования файлов и использования в приложениях.
Кроме этих специальных целей, подсистема ввода-вывода должна соответствовать и требованиям к ОС в целом. Например, она должна быть переносимой; должна защищать свои совместно используемые ресурсы с помощью объектов; предоставлять средства поддержки интерфейсов ввода-вывода Win32, OS/2 и POSIX, а также корректно работать в многопроцессорной среде.
В начале этой лекции мы рассмотрим структуру и особенности построения системы ввода-вывода, после чего опишем обработку запросов ввода-вывода по мере их прохождения в системе. В заключение рассматривается послойная модель, используемая при создании драйверов.