Студопедия

КАТЕГОРИИ:


Архитектура-(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 frame database). Она представляет собой массив из элементов от нуля до числа страничных фреймов в системе минус 1. Каждый элемент содержит информацию о соответствующем страничном фрейме. База данных страничных фреймов и ее связь с таблицами страниц показана на Рис. 6. Таблицы страниц и база данных страничных фреймов. Действительные элементы таблицы страниц указывают на элементы базы данных страничных фреймов. Диспетчер виртуальной памяти использует этот указатель, когда процесс обращается по действительному виртуальному адресу, чтобы найти физическую страницу, соответствующую виртуальному адресу.

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

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

 

Рис. 6. Таблицы страниц и база данных страничных фреймов

В любой момент времени страничный фрейм может находиться в одном из шести состояний:

· Действительный – страничный фрейм используется процессом и на него указывает действительный элемент таблицы страниц;

· Обнуленый – страничный фрейм свободен и инициализирован нулями;

· Свободный -страничный фрейм свободен, но не инициализирован;

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

· Измененный аналогично резервному, но процесс, использовавший данный страничный фрейм, осуществил запись в него и содержимое еще не записано на диск. Соответствующий элемент таблицы страниц недействителен, но помечен как переходный;

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

 

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

 

Рис. 7. Списки страниц в базе данных страничных фреймов

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

Если диспетчеру виртуальной памяти требуется инициализированный нулями страничный фрейм для обработки страничной ошибки, то он пытается взять первый из списка обнуленных, если этот список пуст, то диспетчер выбирает фрейм из списка свободных и обнуляет его. Если диспетчеру не нужна инициализированная страница, то он берет первую из списка свободных; если этот список пуст, то используется первая из списка обнуленных. Если оба списка пусты, то используется список резервных. Когда количество страниц в списках обнуленных, свободных и резервных снижается до порогового значения, поток под названием средство записи измененных страниц (modified page writer) пробуждается и записывает содержимое измененных страниц на диск, после чего помещает их в список резервных. (см. Рис. 8. Диаграмма состояний страничных фреймов).

Рис. 8. Диаграмма состояний страничных фреймов

<== предыдущая лекция | следующая лекция ==>
Стратегия подкачки и рабочие наборы | Виртуальная память
Поделиться с друзьями:


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


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



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




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