Почитаю как-нибудь(сейчас времени в обрез). А вообще пост можно понять, как книга "Внутреннее устройство Windows" за авторством Соломона, Руссиновича и Deader'a )))))) спс за комплимент )))))) где хранятся индексы описателелей PTE для выделенного участка памяти?
Да одну непрерывную область виртуальной памяти (линейных адресов). А индекс это просто часть виртуального (линейного) адреса. Размер выделенного блока хранится в ядерных структурах ОС (в частности в VAD - virtual address descriptor) и нужен он только ОС (а не процессору) для дальнейших операций с VirtualAlloc\Free. А процессору, как уже было сказано, незачем знать размеры блоков - ему достаточно для каждой команды чтения\записи быстро перетранслировать линейный адрес в физический и все. Поэтому он просто бъет лин.адрес на части ("индексы") и лезет по ним за физ. адресами в PDE и PTE - если находит, значит ОК, если же запись PDE или PTE оказывается невалидной, то проц просто выбрасывает исключение #PF (page fault - отказ страницы), которое перехватывается ОС и она уже смотрит в чем дело. В частности на этих #PF полностью основана подкачка страниц при свопинге и файл-маппинге (т.е. вирт.память выделена, но данные в физ.память не загружены, поэтому ОС в ответ на такой #PF выделяет физ.память и корректирует записи PDE\PTE, делая их валидными)
Deader Большинство ваших вопросов отражено в заголовках параграфов данной главы... так что - очень советую...