Отображение сегментов на страницы


1) Сегменты, занимающие несколько страниц
Архитектура процессора допускает существование сегментов, превышающих по размеру одну страницу (4К). Например, большие структуры данных могут занимать тысячи страниц. Если подкачка страниц не используется, то для доступа к любой части структуры данных требуется присутствие в физической памяти всей структуры данных. При использовании механизма подкачки страниц в памяти обязательно присутствие только страницы, содержащей ту часть данных, к которой в текущий момент выполняется доступ.
2) Страницы, содержащие несколько сегментов
Сегменты могут также быть по размеру меньше страницы. Если такой сегмент будет помещен в отдельную, не содержащую других сегментов страницу, это означает бесполезную трату памяти. Например, при помещении в отдельную страницу небольшой структуры данных, например, занимающего 1 байт семафора, будет израсходовано 4К памяти. Если используется много таких семафоров, гораздо эффективней будет упаковать их в одну страницу.
3) Невыравненные границы страниц и сегментов
Архитектура процессора не устанавливает каких-либо принудительных соотношений между границами страниц и сегментов. Страница может содержать конец одного сегмента и начало следующего. Аналогичным образом, сегмент может содержать конец одной страницы и начало следующей.
4) Выравненные границы страниц и сегментов
Программное обеспечение организации памяти может стать проще и эффективнее при установке некоторого принудительного выравнивания границ страниц и сегментов. Например, если сегмент, который может поместиться в пределах одной страницы, размещен в двух страницах, то доступ к такому сегменту потребует в два раза больше времени на подкачку содержащих его страниц.

Загрузка...