Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Виртуальная память кэширование данных Память является важнейшим ресурсом требующим тщательного управле

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024

4. Виртуальная память, кэширование данных

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

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

Развитие методов организации вычислительного процесса в этом направлении привело к появлению метода, известного под названием виртуальная память.

Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:

  1.  размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;
  2.  перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;
  3.  преобразует виртуальные адреса в физические.

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

Страничное распределение.

Страничная виртуальная память организует перемещение данных между ОП и внешней памятью страницами – частями виртуального адресного пространства фиксированного и сравнительно небольшого размера. Виртуальное адресное пространство делится на виртуальные страницы (virtual pages), размерами = степени 2 (1024, 4096 и т.д.). Например, Pentium позволяет использовать страница размером 4Кбайт и 4Мбайт. Для каждого процесса создается таблица страниц, каждой странице соответствует структура, содержащая номер физической страницы, признак модификации, число обращений к странице. При необходимости выбора страницы, которую нужно выгрузить на диск, обычно используют признак модификации – если не менялась – не нужно записывать, а если менялась – выбирают ту, к которой меньше обращались.

Достоинство: минимальная фрагментация памяти. 

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

Сегментное распределение.

Сегментная виртуальная память предусматривает перемещение данных сегментами – частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.

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

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

Достоинство: реже приходится выполнять переключения с сегмента на сегмент

Сегментно-страничное распределение.

Сегментно-страничная виртуальная память использует двухуровневое деление: виртуальное адресное пространство делится на сегменты, а затем сегменты делятся на страницы. Единица перемещения – страница.

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

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

При свопинге – образы процессов выгружаются на диск и возвращаются в ОП целиком.(а при использовании виртуальной памяти – между ОП и диском перемещаются части образов процессов (сегменты, страницы)).

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

Рассмотрим иерархию запоминающих устройств (ЗУ) и принцип кэширования информации.

Память ВМ представляет собой иерархию ЗУ, включающую внутренние регистры процессора, различные типы сверхоперативной, оперативной и постоянной памяти, внешнюю память на магнитных дисках и других типах устройств. Разные типы ЗУ отличаются средним временем доступа и стоимостью хранения данных в расчете на один бит.

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

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

  В системах, оснащенных кэш-памятью, каждый запрос к оперативной памяти выполняется в соответствии со следующим алгоритмом:

  1) просматривается содержимое кэш-памяти с целью определения, не находятся ли нужные данные в кэш-памяти (кэш-память не является адресуемой, поэтому поиск нужных данных осуществляется по содержимому – значению поля «адрес в оперативной памяти», взятому из запроса);

 2)  если данные обнаруживаются в кэш-памяти, то они считываются из нее, и результат передается в процессор;

 3)  если нужных данных нет, то они вместе со своим адресом копируются из оперативной памяти в кэш-память, и результат выполнения запроса передается в процессор.

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

  На практике в кэш-память считывается не один элемент данных, к которому произошло обращение, а целый блок данных. Это увеличивает вероятность так называемого «попадания в кэш», то есть нахождения нужных данных в кэш-памяти. В реальных системах вероятность попадания в кэш составляет примерно 0,9.

  Высокое значение вероятности нахождения данных в кэш-памяти связано с наличием у данных объективных свойств: пространственной и временной локальности.

Пространственная локальность. Если произошло обращение по некоторому адресу, то с высокой степенью вероятности в ближайшее время произойдет обращение к соседним адресам.

Временная локальность. Если произошло обращение по некоторому адресу, то следующее обращение по этому же адресу, с большой вероятностью, произойдет в ближайшее время.

Кэш — это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа (далее «основная память»). Кэширование применяется ЦПУ, жёсткими дисками, браузерами, веб-серверами, службами DNS и WINS.

Кэш состоит из набора записей. Каждая запись ассоциирована с элементом данных или блоком данных (небольшой части данных), которая является копией элемента данных в основной памяти. Каждая запись имеет идентификатор, определяющий соответствие между элементами данных в кэше и их копиями в основной памяти.

Когда клиент кэша (ЦПУ, веб-браузер, операционная система) обращается к данным, прежде всего исследуется кэш. Если в кэше найдена запись с идентификатором, совпадающим с идентификатором затребованного элемента данных, то используются элементы данных в кэше. Такой случай называется попаданием кэша. Если в кэше не найдена запись, содержащая затребованный элемент данных, то он читается из основной памяти в кэш, и становится доступным для последующих обращений. Такой случай называется промахом кэша. Процент обращений к кэшу, когда в нём найден результат, называется уровнем попаданий или коэффициентом попаданий в кэш.

Например, веб-браузер проверяет локальный кэш на диске на наличие локальной копии веб-страницы, соответствующей запрошенному URL. В этом примере URL — это идентификатор, а содержимое веб-страницы — это элементы данных.

Если кэш ограничен в объёме, то при промахе может быть принято решение отбросить некоторую запись для освобождения пространства. Для выбора отбрасываемой записи используются разные алгоритмы вытеснения.

При модификации элементов данных в кэше выполняется их обновление в основной памяти. Задержка во времени между модификацией данных в кэше и обновлением основной памяти управляется так называемой политикой записи.

В кэше с немедленной записью каждое изменение вызывает синхронное обновление данных в основной памяти.

В кэше с отложенной записью (или обратной записью) обновление происходит в случае вытеснения элемента данных, периодически или по запросу клиента. Для отслеживания модифицированных элементов данных записи кэша хранят признак модификации (изменённый или «грязный»). Промах в кэше с отложенной записью может потребовать два обращения к основной памяти: первое для записи заменяемых данных из кэша, второе для чтения необходимого элемента данных.

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

Обведенный текст можно удалить, я его добавила, что вам стало понятнее, о чем идет речь




1. Цапли
2. 10 Конституции РФ
3. лекция Профессор Беляева Л
4. Деньги и денежные реформы в Росси
5. Введение15
6. Тема Уголовно Исполнительная Система - ее понятие структура принципы деятельности и задачи
7. РЕФЕРАТ ПО ДИСЦИПЛИНЕ Столыпинская аграрная реформа Направление подготовки Специальность-
8. Активи комерційних банків
9. Тема- История возникновения и развития психологической мысли План Возникновение психологическ
10. Тема V1- Стиль и моделирование его содержания в коммуникативно ~ речевой деятельности I- {{1}} ТЗ 1 Тема 100
11. выбор судьбы Субъективный взгляд на питание голодание и здоровье Автор работы Валентин Николаев сын
12. ДЕМОНСТРАЦІЯ РІВНЯННЯ БЕРНУЛЛІ
13. Освоение Амазонии.html
14. Кафедра захисту інформації
15. Михаил Михайлович Тьедер
16.  Длина направленного отрезка АВ при заданном масштабе обозначается символом - АВ- или АВ; см
17. Налоговая система нэпа
18. тематизировать с учащ знания по теме степень 1 степень с произв
19. Курсовая работа- Требования к бухгалтерской (финансовой) отчетности
20. РЕФЕРАТдисертації на здобуття наукового ступенякандидата філософських наук Запоріжжя ~6 Дисертаці