Главная » Информационные системы » Операционные системы » Ввод-вывод на прикладном уровне

Ввод-вывод на прикладном уровне

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

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

{Буферы данных необходимы для пользовательских терминалов, дисков, сетевого взаимодействия и т.п.}

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

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


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины