ВУЗ:
Составители:
111
мером 128 Кбайт. Различные походы к повышению эффективности ис-
пользования таблиц страниц рассмотренные ниже в п. 4.2.8.
Итак, основным достоинством страничного способа распределения
памяти является минимальная фрагментация. Поскольку на каждую за-
дачу может приходиться по одной незаполненной странице, очевидно,
что память можно использовать достаточно эффективно. Этот метод ор-
ганизации виртуальной памяти был бы одним из самых лучших, если бы
не два следующих обстоятельства:
1) Страничная трансляция виртуальной памяти требует существен-
ных накладных расходов: таблицы страниц нужно также размещать в
памяти и обрабатывать при помощи диспетчера памяти.
2) Программы разбиваются на страницы случайно, без учета логи-
ческих взаимосвязей, имеющихся в коде. Поэтому межстраничные пе-
реходы, как правило, осуществляются чаще, нежели межсегментные, а
также становится трудно организовать разделение программных моду-
лей между выполняющимися процессами.
Для того, чтобы избежать второго недостатка, постаравшись сохра-
нить достоинства страничного способа распределения памяти, был
предложен еще один способ – сегментно-страничный, особенности ре-
ализации которого будут рассмотрены ниже в п. 4.2.9.
4.2.8 Особенности эффективного использования таблиц страниц
Одним из основных элементов, необходимых при страничном рас-
пределении памяти и существенно влияющих на эффективность ее ис-
пользования в целом, является таблица страниц. Существуют различные
варианты организации и использования таблиц страниц, направленные
на повышение эффективности их функционирования, отличающиеся как
структурой таблиц (многоуровневые, инвертированные), так и способом
доступа к их записям (ассоциативный). Рассмотрим их более подробно.
Многоуровневые таблицы страниц. Основную проблему для эф-
фективной реализации таблицы страниц создают большие размеры вир-
туальных адресных пространств современных компьютеров, которые
обычно определяются разрядностью архитектуры процессора.
Например, в 32-битном адресном пространстве при размере стра-
ницы 4 Кбайт (Intel) получаем 2
32
/2
12
= 2
20
, т.е. приблизительно миллион
страниц, а в 64-битном и того более. Таким образом, таблица должна
иметь примерно миллион строк, а запись в строке состоит из нескольких
байтов. Отметим, каждый процесс нуждается в своей таблице страниц (а
в случае сегментно-страничной схемы, особенности реализации которой
рассмотрены ниже в п. 4.2.9, желательно иметь по одной таблице стра-
ниц на каждый сегмент).
Понятно, что количество памяти, отводимое таблицам страниц, не
Страницы
- « первая
- ‹ предыдущая
- …
- 109
- 110
- 111
- 112
- 113
- …
- следующая ›
- последняя »
