У каждого процесса есть своя собственная таблица страниц?

У каждого процесса есть своя собственная таблица страниц или он просто добавляет записи о своих страницах в одну большую таблицу страниц?


person Steven    schedule 07.12.2010    source источник
comment
Между прочим, если вы узнаете о резервном буфере трансляции, это будет менее запутанно, если вы знаете, что резервный буфер трансляции перезагружается для текущего процесса при переключении контекста.   -  person Elliot    schedule 12.04.2016


Ответы (2)


Да, у каждого процесса есть свои собственные таблицы страниц. Они могут использоваться совместно с родительским процессом (копирование при записи) или с другими процессами (общая память). Но в целом у каждого процесса свои.

person Bernd    schedule 07.12.2010
comment
Как система справится с наличием значительного количества запущенных процессов (что не является необычным), поскольку все таблицы страниц должны быть в памяти ядра, если объем ядра обычно не превышает 1 ГБ? - person chamibuddhika; 16.12.2013
comment
@chamibuddhika считает, что таблица страниц каждого процесса находится в пользовательском пространстве процесса. как вы думаете, почему все таблицы страниц должны находиться в памяти ядра? Глобальная структура фрейма страницы, которая представляет собой огромный массив, находится в пространстве ядра. Что касается процесса, я так не думаю. - person Mike; 07.02.2014

Да, если вы не используете перевернутую таблицу страниц посмотреть ответ. Поскольку инвертированная таблица страниц является глобальной, каждая запись также должна содержать информацию о том, к какому процессу она принадлежит.

person EthanP    schedule 09.09.2014