Таблицы страниц в Linux - PullRequest
       59

Таблицы страниц в Linux

0 голосов
/ 25 января 2011

Вопрос 1: - В процессе загрузки Linux создает таблицы страниц. Однако, когда выполняется новый процесс, он также имеет свою собственную таблицу страниц. Чем эти две таблицы отличаются?

Вопрос 2: - В архитектуре x86 Linux использует четко определенную схему (которая включает каталог страниц, записи таблицы страниц и аналогично) для преобразования линейного адреса в физический адрес. Предположим, у нас есть линейный адрес X в адресном пространстве A процесса, который при преобразовании с использованием таблиц страниц соответствует физическому адресу Y. Существует некоторый другой процесс B, который также имеет действительный линейный адрес X, принадлежащий его собственному адресному пространству. Теперь, если процесс B хочет получить доступ к X, будет ли X снова соответствовать тому же физическому адресу Y?

Ответы [ 2 ]

2 голосов
/ 27 января 2011

Вопрос 1: Таблицы страниц создаются не только при загрузке.Новая таблица страниц создается каждый раз, когда процессы разветвляются.Новые таблицы следуют шаблону, установленному ядром при загрузке, но каждая представляет собой независимую структуру данных, которая может меняться для каждого процесса.Как правило, они различаются, чтобы у каждого процесса была своя собственная рабочая память, к которой имеет доступ только он.

Вопрос 2: Нет, и это является одной из причин использования подкачки в первойместо.

0 голосов
/ 26 января 2011

Вопрос 1: У них разные разрешения.

Вопрос 2: Нет.

Возможно, вы тоже захотите проверить это, если вам действительно интересно, а не просто искать простые ответыдля домашней работы: http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...