Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Управление виртуальной памятью, стратегии управления.




Стратегии вталкивания.

Определяют, когда следует переписывать очередную страницу или сегмент в основную память. Существует 2 стратегии: по запросу и с упреждением. Вталкивание по запросу предполагает, что система ждет ссылки на страницу или сегмент от выполняющегося процесса и только после появления такой ссылки начинает переписывать данную страницу или сегмент в первичную память. Данная стратегия считается наиболее рациональной, потому что полностью эффективные механизмы упреждающей подкачки реализовать нельзя из-за невозможности точно предсказывать будущее поведение программы; имеется гарантия того, что в основную память вводятся только фактически необходимые страницы; накладные расходы на выборку страницы минимальны. Минус: выполняющиеся процессы должны ждать.

Вталкивание с упреждением предполагает, что система пытается заблаговременно определить к каким страницам или сегментам будет обращаться процесс.

Стратегии размещения.

Определяют, куда помещать поступающую страницу или сегмент. В случае систем со страничной организацией решение о размещении принимается достаточно тривиально, поскольку поступающая страница может быть помещена в любой свободный страничный кадр. В системах с сегментной организацией используются те же стратегии, а именно реализующие принцип занятия первой подходящей, наиболее/наименее подходящей по размерам области памяти.

Стратегии выталкивания.

Определяют, какую страницу или сегмент следует заменить, чтобы освободить место для поступающего сегмента. Наиболее часто используются: выталкивание случайной страницы – эта стратегия имеет малые издержки, но рассчитана на слепое везение и поэтому применяется редко; по принципу оптимальности – выталкивается страница, которая наиболее долго не будет использоваться в дальнейшем, однако предсказать это сложно; FIFO – выталкивается страница, которая находилась в памяти дольше других; LRU – выталкивается страница, которая дольше всего не использовалась; LFU – выталкивается страница, которая использовалась реже других; NUR – выталкивается страница, не используемая в последнее время; по принципу рабочего множества – выталкивается страница, которая не входит в подмножество наиболее используемых страниц процесса.

Некоторые системы предусматривают возможность добровольного освобождения страниц. Многие стратегии базируются на понятии локальности. Локальность – свойство выполняющихся процессов, состоящее в том, что процессы как правило более активно обращаются к некоторому подмножеству своих страниц в течение некоторого временного интервала выполнения. Локальность может временной – означает, что процесс, обращающийся к странице, с большой вероятностью вскоре снова обратиться к этой же странице. Пространственная локальность – означает, что процесс, обращающийся к некоторой странице с большой вероятностью вскоре обратиться к соседним страницам своего виртуального адресного пространства. Временная локальность обусловлена тем, что программы пишутся с использованием циклов, подпрограмм, стеков, счетчиков, переменных для накопления итоговых сумм, массивов. Пространственная объясняется тем, что код программы обычно выполняется последовательно, данные организуются часто в виде массивов и у программистов принято размещать описание взаимосвязанных элементов по близости друг от друга. И на основе понятия локальности Деннинг разработал концепцию рабочих множеств, которая объясняет поведение программы. Рабочее множество обозначается W (t, Δt) в момент времени t – это множество страниц, к которым процесс обращается в интервале времени от t– Δt до t. Величина Δt – размер окна рабочего множества и её выбор играет существенную роль в управлении памятью.

Стратегия управления с использованием рабочих множеств ставит своей целью размещать в основной памяти все страницы рабочего множества. Новые процессы можно инициировать только в случае, если в основной памяти есть место для размещения их рабочих множеств. Если делается попытка выполнить процесс, не имеющего достаточно места в памяти для размещения рабочих множеств, то часто возникает явление пробуксовки или трешинга – оно заключается в том, что производится непрерывное выталкивание страниц с последующим немедленным вталкиванием их обратно.

Чтобы определить оптимальный размер для данной страницы необходимо учитывать ряд соображений:

  • Малый размер страницы приводит к увеличению таблиц страниц и как следствие табличной фрагментации.
  • Большой размер страницы приводит к тому, что в первичную память будут записываться команды и данные, к которым не будет обращений.
  • Ввод/вывод наиболее эффективен при больших размерах страниц.
  • Свойство локальности, как правило, распространяется на небольшие участки.
  • При малых размерах страниц потери памяти на внутреннюю фрагментацию уменьшаются.

У Windows используется страничная организация, размер страницы – 4 Кб.

Кэширование данных.

Быстродействующая память основана на организации SRAM, её объем – несколько мегабайт, скорость доступа не превышает 8 мс. Регистры процессора – несколько байтов, скорость – 2-3 мс.

Кэш-память обладает большим быстродействием, чем основная память, однако стоит значительно дороже. Появилась кэш в 60 годах. Кэширование – это способ совместного функционирования двух типов ЗУ, при котором за счет динамического копирования наиболее часто используемой информации из более медленного ЗУ в более быстрое уменьшается среднее время доступа к данным. Кэш является прозрачной для программ пользователя, система не требует никакой информации об интенсивности использования данных, ни пользователи, ни программы не принимают никакого участия в перемещении данных из одного типа памяти в другой. В общем случае кэширование – это универсальный метод ускорения доступа как к ОП, так и к дискам и другим видам запоминающих устройств:

1. если кэширование применятся к ОП, то в качестве КЭШа использует быстродействующая статическая память SRAM.

2. если кэширование используется к дисковой памяти, то в этом случае роль кэш-памяти выполняют буферы в ОП, в которых оседают наиболее активно используемые данные.

3. виртуальную память тоже можно считать одним из вариантов реализации принципа кэширования, при котором ОП выступает в роли КЭШа по отношению к внешней памяти. Только в этом случае кэширование используется не для уменьшения времени доступа к данным, а для того, чтобы частично подменить ОП диском. В результате наиболее интенсивно используемые данные оседают в ОП, остальная информация хранится в более объемной и менее дорогой внешней памяти.

 

 

11 апреля 2012 г.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...