Организация распределения виртуальной памяти

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 22.12.2010
Размер файла 239,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Организация распределения виртуальной памяти

1. Понятие распределения виртуальной памяти

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

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

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

Т.о., виртуальная память (ВП) - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся ОП.

Для этого ВП решает след. задачи:

Ё размещает данные в ЗУ разного типа, например, часть программы в ОП, а часть на диске;

Ё перемещает данные по мере необходимости между ЗУ разного типа, например, подгружает нужную часть программы с диска в ОП;

Ё преобразует виртуальные адреса в физические.

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

виртуальный память программа оперативный

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

Рис. 1. Страничное распределение памяти

Виртуальное адресное пространство каждого процесса (пр.1 и пр.2, см. рис. 1) делится на части фиксированного размера, называемые виртуальными страницами. Размер виртуального адресного пространства в общем случае не является кратным размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью. Вся ОП ЭВМ делится на части такого же размера, называемые физическими страницами (или блоками).

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

Часть виртуальных страниц процесса при его загрузке помещается в ОП, а часть на жесткий диск. ОС при загрузке процессора формирует для него отдельную информационную структуру - таблицу страниц, в которой устанавливается соответствие виртуальных страниц с определенными номерами (N в.с.) физическим страницам с определенными номерами (N ф.с.). Также в таблице страниц содержится управляющая информация (УИ): признак модификации страницы, признак невыгружаемости (выгрузка некоторых страниц может быть запрещена), признак обращения к странице (используется для подсчета обращений к странице за определенный период времени), а также некоторые другие данные создаваемые и используемые механизмом ВП.

При активизации очередного процесса в регистр адреса таблицы страниц считывается адрес таблицы страниц этого процесса.

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

Ё дольше всего не использовавшаяся страница;

Ё первая попавшаяся (случайная) страница;

Ё страница, к которой было меньше всего обращений.

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

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

Рассмотрим механизм преобразования виртуального адреса в физический при страничной организации памяти (см. рис. 2).

Рис. 2. Механизм преобразования виртуального адреса

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

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

2. Из этой записи извлекается номер физической страницы;

3. К номеру физической страницы присоединяется смещение, т.е. младшие разряды ВА (путем конкатенации).

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

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

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

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

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

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

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

Рис.3. Распределение памяти сегментами

Система с сегментной организацией функционирует аналогично системе со страничной организацией.

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

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

Виртуальный при сегментной организации представлен парой чисел (g, s), где первое - номер сегмента, второе - смещение внутри сегмента.

ФА получается путем сложения начального ФА сегмента, найденного в таблице сегментов по номеру g, и смещения s. Операция сложения является более медленной, что в целом оказывает отрицательное влияние на быстродействие машины. Еще одним недостатком сегментной организации также является фрагментация на уровне сегментов.

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

Данный метод сочетает в себе достоинства обоих подходов, представляя собой их комбинацию. Всё виртуальное адресное пространство процесса делится на сегменты, а каждый сегмент - на страницы. ОП при этом делится на физические страницы. Загрузка процесса в ОП осуществляется постранично. ОС при загрузке процесса создает таблицу сегментов (TS) процесса. Для каждого сегмента создается своя таблица страниц (TP), структура которой полностью аналогична структуре таблицы страниц при страничном распределении. Адрес таблицы сегментов загружается в специальный регистр процессора, когда активизируется соответствующий процесс. В таблице страниц находятся адреса таблиц страниц для всех сегментов данного процесса. По схеме, приведенной на рисунке 4, виртуальный адрес преобразуется в физический.

Рис.4. Схема преобразования виртуального адреса в физический

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

Если в системе реализовано такое устройство, то преобразование ВА в ФА осуществляется по такому принципу, называемому динамическим преобразованием адресов (см. рис. 5): ВА, представленный парой чисел (g,p) передается в качестве поискового признака в АЗУ, т.о. VAi первый появляется в ячейке А буфера. Вторым полем ячейки является ФА страницы в ОП. При обнаружении совпадения VAi с содержимым памяти из соответствующей ячейки Асс. Буфера, извлекается соответствующий ФА страницы, позволяющий сформировать полный ФА элемента данных в ОП. Если же VAi не совпадает ни с одной ячейкой АЗУ, то преобразование осуществляется обычным способом через таблицы сегментов и страниц. Эффективность применения динамического преобразования адресов определяется тем, насколько редко используются табличные преобразования. Как правило, при первом обращении к странице, расположенной в ОП, ФА определяется с помощью таблиц и загружается в соответствующую ячейку АЗУ, с тем чтобы последующие обращения к странице могли выполняться с использованием АЗУ.

