Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPO_na_ekz_1.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
424.82 Кб
Скачать

29. Виртуальная память и свопинг. Реализация виртуальной памяти.

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

• Это явление называется виртуализацией памяти

• Виртуальным называется ресурс, который пользователю представляется обладающим свойствами, которыми он

на самом деле не обладает

Виртуализация памяти может быть осуществлена на основе двух различных подходов:

  • свопинг – образы процессов выгружаются на диск и возвращаются в ОП целиком

  • виртуальная память – между ОП и диском перемещаются части процессов

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

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

образы полностью

• Системы со свопингом не способны загружать для выполнения процесс, ВАП которого превышает имеющуюся в наличии свободную память

• Свопинг в современных системах обычно включается при серьезныхперегрузках

В настоящее время чаще используется более совершенный механизм ВП

• Ключевой вопрос в ВП – преобразование ВА в ФА

• Ответ на этот вопрос зависит от способа структуризации памяти

Все множество реализаций ВП может быть представлено тремя классами:

  • Страничная ВП

  • Сегментная ВП

  • Сегментно-страничная ВП

30. Страничное распределение памяти. Преобразование виртуальных адресов в физические.

Для временного хранения сегментов и страниц на внешнем носителе отводится отдельный раздел или специальный файл, который во многих ОС по традиции называют файлом подкачки

• Его второе название – страничный файл

• Размер этого файла является важным настраиваемым параметром для достижения компромисса между уровнем

мультипрограммирования и быстродействием.

//ВАП каждого процесса делится на части одинакового, фиксированного для определенной системы размера

• В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому

последняя страница каждого процесса дополняется фиктивной областью

• Вся ОП вычислительной машины делится на части такого же размера, и они называются физическими

страницами (или блоками, или кадрами)

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

• Копия всего ВАП находится на диске

• Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах Для каждого процесса создается таблица страниц – информационная структура с записями обо всех виртуальных страницах процесса

• Запись этой таблицы – дескриптор страницы, включает следующую информацию:

  • номер физической страницы

  • признак присутствия

  • признак модификации страницы

  • признак обращения к странице, называемый иногда битом доступа

  • признак защиты страницы (обычно три бита) для допуска и запрета на операции чтения, записи и выполнения;

  • признак блокирования кэша и др

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

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

• Если данная страница уже находится в ОП, то выполняется преобразование ВА в ФА

• Если нужная виртуальная страница находится на диске, то происходит так называемое страничное прерывание.

Преобразование ВА в ФА

ВА при страничном распределении – пара чисел (P, O), где P – номер виртуальной страницы процесса (начиная с 0), а O –смещение в пределах виртуальной страницы

• Поскольку размер страницы равен 2k, смещение O получается отделением k младших разрядов в двоичной записи ВА

• Оставшиеся старшие разряды представляют собой двоичную запись номера страницы P При каждом обращении к ОП аппаратура выполняет следующие действия:

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

2. Из найденной записи извлекается номер физической страницы

3. К номеру физической страницы присоединяется смещение, то есть младшие разряды ВА

На производительность системы со страничной организацией памяти влияют временные затраты, связанные с

обработкой страничных прерываний и преобразованием ВА в ФА

• При часто возникающих страничных прерываниях система может затратить большую часть времени на страничный обмен

• В современных системах чаще всего размер страницы устанавливается равным 4, 8, 16 Кб, однако чаще стали

встречаться страницы 32 Кб

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]