Данные управления памятью в таблице процессов
Ниже приводится краткое описание некоторых данных, содержащихся в таблице процессов, которые используются для управления памятью: [Это должно быть документировано значительно лучше. Необходима значительно большая детализация]
Ограничения на память процесса: ulong start_code, end_code, end_data, brk, start_stack; Определение нарушения страницы: ulong min_flt, maj_flt, cmin_flt, cmaj_flt; Локальная таблица дескриптора: struct desc_struct ltd[32] представляет собой локальную таблицу дескриптора задачи. rss количество резидентных страниц. swappable: если - 0, тогда страницы процесса не замещаются. kernel_stack_page: указатель на страницу, размещенную при распараллеливании. saved_kernel_stack: V86 режим работы. struct tss
Сегмент стека esp0 указатель на стек ядра (kernel_stack_page)
ss0 сегмент стека ядра (0х10)
esp1 = ss1 = esp2 = ss2 = 0
неиспользуемые привилегированные уровни.
Секторы сегмента: ds = es = fs = gs = ss = 0x17, cs = 0x0f все указатели на сегменты в текущем ltd[]. cr3: указывает на директорию страниц для данного процесса. ltd: _LTD(n) селектор для LTD текущей задачи.
Содержание раздела