Ядро ОС Linux

       

Физическая память


Ниже представлена карта физической памяти перед тем, как будет выполнен любой процесс. Левый столбец представляет начальный адрес инструкции, отмеченные значения являются приблизительными. Средний столбец включает в себя название инструкции. Крайний правый столбец представляет имя соответствующей процедуры или переменной или комментарий входа.

0x110000 свободна memory_end или high_memory

mem_map mem_init()

inode_table inode_init()

ннформ. устройства device_init()+

0x100000 добав. pg_tables paging_init()

0x0A0000 не используется

0x060000 свободна

low_memory_start

0x006000 код ядра + данные

floppy_track_buffer

bad_pg_table занято page_fault_handlers для bad_page уничтожения процесса, если он находится вне памяти.

0x002000 pg0 первая таблица страниц в ядре

0x001000 swapper_pg_dir каталог страниц ядра

0x000000 нулевая страница

+ устройство, захватывающее память (main.c): profil_buffer, con_init, psaux_init, rd_init, scsi_dev_init. Заметьте, что не вся память помечена как FREE или RESERVRVED (mem_init).

Страницы, помеченные как RESERVED принадлежат ядру и никогда не освобождаются или переставляются.



Содержание раздела