$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
В процессоре присутствует модуль управления памятью (MMU), который перево
дит виртуальные адреса памяти, используемые процессами, в реальные. Ядро по
могает модулю MMU, разбивая память на маленькие фрагменты, называемые стра-ницами. Ядро содержит структуру данных, которая называется таблицей страниц
и содержит схему соответствия виртуальных адресов страниц реальным адресам
страниц в памяти. Когда процесс получает доступ к памяти, модуль MMU переводит
виртуальные адреса, используемые процессом, в реальные адреса на основе таблицы
страниц ядра.
В действительности пользовательскому процессу для работы не нужны сразу
все его страницы. Обычно ядро загружает и распределяет страницы по мере их
необходимости для процесса; такая система работы известна как вызов страниц по
запросу или листание по запросу. Чтобы понять, как это устроено, рассмотрим
запуск и работу команды в качестве нового процесса.
1. Ядро загружает начало кода с инструкциями команды в страницы памяти.
2. Ядро может выделить несколько страниц рабочей памяти для нового про
цесса.
3. Во время своей работы процесс может дойти до такого момента, когда следу
ющей инструкции не окажется ни в одной из страниц, загруженных ядром изна
чально. Тогда ядро вступает в действие, загружает необходимые страницы в па
мять и позволяет команде продолжить выполнение.
4. Подобным же образом, если команде необходимо больше рабочей памяти, чем
было выделено изначально, ядро решает эту задачу, отыскивая свободные стра
ницы (или освобождая пространство) и назначая их данному процессу.