Кто делит основную память на рамку страницы? - PullRequest
0 голосов
/ 26 декабря 2018

Кто делит основную память на фреймы страниц?Насколько я понимаю, это ОС, которая поддерживает таблицу кадров, так что это не MMU для этой работы?

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

Кто делит основную память на фреймы страниц?

Аппаратное обеспечение системы делит основную память на физические фреймы страниц.

Насколько я понимаю, этоОС, которая поддерживает таблицу кадров, так что это не MMU для этой работы?

Нет.Операционная система отображает логические страницы процесса на физические фреймы страниц.Базовое оборудование делит память на фреймы страниц.Это может или не может быть сделано MMU.Все будет зависеть от того, как устроен чипсет.

0 голосов
/ 26 декабря 2018

MMU это просто аппаратная вещь.Сегодня это часть чипа процессора.Подробности о MMU: архитектура набора команд специфическая (такая разная для x86 и PowerPc или ARM или RISC-V).

Необходимо сконфигурировать MMU для реализации подходящего виртуального адреса для преобразования физического адреса.

Эта конфигурация MMU ( привилегированный *)1020 * операция) выполняется операционной системой ядро ​​, которая управляет таблицей страниц .С точки зрения пространства пользователя ОС будет предоставлять системных вызовов (например, mmap (2) в Linux) для изменения виртуального адресное пространство процесса .

Чтение Операционные системы: три простых компонента для более (свободно загружаемых).Есть несколько глав (от 12 до 24), объясняющих все это.

PS.Если у вас есть система Linux, попробуйте команду cat /proc/$$/maps (она «показывает» виртуальное адресное пространство вашего процесса shell , так как ваша оболочка расширится $$ до pid), и узнайте больше о* * Proc тысяча сорок-девять (5) .

...