Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Виртуализация памяти. Классы виртуальной памятиСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
· Виртуализация оперативной памяти осуществляется совокупностью аппаратных средств процессора и программных средств ОС и включает решение следующих задач: · размещение данных (образов процессов или их частей) в запоминающих устрой- ствах разного типа: частично – в оперативной памяти, частично – на диске; · выбор образов процессов или их частей для перемещения из оперативной памя- ти на диск и обратно; · перемещение данных между памятью и диском; · преобразование виртуальных адресов в физические. Решение этих задач осуществляется автоматически, без участия программиста, и не отображаются в логике работы приложений. · Виртуализация памяти может быть осуществлена на основе двух подходов – свопинга и механизма виртуальной памяти. Свопинг (swapping). Между оперативной памятью и диском перемещаются образы процессов Более простой в реализации способ, чем виртуальная память. Однако обла- дает избыточностью при подкачке или выгрузке: часто для активизации процесса или освобождения памяти не требуется перемещение всего образа процесса. Избыточность приводит к замедлению работы системы и неэффективному использованию памяти. Кроме того, невозможно загрузить для выполнения процесс, виртуальное адресное про- странство которого превышает имеющуюся в наличии свободную память. Как основной механизм управления памятью в современных ОС почти не использует- ся. В некоторых ОС, например, версиях Unix, основанных на коде SVR4, свопинг приме- няется как дополнительный к виртуальной памяти, включающийся только при серьезных перегрузках системы. Виртуальная память (virtual memory). Между оперативной памятью и диском пе- ремещаются части (сегменты, страницы – см. ниже) образов процессов. В зависимости от способа структуризации виртуального адресного пространства, опре- деляющего преобразование виртуальных адресов в физические, выделяется три класса виртуальной памяти. · Страничное распределение. Единицей перемещения между памятью и диском является страница – часть виртуального адресного пространства фиксированного и небольшого объема. · Сегментное распределение. Единицей перемещения между памятью и диском является сегмент – часть виртуального адресного пространства произвольного объе- ма, содержащая осмысленную с некоторой точки зрения совокупность данных (под- программу, массив и т.д.). · Сегментно-страничное распределение. Объединяет элементы предыдущих клас- сов. Виртуальное адресное пространство структурируется иерархически: делится на сег- менты, а затем сегменты делятся на страницы. Единицей перемещения между памятью и диском является страница. Для временного хранения вытесненных на диск сегментов и страниц отводится либо специальная область, либо специальный файл, обычно называемые странич- ным файлом (page file, paging file) или, по традиции, файлом свопинга. Текущий размер страничного файла влияет на возможности работы ОС следую- щим образом: чем больше файл, тем больше одновременно работающих приложе- ний, но тем медленнее их работа из-за многократной перекачки перемещаемых эле- ментов на диск и обратно. Размер страничного файла в современных ОС является настраиваемым парамет- ром, который выбирается администратором системы для достижения компромисса между числом одновременно выполняемых приложений и быстродействием системы. Этот размер устанавливается в панели управления, пункт «система», вкладка «до- полнительно» – «параметры быстродействия». Страничное распределение · Общая схема Виртуальное адресное пространство каждого процесса делится на части одинако- вого, фиксированного для данной системы размера, называемые виртуальными стра- ницами (virtual pages). В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому последняя страница каждого про- цесса дополняется фиктивной областью. Вся оперативная память машины также делится на части такого же размера, на- зываемые физическими страницами (блоками, кадрами). Для каждого процесса ОС создает таблицу страниц – информационную структу- ру, содержащую записи обо всех виртуальных страницах процесса. Схема страничного распределения памяти приведена на рис. 3.3. При создании процесса его виртуальные страницы загружаются в оперативную па- мять; в случае нехватки последней часть виртуальных страниц может быть вытесне- на на диск. Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах.
Кэширование данных · Память вычислительной машины, представленная совокупностью запоминающих устройств (ЗУ) различных видов, может быть иерархизирована по следующим основ- ным признакам: · время доступа к данным; · объем; · стоимость хранения данных в расчете на один бит. Конкретные значения этих характеристик изменяются очень быстро, поэтому в данном случае важны не столько их абсолютные значения, сколько соотношение для разных типов запоминающих устройств. Иерархия ЗУ приведена на рис. 3.9. Закономерность такова: чем больше быстродействие, тем больше стоимость хра- нения данных в расчете на один бит и меньше объем устройства. Кэш-память пред- ставляет некоторое компромиссное решение этой проблемы. · Кэш-память (cache) – это способ организации совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимос- тью хранения данных, который позволяет уменьшить среднее время доступа к дан- ным за счет динамического копирования в “быстрое” ЗУ наиболее часто используе- мой информации из “медленного” ЗУ. Механизм кэш-памяти прозрачен для пользователя: все перемещения данных де- лаются автоматически системными средствами. Кэш-памятью часто называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств – “быстрое” ЗУ. Оно стоит дороже и, как правило, имеет сравнительно небольшой объем. Медленное ЗУ из этой пары назовем основной памятью, быстрое представлено кэш-памятью. · Кэширование – универсальный метод, пригодный для ускорения доступа к опе- ративной памяти, к диску и другим видам ЗУ. Так, в качестве составляющих пары «основная память – кэш-память» могут выступать: оперативная память – быстро- действующая статическая память; система ввода-вывода – буферы в оперативной памяти (или специальная кэш-память). Функционирование кэш-памяти Рассмотрим одну из возможных схем кэширования. Содержимое кэш-памяти представляет собой совокупность записей обо всех заг- руженных в нее элементах данных из основной памяти. Каждая запись об элемен- те данных включает в себя: - значение элемента данных; - адрес, который этот элемент данных имеет в основной памяти; - управляющую информацию для реализации алгоритма замещения, обычно – признак модификации и признак обращения к данным за некоторый последний период времени. При каждом обращении к основной памяти по физическому адресу просматрива- ется содержимое кэш-памяти с целью определения, не находятся ли там нужные дан- ные. Поиск нужных данных осуществляется по содержимому – взятому из запроса значению поля адреса в оперативной памяти. Далее возможно одно из двух: · произошло кэш-попадание – данные обнаружены в кэш-памяти; они считываются из кэш-памяти и результат передается источнику запроса; · произошел кэш-промах (cache-miss) – нужных данных нет; они считываются из ос- новной памяти, передаются источнику запроса и одновременно копируются в кэш-память. Покажем, что среднее время доступа к данным зависит от вероятности попада- ния в кэш. Пусть имеется основное запоминающие устройство со средним временем доступа к данным t1 и кэш-память, имеющая время доступа t2 (t2<t1). Обозначим через t сред- нее время доступа к данным в системе с кэш-памятью, а через p -вероятность попа- дания в кэш. По формуле полной вероятности имеем: t = t1((1 – p) + t2p. Видно, что среднее время доступа изменяется от среднего времени доступа в основ- ное ЗУ (при р=0) до среднего времени доступа непосредственно в кэш-память (при р=1). Таким образом, использование кэш-памяти имеет смысл только при высокой веро- ятности кэш-попадания. Эта вероятность, в свою очередь, зависит от многих раз- личных факторов. Тем не менее в реальных системах вероятность попадания в кэш очень высока и составляет более 0.9. Такое высокое значение вероятности нахож- дения данных в кэш-памяти связано с наличием у данных объективных свойств: про- странственной и временной локальности. Пространственная локальность. Если произошло обращение по некоторому ад- ресу, то с высокой степенью вероятности в ближайшее время произойдет обращение к соседним адресам. Временная локальность. Если произошло обращение по некоторому адресу, то сле- дующее обращение по этому же адресу с большой вероятностью произойдет в бли- жайшее время. На практике в кэш-память считывается не один элемент данных, к которому про- изошло обращение, а целый блок данных, что увеличивает вероятность попадания в кэш при последующих обращениях. Проблемы кэширования · Вытеснение данных их кэша в основную память В процессе работы содержимое кэш-памяти постоянно обновляется, а значит, пе- риодически данные должны из нее вытесняться. Вытеснение предполагает объявле- ние соответствующей области кэша свободной (сброс бита действительности) и, если вытесняемые данные за время нахождения в кэше были изменены, копирование дан- ных в основную память. Методы выбора данных для вытеснения зависят от способа отображения основной памяти на кэш и базируются на предположениях о свойствах данных. Реально как пра- вило учитывается интенсивность обращения к данным. В некоторых алгоритмах заме- щения предусматривается первоочередная выгрузка модифицированных данных. Из-за непредсказуемости вычислительного процесса ни один алгоритм замещения данных не может быть максимально быстрым и одновременно гарантировать макси- мально возможную вероятность кэш-попаданий. Поэтому разработчики ограничивают- ся рациональными решениями, по крайней мере, не сильно замедляющими работу кэша. · Согласование данных кэша и основной памяти при записи в последнюю Проблема заключается в том, что при записи данных в основную память их копия в КЭШе (если она там есть) становится недостоверной. Для решения этой проблемы типич- ны два подхода. Сквозная запись (write through). Если данные по запрашиваемому адресу отсут- ствуют в кэше, то запись выполняется только в основную память, в противном слу- чае – одновременно в кэш и основную память. Обратная запись (write back). Если данные по запрашиваемому адресу отсут- ствуют в кэше, то запись выполняется только в основную память, в противном слу- чае – только в кэш-память. Во втором случае устанавливается признак модифика- ции, указывающий на необходимость записи данных в основную память при вытес- нении их из кэша.
|
||||
|
Последнее изменение этой страницы: 2017-02-06; просмотров: 1062; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.20 (0.009 с.) |