ГОСТ Р ИСО 20242-2—2012
Расширенные сервисы вводаУвывода и их сопряжение приводят к появлению особых состояний
соответствующих процедур RMS. Эти сервисы непосредственно связаны с расширенными сервисами.
Процесс изменения состояния может быть описан только вместе с сервисом ввода/вывода.
6.7.4 Состояние интерфейса RMSI
6.7.4.1 Состояние выбора необходимого ресурса
Интерфейс RMSI находится в исходном состоянии, доступен только сервис получения функциональ
ного адреса, который выбираетдругие необходимые сервисы по названию и номеру версии. Поокончании
выбора такой сервисдоступен RMS-пользователю.
6.7.4.2 Состояние RMS_accessible
Данное состояние вводится пользователем интерфейса RMSI. если выбраны все необходимые
ресурсы. Изменение состояния происходит при первом доступе к сервису, отличному от сервиса получе
ния функциональногоадреса.
6.7.4.3 Состояние выбора типа интерфейса
Данное состояние вводится сервисом iojnitiate. Указанный тип периферийного интерфейса (ком
понента) выбран и может использоваться. Число его типов не ограничено. Любое количество состояний
выбора одних типов может существовать одновременно с выбором других.
67.4.4 Состояние конфигурации канала
Данное состояние принадлежит одному каналу интерфейса выбранного типа и вводится сервисом
io_open.request из состояния выбора типа или сервисом io_config.request из рабочего состояния канала.
Если конфигурация периферийного интерфейса (компонента) с сервисом io_opon неверна, то состояние
выбора типа интерфейса возвращается. Если реконфигурация сервисной процедурой io_config снова
неудачна, то рабочее состояние канала возвращается вместе со старой конфигурацией.
67.4.5 Рабочее состояние канала
Данное состояние вводится, если конфигурация канала периферийного интерфейса (компонента)
успешно закончена. В противном случае оно вводится снова, если реконфигурация не проходит и
сохраняется старая конфигурация.
67.4.6 Состояние ввода на свободном канале
Канал готов к передаче данных и ожидает команды на выполнение сервиса ввода по запросу
io_write.requost. Если области считывания и выполнения команды находятся в состоянии «считывание в
свободном канале» или «выполнение операции всвободном канале» соответственно, то рабочее состояние
канала может быть оставлено сервисом lo_close.
6.7.47 Состояние ввода
Канал находится в состоянии передачи данных, которая может быть остановлена с помощью
сервиса io_cancol. Изменение данного состояния происходит, если передача данных закончена или ее
время больше допуска. С помощью сервиса io_stat может быть подтверждено фактическое количество
переданных байтов.
67.4.8 Состояние окончания ввода
Ввод данных закончен или прерван, и получено сообщение о подтверждении для повторного входа
в состояние ввода в свободном канале.
67.4.9 Состояние считывания всвободном канале
Канал готов к получению данных и ожидает запроса на считывание io_read.request Если области
ввода и выполнения операций находятся в состоянии «вводданных» или «выполнениеоперации» соответ
ственно. то состояние рабочего канала может быть оставлено с помощью сервиса io_closo.
6.7.4.10 Состояние считывания
Канал получает данные и ожидает их периферийного ввода. Режим получения данных может
быть прерван сервисом io_cancel. Состояние изменяется, если этот процесс завершен или его
продолжительность превышаетдопуск. Сервис io_stat подтверждает фактическое количество полученных
байтов.
6.7.4.11 Состояние окончания считывания
Считывание закончено или прервано. Подтверждение создается для повторного входа в состояние
считывания в свободном канале.
39