Самьюэл Алекс
Шрифт:
8.8. Семейство функций mlock: блокирование физической памяти
Функции семейства
Блокирование физической памяти важно в программах реального времени, поскольку задержки, связанные с выгрузкой и подкачкой страниц, могут оказаться слишком длинными или возникать в самый неподходящий момент. Приложения, заботящиеся о безопасности своих данных, могут устанавливать запрет на выгрузку важных данных в файл подкачки, в котором они станут доступны злоумышленнику после завершения программы.
Чтобы заблокировать область памяти, достаточно вызвать функцию
Вот как можно выделить и заблокировать 32 Мбайт оперативной памяти:
Выделение страницы и блокирование ее с помощью функции
29
Режим копирования при записи означает, что Linux создает для процесса частную копию страницы только тогда, когда процесс записывает в нее какие-то данные.
Процессу, осуществляющему запись на страницу, операционная система предоставит в монопольное использование ее уникальную копию.
Для разблокирования области памяти следует вызвать функцию
Функция
Блокирование больших объемов памяти, особенно с помощью функции
Функция
Контролировать использование памяти удобнее всего с помощью команды
Функции семейства
8.9. Функция mprotect: задание прав доступа к памяти
В разделе 5.3, "Отображение файлов в памяти", рассказывалось о том, как осуществляется отображение файла в памяти. Вспомните, что третьим аргументом функции
После того как файл был отображен в памяти, изменить права доступа к нему позволяет функция
Учтите, что память, выделяемая функцией
Кроме того, с помощью функции