Основные функции ОС при управлении вводом-выводом.
1)Передача устройствам ввода-вывода команд.
2)Обработка прерываний и ошибок.
3)Обеспечение интерфейса между непосредственно устройствами ввода-вывода и верхним слоем ОС.
Физическая организация устройств ввода-вывода.
Устройства ввода-вывода делятся на два типа:
1)блок-ориентированные устройства - хранят и обрабатывают информацию блоками определенного размера, каждый из которых имеет свой адрес.;
2)байт-ориентированные устройства - принимают и обрабатывают информацию в виде потока байтов. Эти устройства являются не адресными и не позволяют осуществлять произвольный доступ к информации..
Устройства ввода-вывода в общем виде состоят из двух компонент – электронного и механического. Электронная компонента называется контроллером или адаптером.
Основные функции контроллера.
1.Преобразование команд ОС непосредственно в управляющие сигналы для механической части устройства ввода-вывода.
2.Обработка ошибок.
3.Преобразование информации из формата устройств ввода-вывода в формат, используемый ОС и наоборот.
|
|
Основные принципы управления вводом-выводом.
1.Независимость от устройств.
2.Разделение управлением вводом-выводом на несколько уровней.
3.Обработка ошибок ввода-вывода максимально близко к аппаратной или механической части устройств ввода-вывода.
4.Использование блокирующих и не блокирующих передач информации.
Блокирующая передача информации заключается в следующем – если некоторый процесс начинает обмен информацией с устройством ввода-вывода, то этот процесс блокируется до завершения этого обмена. Даже в том случае, если устройство ввода-вывода позволяет обрабатывать информацию без непосредственного участия процесса.
Не блокирующая передача заключается в следующем – после того, как какой-либо процесс начал обмен информацией с устройством ввода-вывода, этот процесс может в любой момент выполнять другие задачи, если обмен информацией не требует дальнейшего участия процесса.
Система управления вводом-выводом делится на три уровня.
1.Аппаратно зависимый уровень системы ввода-вывода. Этот уровень содержит два основных блока – драйвера устройств и обработка прерываний. Драйвера устройств – это блок ОС специфичный для каждого устройства ввода-вывода и обеспечивает непосредственное управление данным устройством. Кроме того, драйвера устройств обеспечивают интерфейс между устройством и вышележащими уровнями ОС.
2.Независимый от устройств слой системы ввода-вывода. Содержит так же два блока – систему буферизации данных и блок системных вызовов. Система буферизации данных обеспечивает обработку системных вызовов, первичное накопление информации (буферизацию), а средства взаимодействия с драйверами устройств. Системные вызовы – данный блок содержит в себе набор некоторых стандартных функций по работе с определенным классом устройств ввода-вывода или с определенными классами устройств ввода-вывода и обеспечивает преобразование пользовательских команд, набор необходимых действий для работы с устройствами ввода-вывода.
|
|
3.Пользовательский уровень систем ввода-вывода также состоит из двух блоков – библиотечных функций и приложений. Библиотечные функции содержат в себе набор стандартных процедур для работы с устройствами ввода-вывода и обеспечивают при обращении к каким-либо библиотечным функциям необходимые системные вызовы.