![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Главным является принцип: любые операции по управлению вводом/выводом объявляются привилегированными и могут выполняться только кодом самой ОС.
Как правило, в режиме супервизора выполнение команд ввода/вывода разрешено, а в пользовательском режиме – запрещено.
Помимо разделяемых устройств ввода/вывода существуют неразделяемые устройства. Примеры разделяемого устройства накопитель на магнитных дисках, устройство для чтения компакт-дисков. Примеры неразделяемых устройств – принтер, накопитель на магнитных лентах.
Можно назвать три основные причины, по которым нельзя разрешать каждой отдельной пользовательской программе обращаться к внешним устройствам непосредственно:
Необходимость разрешать возможные конфликты доступа к устройствам ввода/вывода.
Желание увеличить эффективность использования этих ресурсов.
Ошибки в программах ввода/вывода могут привести к краху всех вычислительных процессов, ибо часть операций ввода/вывода осуществляется для самой операционной системы.
Управление вводом/выводом осуществляется операционной системой, компонентом, который чаще всего называют супервизором ввода/вывода, В перечень основных задач, возлагаемых на супервизор, входят следующие:
получает запросы на ввод/вывод от прикладных задач и от программных модулей самой операционной системы.
вызывает соответствующие распределители каналов и контроллеров, планирует ввод/вывод.
инициирует операции ввода/вывода и в случае управления вводом/выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение;
при получении сигналов прерываний от устройств ввода/вывода супервизор идентифицирует их и передаёт управление соответствующей программе обработки прерывания.
осуществляет передачу сообщений об ошибках, если таковые происходят в процессе управления операциями ввода/вывода;
посылает сообщения о завершении операции ввода/вывода запросившему эту операцию процессу и снимает его с состояния ожидания ввода/вывода, если процесс ожидал завершения операции.
Прикладные программы не могут непосредственно связываться с устройствами ввода/вывода независимо от использования устройств.
Установив соответствующие значения параметров в запросе на ввод/вывод, определяющих требуемую операцию и количество потребляемых ресурсов, они могут передать управление супервизору ввода/вывода, который и запускает необходимые логические и физические операции.
Дата публикования: 2015-10-09; Прочитано: 1317 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!