Основные понятия и концепции организации ввода-вывода в операционной системе, задачи супервизора. Характеристика драйверов, работающих в режиме прерываний. Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами.
Аннотация к работе
При этом перед создателями ОС встает очень непростая задача - не только обеспечить эффективное управление устройствами ввода / вывода, но и создать удобный и эффективный виртуальный интерфейс устройств ввода / вывода, позволяющий прикладным программистам просто считывать или сохранять данные, не обращая внимание на специфику устройств и проблемы распределения устройств между выполняющимися задачами. супервизор ввода / вывода вызывает соответствующие распределители каналов и контроллеров, планирует ввод/вывод (определяет очередность предоставления устройств ввода / вывода задачам, затребовавшим их). супервизор ввода / вывода инициирует операции ввода / вывода (передает управление соответствующим драйверам) и в случае управления вводом/выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение; супервизор ввода / вывода посылает сообщения о завершении операции ввода / вывода запросившему эту операцию процессу и снимает его с состояния ожидания ввода / вывода, если процесс ожидал завершения операции. Исходя из принципа управления вводом/выводом через супервизор ОС и учитывая, что драйверы устройств ввода / вывода используют механизм прерываний для установления обратной связи центральной части с внешними устройствами, можно сделать вывод о необходимости создания, по крайней мере, трех системных таблиц.Функционирование любой вычислительной системы обычно сводится к выполнению двух видов работы: обработка информации и операции по осуществлению ее ввода-вывода. С точки зрения операционной системы «обработкой информации» являются только операции, совершаемые процессором над данными, находящимися в памяти на уровне иерархии не ниже чем оперативная память. Основными физическими принципами построения системы ввода-вывода являются следующие: возможность использования различных адресных пространств для памяти и устройств ввода-вывода; подключение устройств к системе через порты ввода-вывода, отображаемые в одно из адресных пространств; существование механизма прерывания для извещения процессора о завершении операций ввода-вывода; наличие механизма прямого доступа устройств к памяти, минуя процессор.
План
Содержание
Введение
Основные понятия и концепции организации ввода / вывода в ОС
Режимы управления вводом / выводом
Закрепление устройств, общие устройства ввода / вывода
Синхронный и асинхронный ввод / вывод
Структура контроллера устройства
Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
Структура системы ввода / вывода
Функции базовой подсистемы ввода-вывода
Заключение
Введение
Вывод
Функционирование любой вычислительной системы обычно сводится к выполнению двух видов работы: обработка информации и операции по осуществлению ее ввода-вывода. С точки зрения операционной системы «обработкой информации» являются только операции, совершаемые процессором над данными, находящимися в памяти на уровне иерархии не ниже чем оперативная память. Все остальное относится к «операциям ввода-вывода», т. е. к обмену информацией с внешними устройствами.
Несмотря на все многообразие устройств ввода-вывода, управление их работой и обмен информацией с ними строятся на относительно небольшом количестве принципов. Основными физическими принципами построения системы ввода-вывода являются следующие: возможность использования различных адресных пространств для памяти и устройств ввода-вывода; подключение устройств к системе через порты ввода-вывода, отображаемые в одно из адресных пространств; существование механизма прерывания для извещения процессора о завершении операций ввода-вывода; наличие механизма прямого доступа устройств к памяти, минуя процессор.
Механизм, подобный механизму прерываний, может использоваться также и для обработки исключений и программных прерываний, однако это целиком лежит на совести разработчиков вычислительных систем.
Для построения программной части системы ввода-вывода характерен «слоеный» подход. Для непосредственного взаимодействия chardware используются драйверы устройств, скрывающие от остальной части операционной системы все особенности их функционирования. Драйверы устройств через жестко определенный интерфейс связаны с базовой подсистемой ввода-вывода, в обязанности которой входят: организация работы блокирующихся, не блокирующихся и асинхронных системных вызовов буферизация и кэширование входных и выходных данных, осуществление spooling и монопольного захвата внешних устройств, обработка ошибок и прерываний, возникающих при операциях ввода-вывода, планирование последовательности запросов на выполнение этих операций. Доступ к базовой подсистеме ввода-вывода осуществляется посредством системных вызовов.
Часть функций базовой подсистемы может быть делегирована драйверам устройств и самим устройствам ввода-вывода.