Здравствуйте, Pavel Dvorkin, Вы писали:
PD>В третьем кольце никак. Более того, если бы ты и мог узнать это, то пока узнавал бы — этот адрес мог бы поменяться (отправили страницу в своп и вернули в ОП, но в другое место).
Дык я понимаю, что может перемапироваться или усвопиться. Но всё же хочется узнать, хотя бы при таких условиях.
PD>В нулевом кольце — не проблема. Местоположение каталога страниц задается регистром CR3, дальше вручную проводишь трансляцию виртуального адреса (делишь по схеме 10-10-12, берешь значения из каталога и таблицы страниц) и получаешь искомое, если бит присутствия не равен 0.
Угу. Но неужели таки нету API какой-нибудь Ki..... функции? Может быть, всё-таки есть?
PD>А зачем это вдруг понадобилось ? Вся идея виртуальной памяти основана на том, что она абсолютно прозрачна, ты не можешь это знать, не должен знать и не должен хотеть знать.
Так и знал, что этот вопрос задаст кто-нибудь

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