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