Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Организация виртуальной памятиВиртуализации можно подвергнуть не только реальную ОП, но и регистровую, и даже внешнюю. При использовании специальных программно-аппаратных средств многоуровневой физической памяти в составе ОС м.б. построени своя виртуальная память для каждого или нескольких уровней. Причем предполагается функциональное расслоение виртуальной памяти по уровням, эквивалентным уровням реальной памяти. Такую схему построения виртуальной памяти называют вертикальной. На каждом уровне виртуальной памяти можно добиться различной степени виртуальности, под которой понимается степень отличия свойств уровная виртуальной памяти от соответсвующего ему уровня реальной памяти. К свойствам уровня можно отнести, например, удобство программирования, способ доступа к памяти, технические характеристики - объем доступного пространства памяти, время доступа и т.д. Такие отличия не представляется выразить количественно из-за множественности и нестандартности свойств как реальной, так и виртуальной памяти. Поэтому используют только качественныые оценки. Если на одном или более уровнях допускается расслоение виртуальной памяти, то такую схему называют горизонтальной. Если ВС имеет виртуальную память с вертикально-горизонтальным расслоением, то пользователь может работать с любым уровнем памяти. Каждый тип физической памяти имеет некоторую среду хранения, составленную из однотипных элементов. Каждый элемент способен хранить информацию и является адресуемым в соответсвии с принятыми способами адресации. Все множество адресов элементов хранения информации, упорядоченное по какому.то признаку, называется адресным пространством памяти. Форма задания адреса полностью определяется механизмом доступа к элементам хранения, принятым для данной памяти. В простейшем случае - это механизм физической адресации конкретного вида памяти, реализованный аппаратно. Он может послужить основой для построения более сложного механизма доступа, который реализуется уже, как правило, в программно-аппаратной форме, более удобной для пользователя данного механизма. Например, может быть использовано некоторое символьное имя. Предполагается, что оно должно однозначно определять некоторый элемент хранения среди прочих, адресуемых также по именам в соответсвии с установленными правилами адресации. Это и есть средство виртуализации физического адресного пространства памяти. Пользователь не имеет непосредственного доступа к механизму физической адресации, а лишь к его программному слою. Этот слой составляют процессы, которые обеспечивают необходимое преобразование каждого виртуального адреса в физический. При построении программно-аппаратных механизмов доступа возникает необходимость установить связи с другими системными процессами, поскольку при решении задач преобразования виртуальных адресов в физические необходимо решить ряд сопутствующих задач. Для этого в архитектуру ВС вводят ряд специальных средств. Существуем много схем преобразования адрса. Общим для них является то, что решение происходит без участия пользователя. При построении виртуальной ОП необходимо распределять не только виртуальное адресное пространство и адресное пространство ОП, го и адресное простронство ВП. Это обусловлено тем, что виртуальное адресное пространство отображается на адресное пространство ка ОП, так и ВП. При построении виртуальной ОП применяют несколько способов адресации в пределах как виртуального, так и физического адресного пространства. Различают два класса схем структуризации. Схемы первого класса называют схемами страничной структуризации,а схемы второго - схемами сегментной структуризации. При страничной структуризации исходное адресное пространство, которое должно быть подвергнуто структуризации, представляет собой непрерывную возрастающую последовательность целых чисел, каждое из которых является адресом некоторого элемента хранения. Два соседних адреса отлияаются на 1. (0 £ А £ N-1, где Аi-1 -Ai =1) Группировка адресов происходит по следующему принципу. При известном размере исходного адресного пространства N в каждую группу, называемую страницей, должно входить одинаковое число адресов L. Обычно размер адрснрого пространства кратен 2 (N=2n), и размер страницы тоже (L=2m). Таким образом можно получить 2n-m страниц. В результате проведенной группировки получено новое адресное пространство, представляющее собой последовательность номеров страниц: k=0, 1, 2, ..., 2n-m-1 Группировка адресов по страницам и нумерация страниц - это первый шаг структуризации. Второй шаг заключается в том, сто производится перенумерация адресов в пределах каждой страницы. Ее рассматривают как отдельное адресное пространство в пределах адресов от 0 до 2m-1. Такие адреса внутри страницы называют смещением (R). После проведения второго шага труктуризации одномерное адресное пространство превращено в двухмерное. Теперь адрес задается двумя значениями - значением номера страницы и значением смещения в данной странице. Между странично структурированным и исходным устанавливается взаимно однозначное соответствие. Для перехода из исходного в странично-структуртрованное адресное пространство достаточно двоичное изображение адреса исходного адресного пространства представить состоящим из двух полей. Первое поле состоит из m разрядов двоичного изображения адреса и содержит при данном рассмотрении значение смещения R. Старшие n-m разрядов двоичного изображения рассматриваются как поле для изображения номера страницы k. Для перехода из странично-структурированного адресного пространства в исходное одномерное можно воспользоваться выражением вида: A= kL+R. Выражение для преобразования адресов из странично-структурированного адресного пространства в адреса непрерывного адресного пространства декларирует хорошо известный принцип адресации «база+смещение». В качестве базы выступает величина kL. Чтобы не выполнять при вычислении значения А два действия - сложение и умножение, производят т.н конкатенацию.Из адреснной пары структурированного адреса необходимо двоичное изображение номера страницы k переместить в старшие n-m разряды двоичного изображения непрерывного адреса. Соответственно двоичное изображение смещения R из адресной пары необходимо переместить в младшие m разрядов. Рассмотренный вариант структутрирования адресного пространства называют структурированием фиксированными страницами. Известен и используется также вариант структурирования переменными страницами. Как и в первом варианте, на первом шаге структуризации необходимо произвести перегруппировку адресов в страницы в исходном адресном пространстве. Но теперь допускается, что число адресов в составе каждой страницы может различаться в установленном диапазоне. Базовые адреса страниц, длины которых уже не кратны 2, и м.б различны. Поэтому по значению номера страницы и длине уже невозможно определить ее базовый адрес. Поэтому каждой странице адресного пространства поставлен в соответсвие абсолютный базовый адрес Aio. Для задания адреса в двухмерном пространстве также используют адресную пару вида (Aio, R) При сегментной структуризации на первом шаге структуризации исходного адресного пространства производят объединение адресов в группы, которые в данном случае носят название сегментов. Размеры сегментов различаются, но находятся в диапазоне l £ ls £ N Каждый сегмент получает номер s. Упорядочение номеров необязательно. Номер сегмента выступает как идентификатор, имя сегмента. На втором шаге структуризации каждому сегменту ставится в соответствие его базовый адрес As. Т.е. адрес начала сегмента в непрерывном исходном адресном пространстве. В результате сегмент определяется своими координатами (s, As). В каждом сегменте происходит перенумерация адресов и смысл смещения остается прежним. Введение смещения - жто переход к трехмерному представлению адресного пространства. На практике используют и комбинированные схемы структурирвоания, называемые сегментно-страничными. Исходное непрерывное адресное пространство сначала подвергается структурированию фиксированными страницами. Далее происходит еще одна группировка. Сегмент рассматривается уже как непрерывная последовательность номеров страниц в промежуточном странично-структурированном адресном пространстве. Размер сегмента - это колическо страниц, входящих в состав сегмента. Затем в пределах сегмента происходит перенумерация страниц от нуля в возрастающем порядке. Поскольку размеры сегментов различны, невозможно определить его базовый адрес. Поэтому при формировании сегмента ему должен быть назначен базовый адрес. Адрес в полученном сегментно-страничном пространстве задается с помощью четырех координат: номера сегмента, базового адреса сегмента, номера страницы в пределах сегмента и смещением. Структуризация памяти облегчает процесс программирования и повышает эффективность работы ОС в части управления рсурсами ОП и процессора. Системные требования к виртуальной памяти прежде всего заключаются в увеличении степени использования ОП при параллельном развитии некоторого числа процессов в мультипрограммном режиме. Помимо исключения потерь памяти необходимо джостигнуть такого распределения ОП, чтобы не вызывать ощутимых задержек процессов при обращении к данным, которые они обрабатывают. При этом необходимо распределить память так, чтобы достигнуть развития максимально возможного числа параллельных процессов, минимально мешающих друг другу из-за ресурса памяти и тем самым поднять пропускную способность системы. Основными являются требования: · должен быть вызван квант данных, вероятность использования которых в последующий момент наибольшая; · требуемый квант данных должен быть вызван в самый последний момент и было бы возможно освобождать ОП в любой момент после ее использования; · должна быть предусмострена возможность перераспределения внутри ОП или сброса из во ВП с последующим вызовом; · должна быть предусмострена возможность располагать большие массивы, представляющие собой единую линейную последовательность данных, в различных участках ОП отдельными квантами. Использование виртуальной памяти дает возможность системе достаточно просто решать еще ряд важных задач. Например, эффективное использование программных ресурсов, реализация защиты информации при развитии процессов, обеспечение взаимодействия между процессами и т.д. Программа, поступающая от отдельного пользователя для погружения в виртуальную память, представлена, по сути, двумя компонентами - неким программным текстом и адресными пространством, в пределах которого используются адреса в составе данной программы. Программный текст логически состоит из двух частей - кодового сегмента и данных. Они могут быть структурированны определенным образом, т.е. разбиты на некоторые логически обособленные части. Такое разбиение распространяется и на адресное пространство. Имеется две возможности общения пользователя с виртуальной памятью. 1. Пользователь пишет программы без структуризации в пределах непрерывного адресного пространства, которое представдяется в его распоряжение механизмом виртуальной памяти. Каждый адрес рассматривается пользователем при программировании как адрес слова ОП, которая выделяется ему (в его представлении) как физически непрерывная область. Размер области м.б. больше размера реальной ОП. Два пользователя могут использовать в программе одно и то же значение адреса, но при параллельном исполнении программ эти виртуальные адреса будут преобразованы в различные адреса реальной памяти. 2. Пользователь пишет уже структурированную программу. Каждый структурированный элемент, например сегент, - это функционально обособленный элемент программы и должен создаваться в соответсвии с правилами программирования в своем собственном непрерывном виртуальном адресном пространстве. Т.о. виртуальное адресное пространство пользователя должно быть структурировано по схеме сегментной структуризации. Каждая программа, которая погружается в виртуальную память, должна быть подвергнута структуризации. Если программа на выходе не структурирована, то структуризацию проводят соответсвующие программные средства - трансляторы, или специальные программно-аппаратные средства. Это необходимо… т.к. отдельные программные элементы хранятся на уровне ВП и при развитии программных процессов происходит динамическая пересылка требуемых текстов (или их частей) на уровень физической ОП. Уровень ВП используется для хранения архива информации, в котором хранятся как копии, так и оригиная информации, помещенной в виртуальную память. В ОП хранится информация, непосредственно используемая процессами. В ряде случаев - это копии информации из архива. Поэтому эти среды хранения соответсвенно называют архивной и рабочей. Структуризация программ позволяет прежде всего наиболее просто и эффективно решать системную задачу распределения рабочей и архивной сред при помещении в них программ. Вопрос построения механизма, автоматически перемещающего информацию в рабочую среду из архивной при обращении к ней в ходе развития активного процесса, является самым важным при построении виртуальной ОП. Построение механизмов основано на решении четырех взаимосвязанных задач управления виртуальной памятью: · размещение · перемещение · преобразование · замещение Каждая задача решается по-разному, в зависимости от выбранной схемы функционирования виртуальной памяти. В результате решения задачи размещенияв адресном пространстве ОП выбираются страницы или сегменты, на которые будут отображаться некоторые страницы или сегменты виртуального адресного пространства. При решении задачи перемещенияв архивной среде хранения выбирается та информация, котроая принадлежит отображаемой виртуальной странице или сегменту. Эта информация переносится в страницу(сегмент) ОП, найденную в результате решения задачи размещения. По мере решения задачи преобразованиянаходят абсолютный адрес слова в рабочей среде хранения по его виртуальному адресу. Решением задачи замещенияявляется выбор среди прочих страниц адресного пространства ОП кандидата на перераспределение. Решение проводится по мере решения задачи размещения в ситуации, когда обнаружится отсутсвие свободных страниц, на которые можно было бы вести отображение. Для удовлетворения требований по достижению системной эффективности широко используют частотный принцип. Механизм управления виртуальной памятью строят т.о., чтобы длинные действия при решении задач управления выполнялись по возможности реже, а короткие - чаще. Организация коротких действий в значительной мере поддерживается аппаратно, а длинные - программно.
Дата добавления: 2014-11-24; просмотров: 497; Нарушение авторских прав Мы поможем в написании ваших работ! |