Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Тут вот что пришло в голову по п.2 11.05.04 20:44 Число просмотров: 1390
Автор: Den <Denis> Статус: The Elderman
|
> 2) Пейджинг в IA32 начинается с загрузки регистра CR3 > указателем на Page Directory и установки флага PG в CR0. > Если каждый процесс хочет иметь своё уникальное виртуальное > адресное пространство (как в Windows, к примеру), без > перезагрузки CR3 с каждым переключением контекста не > обойтись. При этом нафиг "слетает" TLB, что снижает > производительность. Хотелось бы услышать мнения, насколько > серьёзно.
Не нужно перегружать CR3.
Если не используем сегментацию, то менеджеру задач достаточно иметь информацию о принадлежности страниц контекстам. Тогда при переключении контекста задачи, менеджер задач должен пометить чужие страницы как выгруженные, а page fault handler при необходимости должен выгрузить чужую страницу в своп и влить на ее место страницу действующего контекста с внесением изменений в информацию о принадлежности к контексту.
|
|
|