14.6. ВВОД-ВЫВОД НИЗКОГО УРОВНЯ

Операция ввода-вывода низкого уровня — это операция, выполняющаяся на физическом устройстве. Для выполнения таких операций используется одна из (совмещенных) предопределенных процедур SEND_CONTROL и RECEIVE_CONTROL

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

Эти процедуры описаны в стандартном пакете LOW_LEVEL_IO. Каждая из них имеет два параметра, задающие устройство и данные. Однако сорт и формат управляющей информации зависят от физических характеристик машины и устройств; поэтому типы параметров зависят от реализации. Возможно определение совмещенных подпрограмм, управляющих различными устройствами.

Видимый раздел пакета, определяющего такие процедуры, имеет следующую структуру:

package LOW_LEVEL_IO is   -- описания возможных типов параметров DEVICE и DATA   -- описания совмещенных процедур над такими типами;   procedure SEND_CONTROL   (DEVICE : тип-устройства; DATA : in out тип-данных);   procedure RECEIVE_CONTROL (DEVICE : тип-устройства; DATA : in out тип-данных};end;

Тела процедур SEND_CONTROL и RECEIVE_CONTROL для различных устройств могут быть размещены в теле пакета LOW_LEVEL_IO. Эти тела процедур могут быть записаны операторами кода.