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

21 мая 2024

ID libkos_barriers_api

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

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

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

Функции barriers.h

Функция

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

IoReadBarrier()

Назначение

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

Параметры

Нет.

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

Нет.

IoWriteBarrier()

Назначение

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

Параметры

Нет.

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

Нет.

IoReadWriteBarrier()

Назначение

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

Параметры

Нет.

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

Нет.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!