Cтраница 1
Формат ССК. [1] |
Окончание ввода-вывода в других случаях вызывает прерывание по вводу-выводу. Окончание ОВВ обычно идентифицируется двумя указателями: КК и УК. Первый указывает на то, что закончена передача данных и для завершения ОВВ канальные средства больше не нужны; второй - на завершение ОВВ в ВУ. Вообще, окончание ОВВ опознается по одному из двух признаков ( при отсутствии ЦД или ЦК), когда счетчик байт в КСК исчерпан или когда ВУ опознает конец физического блока раньше, чем канал исчерпает счетчик байт. Указатель УВУ КОНЧИЛО ( УВУК) выдается в том случае, если УВУ может быть использовано для выполнения другйх операций ввода-вывода, а ВУ еще заканчивает предыдущую операцию ввода-вывода. [2]
Программа Окончание ввода-вывода является продолжением программы Определение очереди. [3]
Эти программы объединены под общим названием Окончание ввода-вывода. [4]
Если флаги ошибок в БУФ не установлены, то управление возвращается программе Окончание ввода-вывода. [5]
Действия, выполняемые при запуске устройства ввода-вывода и получении. [6] |
При втором способе драйвер запускает устройство и просит его выдать прерывание по окончании ввода-вывода. После этого драйвер возвращает данные, операционная система блокирует программу вызова, если это нужно, и начинает выполнять другие задания. Когда контроллер обнаруживает окончание передачи данных, он генерирует прерывание, чтобы сигнализировать о завершении операции. [7]
Для операторов ВЖ, ЫЖ, ВИУ, ЫИУ после обращения к устройству диспетчер блокирует выполнение программы до окончания ввода-вывода. Если ввод-вывод был закончен без сбоя, то в случае операторов ВЖ и ЫЖ управление передается к следующему оператору. Если ввод-вывод был прекращен из-за сбоя ВнУ или УО, то диспетчер предпринимает стандартные действия. В случае же операторов ВИУ и ЫИУ состояние указателей устройства после окончания ввода-вывода диспетчер сравнивает с заданным в операторе. При совпадении состояний хотя бы для одного из заданных указателей управление передается по адресу, заданному в операторе. При несовпадении состояний всех перечисленных в операторе указателей, выполнение программы продолжается со следующего оператора. [8]
Диспетчер ввода-вывода получает управление в следующих случаях: от Планировщика каналов при размещении запроса в Очереди канала; от Окончания ввода-вывода после вычеркивания входа из Очереди канала; по запросам Супервизора, предназначенным в основном для распознавания ошибок и обработки прерываний по таймеру; по команде оператора с пульта управления, которая также содержит команду обращения к Супервизору. [9]
Завершение операций ввода-вывода может быть - обнаружено ЦП либо с помощью прерывания от ввода-вывода, либо, если канал замаскирован, с помощью программного опроса данного ПУ командой ПВВ. По окончании ввода-вывода происходит запоминание ССК1 содержащего информацию, относящуюся к выполненной операции. По сигналу КРК канал помещает в ССК адрес УСК и содержимое счетчика данных, которые показывают, какая область ОП использована. [10]
Поиск ведется следующим образом. Если номера совпали, очередь найдена, управление передается программе Окончание ввода-вывода. Таблицы очередей канала, прерывание считается фальшивым, игнорируется, и управление передается Диспетчеру задач. [11]
Эта процедура повторяется до достижения адреса конца буфера. Далее обращение производится опять к началу буфера. Признаком окончания ввода-вывода служат специальные знаки. [12]
По таблице определяется, произошло прерывание от селекторного или мультиплексного канала. Если в найденном входе таблицы указан один адрес, то селекторный канал и очередь уже определены, так как к селекторному каналу может быть только одна очередь. Управление передается программе Окончание ввода-вывода. [13]
Когда операция ввода-вывода закончена, канал пересылает в постоянно фиксированную область памяти в байты 64 - 71 слово состояния канала, которое содержит номер устройства, закончившего перемещение данных, флаги устройства, флаги канала, число перемещенных байт и адрес слова команды канала. Возникает прерывание от ввода-вывода. Обработчик прерываний ввода-вывода передает управление программе РЗ окончания ввода-вывода. [14]
Для операторов ВЖ, ЫЖ, ВИУ, ЫИУ после обращения к устройству диспетчер блокирует выполнение программы до окончания ввода-вывода. Если ввод-вывод был закончен без сбоя, то в случае операторов ВЖ и ЫЖ управление передается к следующему оператору. Если ввод-вывод был прекращен из-за сбоя ВнУ или УО, то диспетчер предпринимает стандартные действия. В случае же операторов ВИУ и ЫИУ состояние указателей устройства после окончания ввода-вывода диспетчер сравнивает с заданным в операторе. При совпадении состояний хотя бы для одного из заданных указателей управление передается по адресу, заданному в операторе. При несовпадении состояний всех перечисленных в операторе указателей, выполнение программы продолжается со следующего оператора. [15]