Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
235
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

6.6 Организация виртуальной памяти

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

Страничное, сегментное и странично-сегментное распределение

Пользователю предоставляется адресное «пространство», соответствующее всему объему внешней памяти. Это пространство получило название виртуальной памяти. Все виртуальное пространство разбивается на сегменты и страницы. Страницы имеют фиксированный размер и размещаются как в ОП, так и на дисках. Размер страницы обычно составляет 4 Кбайт и кратен емкости сектора на магнитном диске. Информация о текущем местонахождении страницы указывается в таблице (всегда находящейся в ОП) преобразования адресов. При простейшей страничной организации виртуальный адрес включает номер страницы VA и смещение внутри нее Aсм, см. рисунок 6.х. Номер страницы VA используется для обращения в таблицу преобразования адресов, каждая строка которой содержит указатель X наличия этой страницы в ОП и ее адрес. При наличии страницы в ОП, т.е. когда бит указателя установлен в единицу, происходит обращение к ячейке по адресу АД = Астр + Aсм.

VA Aсм

ОП

Астр

Блок замены страниц

НМД

Рисунок 6.х Организация виртуальной памяти

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

Рисунок 6.х Преобразование адреса при сегментно-страничной организации памяти

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

Стратегия замены страниц оказывает серьезное влияние на производительность всего компьютера, особенно, если объем оперативной памяти невелик. Такая стратегия определяет, как выбирать подлежащую замене страницу в ОП на «новую» страницу из дисковой памяти. Эти стратегии основаны на анализе моментов записи страницы в ОП (FIFO) или анализе моментов времени, когда к странице происходило последнее обращение (LRU).