Здравствуйте, Keith, Вы писали:
K> Никак не могу понят, что имелось ввиду? Как этот кусок в 64к способствует тому, что я не могу писать в память ядра? Если имеется ввиду, что этот кусок является гранью между моей памятью и памятью ядра, и служит guard'ом для моих увеличивающихся указателей, то как борятся с тем, что я просто буду писать в память, находящуюся за этим куском?
этот регион предотвращает передачу потоками буферов через границу между um\km (user\kernel mode)/ Стартовый адрес в MmUserProbeAddress (0х7FFF000 на х86 с 2 Гб user space и 0xBFFF000 с 3Гб — SergH, привет
)
Цифра растет ИМХО из того факта, что гранулярность выделения памяти (see GetSystemInfo) 64Кб — так было задумано для того чтобы быть готовым к поддержке будущих CPU с размером страницы 64Кб. Кстати выравнивание таких регионов также происходит в соотв с гранулярностью выделения памяти, а вот размер адресного пространства кратен уже странице.
Подчеркну, что здесь речь о резервировании региона адресного пространства и это не относится к режиму ядра — там все нормально, гранулярность 1 страница.
... << Rsdn@Home 1.1.4 beta 1 >>