![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
И виртуальный, и физический адрес при страничном распределении представляются парой (<номер страницы>, <смещение в пределах страницы>).
Пусть (p,sv) - виртуальный адрес некоторого объекта, (n,sf) - его физический адрес, где p, n - номера виртуальной и физической страниц, sv, sf - смещения в пределах страниц для виртуальной и физической страницы соответственно.
Задача подсистемы виртуальной памяти состоит в отображении (p,sv) в (n,sf). Решение этой задачи базируется на двух свойствах страничной организации.
1) Объем страницы выбирается равным степени двойки.
Пусть объем страницы равен 2k, а общий объем памяти равен 2v.
Тогда любой плоский адрес представляется v-разрядным двоичным числом от 0 до 2v -1, а его значение определяется выражением: (<номер страницы>) * 2k + <смещение> (страницы и адреса нумеруются с нуля).
Таким образом, последние k разрядов двоичной записи адреса представляют собой смещение, а первые (v-k) - номер страницы. Начальный адрес страницы можно получить, приписав к номеру k нулей.
Например, при объеме памяти в 4 Гб = 232 и объеме страницы в 4 Кб = 212 число страниц будет равно 232-12, двоичный номер каждой страницы представляется первыми 20 разрядами, а смещение - последними 12 разрядами.
Пусть адрес равен 12 F1 A0 0116. Определим номер его страницы и смещение:
12 F1 A0 0116 = 0001 0010 1111 0001 1010 0000 0000 00012.
16 2
2) Последовательность адресов внутри виртуальной страницы отображается без изменения, т. е. смещения в виртуальном и физическом адресах равны: sv = sf.
Схема преобразования виртуального адреса в физический приведена на рис. 3.4.
Рисунок 3.4 - Схема преобразования виртуального адреса в физический при страничной организации
Помимо введенных выше, использованы следующие обозначения:
a - адрес нужного дескриптора в таблице страниц,
AT - начальный адрес таблицы страниц выполняющегося процесса,
L - длина отдельной записи в таблице страниц (системная константа). Тогда a = AT + (p х L).
На уровне аппаратных схем процессора выполняется следующее:
·Из специального регистра извлекается адрес таблицы страниц.
· На основании этого адреса, номера виртуальной страницы и длины записи таблицы страниц определяется адрес нужного дескриптора.
·Из этого дескриптора извлекается номер соответствующей физической страницы.
· К полученному номеру присоединяется (простым приписыванием, конкатенацией) смещение.
Дата публикования: 2015-10-09; Прочитано: 2394 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!