Я знаю высокие 10 бит, используемые в виртуальном адресе ядра.
спасибоКакова роль низких 22 бит (0 ~ 21 бит) в таблице каталога страниц?
0
A
ответ
1
Я думаю, вы немного смущены. Адресное пространство ядра находится над адресом 0xC0000000. Биты в каталоге страниц указывают на таблицу страниц. Нечто подобное на 32 бита архитектуре с размером страницы 4KB:
- Первых десяти бит в точке адреса в каталог Page
- Вторые десять бит в точке адреса к Page Table
- Последние 12 битов в точке адреса на странице
Давайте посмотрим, как это делается (грубо) для виртуального адреса 0x2003ff01
:
- Первые десять битов: 0x80 добавляются как смещение глобального каталога страницы (указываемой
cr3
регистра в архитектуре x86). Сохраненный там адрес должен соответствовать таблице страниц процесса. - Вторая десятка бит:
0x3FF
соответствует таблице страниц. Это смещение добавляется к указателю таблицы страниц, и вы получаете адрес страницы, которую ищете. - Добавить последние 12 бит в указатель страницы и получить ячейку памяти, которую вы искали.
Это более или менее то, как процесс выполняется в Linux. Я пропустил много спецификаций, просто хотел дать общее объяснение.
Надеюсь, это поможет!
Смежные вопросы
- 1. Какова роль бит DC в GDT?
- 2. Чтение 22 бит через SPI
- 3. преобразование двоичных, десятичных, шестнадцатеричных и т. Д., Какова роль бит?
- 4. C Системное программирование бит и значения флаговых бит 0:
- 5. x86 грязный бит в записи в таблице страниц
- 6. Преобразование бит-бит в один бит
- 7. Вызов первого бита в бит-бит 1 или 0?
- 8. Бит бит в рубине
- 9. 24-бит-1 бит-бит-преобразование
- 10. Побитовая проверка бит бит
- 11. бит бит И
- 12. C бит бит беспорядок
- 13. Поверните 0 бит в 1 бит, если бит находится между низким и высоким
- 14. Бит-бит C/C++ или бит-вектор
- 15. 16 бит бит глубина
- 16. двоичный файл бит бит
- 17. Бит стоимость смещения бит
- 18. Бит Маскировка бит регистра
- 19. счетчик бит бит
- 20. Бит
- 21. Почему в записях каталога страниц требуется 20 бит, чтобы указать 2^10 таблиц страниц?
- 22. бит манипуляции: освобождение диапазона бит
- 23. Как конвертировать 8 бит в 16 бит?
- 24. Бит-манипуляция с ByteArray
- 25. бит вертел, чтобы знаковый бит 32 бит междунар
- 26. левый бит сдвига 0 в Java
- 27. Возврат 0 в PowerPC 32 бит
- 28. Как запускать бит Бит-компьютер
- 29. Вручную вычислить бит-бит h264
- 30. @@ ОПЦИИ бит-бит против DISABLE_DEF_CNST_CHK
См. Принятый ответ здесь: http://stackoverflow.com/questions/10671147/how-do-x86-page-tables-work –