Cтраница 4
Совмещение операций ввода-вывода с вычислениями осуществляется супервизором ввода-вывода следующим образом: выполнение задачи приостанавливается до окончания заказанной операции ввода-вывода, а реализуются другие программы под управлением супервизора задач; выполнение задачи может быть продолжено сразу же после запуска операции ввода-вывода без завершения операции. [46]
Выполнение операции ввода-вывода в МК начинается с команды процессора SIO. Далее проверяется, свободен ли подканал. Адрес подканала находится по адресу ВУ, указанному в SIO. [47]
Выполнение операций ввода-вывода с внешними устройствами в системе ТЕДОС реализуется с помощью загружаемых ( по мере необходимости) программ управления вводом-выводом, называемых драйверами. Система ТЕДОС включает драйверы для большинства внешних устройств из номенклатуры СМ ЭВМ. При обнаружении ошибки на устройстве драйвер возвращает управление программе с выдачей сообщения об ошибке. [48]
Большинство операций ввода-вывода на физическом уровне являются асинхронными - центральный процессор запускает перенос данных и отправляется заниматься чем-либо другим, пока не придет прерывание. Программы пользователя значительно легче написать, используя блокирующие операции ввода-вывода - после обращения к системному вызову read программа автоматически приостанавливается до тех пор, пока данные не появятся в буфере. Тем, чтобы операции ввода-вывода, в действительности являющиеся асинхронными, выглядели как блокирующие в программах пользователя, занимается операционная система. [49]
Выполнение операций ввода-вывода может быть рассмотрено с двух точек зрения. С одной стороны, любая конкретная вычислительная система выполняет определенный набор операций ввода-вывода ( например, команд ввода-вывода, программ канала), реализуемых комплексом средств ( например, каналы, устройства управления, внешние устройства для ЕС ЭВМ), который называется системой ввода-вывода и не включается в оборудование центрального процессора. [50]
Эффективность операций ввода-вывода является важнейшим фактором, определяющим производительность всей вычислительной системы, и оказывает существенное влияние на структуру ЭВМ. В настоящее время ЭВМ оснащаются сложной и разветвленной сетью внешних устройств ( ВУ), а системы ввода-вывода достигли высокой степени развития. [51]
Выполнение операции ввода-вывода в каналах также рассматривается как совокупность процедур: начальной выборки, выборки занятого УВУ, выборки, вводимой УВУ, передачи данных. В интерфейсе ввода-вывода эти процедуры обеспечиваются соответствующими последовательностями сигналов. Процессор осуществляет управление выполнением операций ввода-вывода с помощью инструкций: начать ввод-вывод, проверить ввод-вывод, проверить канал, остановить ввод-вывод. Инструкции задают номер канала и адрес устройства, к которому они адресуются. [52]
Выполнение операции ввода-вывода в канале можно рассматривать как совокупность нескольких видов процедур, из которых наиболее важными являются две: начальная выборка и обслуживание ПУ. Начальная выборка производится по инициативе процессора при пуске новой операции ввода-вывода. Процессор передает в канал код операции команды ввода-вывода, номер ПУ и адрес первого УСК. К содержимому РгАУСК прибавляется число, равное длине управляющего слова, после чего РгАУСК указывает адрес следующего УСК в цепочке. Канал, устанавливая признак результата ПР00, запускает в работу требуемое ПУ. Если устройство свободно и во время начальной выборки не обнаружены программные или аппаратурные ошибки, считается, что пуск произошел нормально. Канал, устанавливая признак результата ПР00, сообщает об этом процессору, который переходит к выполнению следующей команды своей программы. На этом начальная выборка заканчивается, канал освобождается и готов к обслуживанию ранее пушенных ПУ или приему новых команд из процессора. [53]