Как получить адрес в области физической адресации по указателю в области виртуальной адресации?

Если у меня есть адрес (указатель) в области виртуальной адресации текущего процесса на закрепленную (заблокированную страницу) память, то как я могу получить адрес (указатель) в области физической адресации этой области памяти, используя POSIX?

  • Процессор: x86
  • ОС: Linux 2.6 и Windows 7/8 (Server 2008R2)

0

Решение

Вы не можете получить доступ к физическим адресам в пространстве пользователя. Все, что вы делаете, проходит через MMU и таблицы страниц. Даже если вы закрепите страницу, ядро ​​все равно сможет переместить ее в физической памяти.

Даже если бы вы получили его, что бы он сделал для вас? Процесс пользовательского пространства не может получить доступ к памяти напрямую посредством физического доступа. Может только режим ядра.

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]