Рис. 5. Механизм динамического преобразования адресов

Разновидностью виртуальной памяти является свопинг.

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

На рис. 6 показан график зависимости коэффициента загрузки про цессора в зависимости от числа одновременно выполняемых процессов и до ли времени, проводимого этими процессами в состоянии ожидания ввода-вывода.

Рис 6. Зависимость загрузки процессора от числа задач и интенсивности ввода/вывода

Экспериментально выведена зависимость загрузки процессора от числа одновременно выполняемых задач и от интенсивности вв/выв. Из рисунка видно, что для того, чтобы загрузить процессор на 90%, достаточно 3-х задач с небольшой интенсивностью ввода-вывода, а чтобы обеспечить такую же загрузку интерактивными задачами с интенсивным вводом-выводом, потребуется 10 таких задач. Объем же ОП ограничен. Чтобы увеличить уровень мультипрограммирования, и был предложен метод организации вычислительного процесса, называемый свопингом. В соответствии с этим методом некоторые процессы (задачи), обычно находящиеся в состоянии ожидания, целиком могут отгружаться (откачиваться) на диск, а на их место подгружаться другие. При этом программа-планировщик ОС не исключает их из своего рассмотрения и при наступлении условий, в которых возможно выполнять некоторую задачу, находящуюся в области свопинга на диске, эта задача перемещается в ОП. Существуют различные алгоритмы отгрузки процессов на диск и подкачивания других процессов, а также различные способы выделения оперативной и дисковой памяти загружаемому процессу.

Размещено на Allbest.ru


Подобные документы

  • Распределение виртуальной памяти. Страничная и сегментная организации виртуальной памяти. Сегментно-страничная организация виртуальной памяти. Преобразование виртуального адреса в физический. Упрощение адресации памяти клиентским программным обеспечением.

    курсовая работа [440,7 K], добавлен 04.03.2014

  • Архитектура компьютеров и возможности операционной системы по управлению памятью. Суть концепции виртуальной памяти. Аппаратно-независимые и аппаратно-зависимые средства управления виртуальной памятью. Сегментно-страничная организации виртуальной памяти.

    презентация [355,2 K], добавлен 27.12.2010

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

    лекция [1,5 M], добавлен 24.01.2014

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

    контрольная работа [236,2 K], добавлен 23.12.2016

  • Внутренний кэш. Смешанная и разделенная кэш-память. Статическая и динамическая память. TLB как разновидность кэш-памяти. Организация кэш-памяти. Отображение секторов ОП в кэш-памяти. Иерархическая модель кэш-памяти. Ассоциативность кэш-памяти.

    курсовая работа [229,1 K], добавлен 04.11.2006

  • Стратегии размещения информации в памяти. Алгоритмы распределения адресного пространства оперативной памяти. Описание характеристик модели и ее поведения, классов и элементов. Выгрузка и загрузка блоков из вторичной памяти. Страничная организация памяти.

    курсовая работа [708,6 K], добавлен 31.05.2013

  • Хранение различной информации как основное назначение памяти. Характеристика видов памяти. Память типа SRAM и DRAM. Кэш-память или сверхоперативная память, ее специфика и области применения. Последние новинки разработок в области в оперативной памяти.

    презентация [2,1 M], добавлен 01.12.2014

  • Понятие памяти, функции ОC по управлению работой печатающих уcтройcтв в MS-DOS. Формирование новых cимволов для матричного принтера, разработка команд для загрузки cимволов в оперативную память принтера и программы, реализующей заданный процеcc печати.

    курсовая работа [2,6 M], добавлен 24.06.2011

  • Память персонального компьютера, виды и их характеристика. Классификация памяти компьютера. Кэш память как память с большей скоростью доступа, предназначенная для ускорения обращения к данным. Гибкие магнитные диски, CD-ROM, DVD-ROM и флэш-память.

    презентация [1,8 M], добавлен 15.11.2011

  • Обобщение основных видов и назначения оперативной памяти компьютера. Энергозависимая и энергонезависимая память. SRAM и DRAM. Триггеры, динамическое ОЗУ и его модификации. Кэш-память. Постоянное запоминающее устройство. Флэш-память. Виды внешней памяти.

    курсовая работа [1,7 M], добавлен 17.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.