Концепции выполнения операций ввода/вывода в ОС.
44. Концепции выполнения операций ввода/вывода в ОС.
Программа методов доступа (ПМД) осуществляет непосредственно ввод/вывод.
Задачи ПМД:
- сформировать блок данных для вывода
- поместить блок данных в буфер вывода
- запросить доступ к устройству
- получить физический адрес вывода
- запустить операцию ввода-вывода (запустить драйвер)
- получить информацию об успехе выполнения операции
- известить приложение о завершении операции
Задачи драйвера:
- опросить устройство на предмет готовности
- выполнить передачу порции информации из буфера
- получить информацию об успехе выполнения операции
- повторять все сначала до освобождения буфера
Характеристика ПМД:
1 Операции файла (последовательный/индексно-последовательный/библиотечный)
2 Методы блокирования/деблокирования и буферизации - как из блоков формировать буфер и как этот буфер используется
3 Способ функционирования
· Полностью средствами ОС
· Часть функций выполняет приложение, обычно это:
- методы блокирования/деблокирования и буферизации
- заполнение части управляющей информации по организации файлов
- весь ввод-вывод выполняется средствами приложения
Буферизация

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