Если страница заблокирована в основной памяти с помощью системного вызова mlock()[note 1], существует ли практический способ получить физический адрес страницы в основной памяти?

Механизм /proc /mem используется для предоставления содержимого физической памяти, если процесс был привилегированным, но теперь по умолчанию отключен. Насколько я знаю, физический адрес страницы логической памяти был недоступен, за исключением косвенного шпионажа за таблицами страниц ядра.

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

Примечание 1: вызов mmap() с опцией блокировки, вероятно, будет работать так же.

0