Главная
»
Информационные системы
»
Операционные системы
»
Ввод-вывод на прикладном уровне
Ввод-вывод на прикладном уровне
Команды ввода-вывода должны быть предельно универсальными. В идеале программа должна содержать такие команды ввода-вывода, которые могут работать с любым устройством соответствующего типа. Это означает, что на уровне языка программирования для ввода-вывода используются логические устройства, которые могут принимать и доставлять произвольное количество данных.
Однако устройства, с которыми они работают, способны передавать данные фиксированными порциями. Поэтому между модулями ввода-вывода и модулями, вызываемыми в ответ на запросы устройств, необходимы буферы данных.
{Буферы данных необходимы для пользовательских терминалов, дисков, сетевого взаимодействия и т.п.}
Прежде всего, обработчик устройства должен иметь возможность начать ввод-вывод, как только в буфер поступят первые данные, не дожидаясь, пока верхний уровень поместит в него все данные.
В случае символьного ввода с терминалов обработчик устройства должен еще «взглянуть» на каждый символ, прежде чем решить, помещать ли его в буфер. Символ может указывать, что выполнение программы должно быть завершено или что вывод на экран необходимо прекратить.
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.