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

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

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

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

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

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: