Операция ввода-вывода низкого уровня — это операция, выполняющаяся на физическом устройстве. Для выполнения таких операций используется одна из (совмещенных) предопределенных процедур 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. Эти тела процедур могут быть записаны операторами кода.