Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы в виде шпор.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
615.42 Кб
Скачать

6. Управление вводом-выводом

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

Устройства ввода-вывода делятся на два типа: блок-ориентированные устройства (хранят ин-формацию в блоках фиксированного размера, каждый из которых имеет свой собственный адрес) и байт-ориентированные устройства (не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов).

Внешнее устройство обычно состоит из механического (само устройство) и электронного компонента (контроллером устройства).

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

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

Большинство операций физического ввода-вывода выполняется асинхронно – процессор начинает передачу и переходит на другую работу, пока не наступает прерывание.

ПО ввода-вывода можно разделить на четы-ре слоя:

1. Обработка прерываний.

2. Драйверы устройств.

3. Независимый от устройств слой операционной системы.

4. Пользовательский слой программного обеспечения.

7. Драйверы устройств

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

О С управляет некоторым «виртуальным устройством», которое понимает стандартный набор команд. Драйвер переводит эти команды в команды, которые понимает непосредственно устройство. Эта идеология называется «абстрагирование от аппаратного обеспечения».

Драйвер состоит из нескольких функций, которые обрабатывают определенные события ОС. Обычно это 7 основных событий: загрузка драйвера; выгрузка; открытие драйвера; чтение; запись; закрытие; управление вводом-выводом.

По мере развития систем, сочетающих в себе на одной плате не только центральные элементы компьютера, но и большинство устройств компьютера в целом, возник вопрос удобства поддержки таких систем, получивших название «аппаратная платформа», или просто «платформа». Сначала производители платформ поставляли набор отдельных драйверов для ОС, собранный на один носитель. Затем появились установочные пакеты, называвшиеся 4-in-1 и One touch, и позволявшие упростить установку драйверов в систему. При этом можно выбрать либо полностью автоматическую установку всех драйверов, либо выбрать вручную нужные. Однако единого, устоявшегося термина долго не было. Современный термин, описывающий такие наборы драйверов устройств − Board Support Package, или «пакет поддержки платформы». Помимо собственно драйверов, он может, как и прочие установочные пакеты, содержать модули ОС и программы.