Виртуальная память. Защита памяти и управление доступом. Управление виртуальной памятью

Страницы работы

Фрагмент текста работы

Виртуальная память .

Страничная организация .

  ОП разделяется на ряд непрерывных блоков равной длины. Обычно размер блоков  512  или 1024 слов (2-4  КВ) .  Не требуется , чтобы программы и данные занимали непрерывные области памяти , вместо этого они распределяются в ОП на страничной основе. Любой блок ОП м.б. назначен любой странице. При этом мы уже не сталкиваемся с проблемой фрагментации т.к. размер страницы ВП обычно равен размеру блока ОП. Но существует проблема внутренней фрагментации из-за неполного заполнения страницы.

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

  Типичная строка таблицы страниц выглядит следующем образом :

 r - бит присутствия страницы в ОП   (0 - нет , 1 - есть) , если  страницы нет , то s - ее адрес во   внешней памяти , а если  есть , то p` - номер ее блока. p` - не действительный адрес ОП.

Чтобы найти адрес ОП надо p` умножить на размер   блока. Таблица прямого отображения страниц м.б. очень большой и хранится обычно в ОП, и на поиск в таблице тратятся системные ресурсы. Поэтому необходимы более высоко скоростные способы преобразования адресов. Одним из способов является размещение таблицы в высокоскоростной КЕШ - памяти, другой - использование ассоциативной памяти.

  Ассоциативная память - память, в которую к ячейкам обращаются по их содержимому , а не по их адресу. Поиск в ассоциативной памяти выполняется параллельно (но только по одному полю записи ) благодаря существующей аппаратурной реализации ассоциативной памяти . Когда работающая программа обращается по виртуальному адресу V=( p, d ) , все  строки таблицы , хранящиеся в ассоциативной памяти , одновременно сравниваются с адресом страницы f . Находится нужная строка , p` - адрес блока , d - смещение , p` + d - реальный адрес .

  Чтобы концепцию ВП можно было реализовать на практике , необходимо обеспечить быстрое динамическое преобразование адресов . Однако применение КЭШ - памяти для реализации  чисто прямого отображения  или ассоциативной памяти для реализации чисто ассоциативного отображения  обходится слишком дорого .

 Нужна некая компромиссная схема , которая обладала бы основными преимуществами методов , использующих КЭШ - память или АП , по которой обходилась бы гораздо дешевле .

Ассоциативно - прямое отображение .

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

 Динамическое преобразование адресов в данном случае осуществляется следующим образом . Когда работающая программа обращается к виртуальному адресу V=( p , b ) , механизм преобразования адресов сигнала пытается найти структуру p частичной ассоциативной таблицы . Если страница там есть , то ассоциативная таблица выдает p` как номер кадра , соответствующего виртуальной страницы p и p` сцепляется со смещением

Похожие материалы

Информация о работе