Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
56.42 Кб
Скачать

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

Главным является принцип: любые операции по управлению вводом/выводом объявляются привилегированными и могут выполняться только кодом самой ОС.

Как правило, в режиме супервизора выполнение команд ввода/вывода разрешено, а в пользовательском режиме – запрещено.

Помимо разделяемых устройств ввода/вывода существуют неразделяемые устройства. Примеры разделяемого устройства накопитель на магнитных дисках, устройство для чтения компакт-дисков. Примеры неразделяемых устройств – принтер, накопитель на магнитных лентах.

Можно назвать три основные причины, по которым нельзя разрешать каждой отдельной пользовательской программе обращаться к внешним устройствам непосредственно:

Необходимость разрешать возможные конфликты доступа к устройствам ввода/вывода.

Желание увеличить эффективность использования этих ресурсов.

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

Управление вводом/выводом осуществляется операционной системой, компонентом, который чаще всего называют супервизором ввода/вывода, В перечень основных задач, возлагаемых на супервизор, входят следующие:

получает запросы на ввод/вывод от прикладных задач и от программных модулей самой операционной системы.

вызывает соответствующие распределители каналов и контроллеров, планирует ввод/вывод.

инициирует операции ввода/вывода и в случае управления вводом/выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение;

при получении сигналов прерываний от устройств ввода/вывода супервизор идентифицирует их и передаёт управление соответствующей программе обработки прерывания.

осуществляет передачу сообщений об ошибках, если таковые происходят в процессе управления операциями ввода/вывода;

посылает сообщения о завершении операции ввода/вывода запросившему эту операцию процессу и снимает его с состояния ожидания ввода/вывода, если процесс ожидал завершения операции.

Прикладные программы не могут непосредственно связываться с устройствами ввода/вывода независимо от использования устройств.

Установив соответствующие значения параметров в запросе на ввод/вывод, определяющих требуемую операцию и количество потребляемых ресурсов, они могут передать управление супервизору ввода/вывода, который и запускает необходимые логические и физические операции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]