Использование барьеров памяти (barriers.h)

API определен в заголовочном файле sysroot-*-kos/include/coresrv/io/barriers.h из состава KasperskyOS SDK.

API позволяет устанавливать барьеры на чтение из памяти и/или на запись в память. Барьер памяти (англ. memory barrier) – это инструкция для компилятора и процессора, которая гарантирует, что операции доступа к памяти, указанные в исходном коде до установки барьера, будут выполнены до операций доступа к памяти, указанных в исходном коде после установки барьера. Использование барьеров памяти требуется, если важен порядок операций чтения из памяти и/или записи в память, поскольку действия компилятора и/или процессора, связанные с оптимизацией, могут привести к тому, что эти операции будут выполнены в порядке, отличном от указанного в исходном коде.

Сведения о функциях API приведены в таблице ниже.

Функции barriers.h

Функция

Сведения о функции

IoReadBarrier()

Назначение

Устанавливает барьер на чтение из памяти.

Параметры

Нет.

Возвращаемые значения

Нет.

IoWriteBarrier()

Назначение

Устанавливает барьер на запись в память.

Параметры

Нет.

Возвращаемые значения

Нет.

IoReadWriteBarrier()

Назначение

Устанавливает барьер на запись в память и чтение из памяти.

Параметры

Нет.

Возвращаемые значения

Нет.

В начало