Да не получится из устройства вот так просто изменять или считывать память. Во-первых надо узнать местонахождение в памяти нужного куска в физической памяти. Если не забыли, программы работают с виртуальной. Чтобы устройство могло обращаться всегда к правильной памяти, выделяется невыгружаемый, возможно некешируемый кусок системной памяти, он блокируется и никуда не двигается. Обычные страницы памяти могут находится где угодно. При неизменных виртуальных адресах программы, страницы в памяти могут находиться по разным адресам в физической памяти, в том числе и в swap-файле, из него то уже ничего не достанешь.
|