logo search
Kniga_Osnovy_informatiki_i_informatsionnyh_tehn

Управление внешними устройствами и организация ввода/вывода

Еще одна функция ОС – управление вводом/выводом и внешними устройствами (накопителями на магнитных дисках, принтерами, манипуляторами типа «мышь» и клавиатурой и т.п.). Данные, которые обрабатываются программой, должны быть помещены в оперативную память, только тогда над ними можно выполнять операции в программе. ОС организует по запросам программ обмен информацией между ОЗУ и внешними (периферийными) устройствами (т.е. обеспечивает ввод/вывод), следит за состоянием устройств, организует бесконфликтную работу с ВУ всех выполняющихся программ, устанавливая порядок доступа к ним.

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

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

Управление вводом/выводом в различных ОС может быть организовано по-разному. В Windows 9x, например, реализованы универсальные драйверы, включающие основную часть кода, необходимого для управления определенным классом (категорией) устройств в рамках общего стандарта для них; а дополнительные инструкции, необходимые для управления конкретным устройством, содержат сравнительно небольшие и простые минидрайверы. Архитектура «универ­саль­ный драйвер / минидрайвер» упрощает изготовителям аппаратуры написание специфического кода для конкретных устройств.

В системах с большим количеством устройств организация их бесконфликтной работы является сложной задачей. Возникающие проблемы по-разному решаются в различных ОС. В Windows 9x используется понятие виртуального устройства. Каждое приложение работает не с реальным устройством, а с виртуальным. Запрет прямого обращения к аппаратным ресурсам предотвращает конфликты при одновременной работе с устройствами нескольких программ (только представьте, что сразу несколько приложений выводят информацию на печать – каждому удается напечатать несколько символов, а что же получится в результате?!). Драйверы виртуальных устройств позволяют осуществлять управление системными ресурсами, которые одновременно используются более чем одним приложением (например, виртуальные драйверы дисплея, принтера и т.п.).

Файловые системы Windows 9x также реализованы как драйверы.

Часть программ, реализующих базовые функции по управлению устройствами ПК, обычно реализована аппаратно, «зашита» в устройства компьютера.

Базовая система ввода/вывода (BIOS – Basic Input/Output System) находится в ПЗУ (постоянном запоминающем устройстве) каждого IBM-совместимого ПК. Модуль BIOS реализует наиболее простые и универсальные функции по управлению стандартными периферийными устройствами. В нем содержатся аппаратно-зависимые драйверы стандартных устройств (консольного дисплея и клавиатуры и т.п.); тестовые программы для контроля работоспособности оборудования; программа начальной загрузки.

Любая ОС опирается на функции BIOS, поэтому BIOS можно считать как частью аппаратуры, так и «железным» компонентом ОС, установленной на ПК.

Модуль BIOS индивидуален для каждого ПК и поставляется ее изготовителями. Выделение этих функций в отдельный компонент позволяет скрыть от других программ архитектурные особенности каждой модели ПК.

Устанавливаемые драйверы устройств могут замещать стандартные драйверы, расширять их возможности.

В MS‑DOS новые драйверы можно подключить через файл CONFIG.SYS (команда DEVICE). В современных ОС реализована поддержка новых аппаратных средств и технологий (технологии Plug-and-Play, USB (Universal Serial Bus) и т.п.), что существенно облегчает конфигурирование системы, настройку устройств.