Re[2]: Как в процессе узнать физический адрес по виртуальном
От: jek_  
Дата: 18.10.07 08:18
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>В третьем кольце никак. Более того, если бы ты и мог узнать это, то пока узнавал бы — этот адрес мог бы поменяться (отправили страницу в своп и вернули в ОП, но в другое место).


Дык я понимаю, что может перемапироваться или усвопиться. Но всё же хочется узнать, хотя бы при таких условиях.

PD>В нулевом кольце — не проблема. Местоположение каталога страниц задается регистром CR3, дальше вручную проводишь трансляцию виртуального адреса (делишь по схеме 10-10-12, берешь значения из каталога и таблицы страниц) и получаешь искомое, если бит присутствия не равен 0.


Угу. Но неужели таки нету API какой-нибудь Ki..... функции? Может быть, всё-таки есть?

PD>А зачем это вдруг понадобилось ? Вся идея виртуальной памяти основана на том, что она абсолютно прозрачна, ты не можешь это знать, не должен знать и не должен хотеть знать.


Так и знал, что этот вопрос задаст кто-нибудь Дело в том, что на одной из систем периодически валится большой тест. Изредка портится элемент массива — всегда однообразно портится — но всегда разный элемент. Отследить, кто гадит в память, не представляется возможным. Никак. На других системах не проявляется. Всё это наводит на мысль, что на данной системе битая память/шина, хотя все третьесторонние тесты на память система проходит...

Дык вот и хочется понять, есть ли какая-то корреляция между физическими адресами битого элемента массива после N падений теста.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.