физическое хранилище данных ядра [закрыто]

У меня есть вопрос о физическом хранении данных ядра в Linux, я знаю, что верхний 1 ГБ ВИРТУАЛЬНОЙ памяти каждого процесса указывает на одно и то же ФИЗИЧЕСКОЕ местоположение, но

  1. эта часть данных должна быть непрерывны на ФИЗИЧЕСКОМ носителе, как в ВИРТУАЛЬНОЙ ПАМЯТИ?
  2. будут ли данные ядра занимать ТОЛЬКО 1 ГБ ФИЗИЧЕСКОЙ памяти?
  3. могут ли некоторые страницы данных ядра быть заменены на диск (например, таблицы страниц, глобальный каталог страниц всегда в физической памяти и не может быть заменен на диск, как я понимаю)

редактировать

какой смысл разделить 32-битный ВИРТУАЛЬНЫЙ адрес на два уровня (уровень глобального каталога страницы - 10 бит и второй уровень страницы таблица - 10 бит) и смещение 12 бит, если он не разбит на страницы, каковы преимущества этих двух уровней?

1
задан 10 September 2011 в 02:05

1 ответ

  1. Нет, это не должно быть непрерывно. Любая виртуальная страница может быть отображена на любой физической странице.
  2. По большей части, да, память ядра ограничена 1 ГБ, но кэш страницы может вырасти, чем это, потому что только маленький бит его должен быть отображен в адресное пространство ядра за один раз.
  3. Память ядра не pagable.

Обратите внимание, что это относится к ядру на 32 бита только.

2
ответ дан 7 December 2019 в 14:48

Другие вопросы по тегам:

Похожие вопросы: