Разделяемые сегменты памяти
Примером применения разделяемой области память может быть использование ее в качестве буфера при межпроцессном обмене данными. Один процесс пишет в разделяемую область, другой – читает.
Для организации разделяемого сегмента при наличии системы виртуальной памяти достаточно поместить его в виртуальное адресное пространство каждого процесса, которому нужен доступ к данному сегменту, а затем настроить параметры отображения этих виртуальных сегментов так, чтобы они соответствовали одной и той же области оперативной памяти.
Детали такой настройки зависят от памяти.
«Попадание» виртуальных сегментов на общую часть оперативной памяти достигается либо за счет согласованной настройки ОС многочисленных дескрипторов для процессов, либо помещением единственного разделительного виртуального сегмента в общую часть виртуального адресного пространства процессов, которую обычно используют для модулей ОС. В этом случае настройка дескриптора сегмента и дескрипторов страниц выполняется один раз, а все процессы пользуются такой постройкой и совместно используют часть оперативной памяти.
При работе с разделяемыми сегментами памяти необходимо соблюдать общие правила использования разделяемых ресурсов – семафоры, мониторы и т.п.
Для отличия разделяемых сегментов памяти от индивидуальных. Дескриптор сегмента должен содержать поле, имеющий два значения shared(разделяемый) или private(индивидуальный).
Разделяемые сегменты выгружаются на диск системой виртуальной памяти по тем же алгоритмам и с помощью тех же механизмов что и индивидуальные.
Кэширование данных
Память ЭВМ – это иерархия ЗУ, отличающихся средним временем доступа к данным, объемом и стоимостью хранения 1 бита информации.
Фундамент этой пирамиды – память на жестких дисках, но время доступа к диску исчисляется миллисекундами.
Оперативная память – время доступа 10-20 наносекунд (от нескольких мегабайт до нескольких гигабайт)
Сверхоперативная память (десятки сотни килобайт) – 8нсек.
Внутренние регистры процессора – несколько десятков байт со временем доступа 2-3 наносекунд.
Кэш память или просто кэшспособ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который за счет динамического копирования в быстрые ЗУ наиболее часто используемой информации из «медленного» ЗУ позволяет, с одной стороны, уменьшить среднее время доступа к данным, с другой - сэкономить более дорогую быстродействующую память.
Особенностью кэширования является то, что система не требует никакой внешней информации об интенсивности использования данных, ни пользователи, ни программы не принимают никакого участия в перемещении данных из ЗУ одного типа в ЗУ другого типа, все это делается автоматически системными средствами.
Кэшем часто называют не только способ организации двух типов запоминающих устройств, но и одно из устройств – «быстрое ЗУ». Оно дороже и сравнительно небольшого объема в противовес «медленному» ЗУ – оперативной памяти.
Если кэширование используют для уменьшения среднего времени доступа к оперативной памяти, то в качестве КЭШа используют более дорогую и быстродействующую статическую память.
Если кэшированиеиспользуется системой ввода-вывода для ускорения доступа к данным, хранящимся на диске, роль кэш-памяти играют буфера, реализованные в оперативной памяти.
Виртуальную памятьтоже можно рассматривать как частный случай кэширования.
Дата добавления: 2016-06-15; просмотров: 2664;