Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Связь логических и физических адресов при страничной организации файлов

Страничная память

В современных системах управления памятью не принято размещать процесс в оперативной памяти одним непрерывным блоком. В самом простом и наиболее распространённом случае в страничной организации памяти, как логические так и физическое адресное пространство представляется состоящим из набора блоков или страниц одинакового размера. При этом образуется логические страницы (Page), а соотношение единицы физической памяти называют (страничными кадрами) (page frames). Страницы и страничные кадры имеют фиксированную длину, являются степенью числа 2. каждый кадр содержит одну страницу данных. При такой организации внешняя фрагментация отсутствует, а потерь из-за внутренней фрагментации ограничиваются последней страницей процесса. Логический адрес в страничной системе это упорядоченная память (p, d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы р на которой размещен адресный элемент.

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

Система отображения логических адресов в физические сводиться к системе отображения логической страницы в физические и представляет собой таблицу страниц, которая хранится в оперативной памяти. Интерпретация логического адреса …. Если выполняется процесс обращения к логическому адресу V(p,d). Механизм отображения ищет номер страницы р в таблице страниц определяет, что эта страница находиться в страничном кадре р’; формирует реальный адрес из р’ и d. Таблица страниц адресуется при помощи специальных регистров процесса и позволяет определить номер кадра по логическому адресу. Помимо этой задачи при помощи атрибутов записываются в строке таблицы страниц организуется контроль доступа конкретной страницы и её защита. Процесс пользователя не имеет возможности адресовать память за пределами своей таблицы страниц, который включают только его собственные страницы. Для управления физической памятью ОС создаёт таблицу кадров, она имеет одну запись на каждый физический кадр показывающая его состояние.

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

 

40. Существует 2 других схемы организации управления памятью:

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

Программисты пишущие на языках низкого уровня должны явным образом менять значения сегментных регистров. Логическое адресное пространство это набор сегментов, каждый сегмент имеет имя, размер и другие параметры (уровень привилегий, разрешенные виды обращений, флаги присутствия). В отличии от страничной схемы, где пользователь задаёт только один адрес, который разбит на номер страницы и смещение в сегментной схеме, пользователь определяет каждый адрес двумя величинами: именем сегмента и смещение. Каждый сегмент это линейная последовательность адресов начиная с нуля. Максимальный размер сегмента определяется разрядностью процессоров. Размер сегмента может изменяться динамически. В элементе таблицы сегментов помимо физического адреса начала сегмента содержится и его длина, если размер смещения виртуального адреса выходит за пределы размера сегмента, возникает прерывание. Логический адрес это упорядоченная пара, номер сегмента и смещение внутри него. Система где сегмент поддерживаются аппаратно эти параметры хранятся в таблице дескриптора сегмента и программа обращается к этим дескрипторам по номерам, эти номера называются селектора. При этом контекст каждого процесса входит набор сегментных регистров, содержащие селекторы текущих сегментов кода, стека и данных. И определено какие сегменты будут использоваться при разных видах обращения к памяти. Это позволяет процессу уже на аппаратном уровне определять допустимость обращений к памяти упрощая реализацию защиты информации от несанкционированного доступа.

 

Аппратная поддержка сегментов используется в основном на процессорах Intel. В большинстве ОС сегментация реализована на программном уровне, т. К. хранить сегменты большого размера целиком неудобно, то они разбиваются на страницы.

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

1) таблица сегмента связывает номер сегмента с таблицей страниц.

2) отдельная таблица страниц для каждого сегмента.

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

 

<== предыдущая лекция | следующая лекция ==>
Оверлейная структура (Overlay) | Виртуальная память
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 1345; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.