Главная Обратная связь

Дисциплины:






Своппинг (swapping)



● В памяти хранятся не все процессы

● ОС поочерёдно загружает и выгружает процессы из памяти

● Выгруженные процессы хранятся во вторичной памяти

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

● Перемещение

● Ограниченность объёма

● Добавление памяти

● Оверлеи

● Своппинг

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

● Идея: создать иллюзию наличия большого количества памяти

● Первая реализация — ЭВМ Atlas, 1960

● Новое адресное пространство — пространство виртуальных адресов, виртуальное адресное пространство

● Устройство управления памятью (MemoryManagementUnit, MMU) преобразует адреса виртуального пространства в адреса физического пространства

Динамическая трансляция адресов

● Искусственная непрерывность памяти

● Требуется хранить карту трансляции адресов

Проблема: карта трансляции не входит в оперативную память

Блочное размещение

Решение: группировать адреса в блоки

Проблема: какой размер блока выбрать?

Проблема: должны ли все блоки быть одинакового размера?

● Два подхода:

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

● Сегментная организация

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

● Вся виртуальная и физическая память разбиваются на блоки одинакового размера

● Адрес данного -> [номер страницы p, смещение d]

● p -> p'

● p' * ps . d = r

 

● Не требуется хранить в памяти все страницы, принадлежащие процессу

● Усложнение механизма трансляции адресов

● Генерация страничного прерывания (pagefault) при отсутствии страницы в памяти

● Хранение таблицы размещения страниц, состоящая из записей страничной таблицы (PageTableEntry)

Запись таблицы страниц

● Бит резидентности

● Адрес во вторичной памяти

● Базовый адрес физической страницы

Способы трансляции адресов

● Прямое отображение

● Ассоциативное отображение

● Смешанное отображение

● Многоуровневые (иерархические) таблицы

● Обращённые таблицы

Прямое отображение

● Адрес данного -> [номер блока b, смещение d]

● Регистр адреса таблицы размещения a

● a + b -> b'

● b' . d -> r

● Простота

● Таблица получается большой

Ассоциативное отображение

● Применение ассоциативной памяти

● p -> p'

● p' . d -> r

● Скорость

● Дороговизна

Прямое/ассоциативное отображение

● Применение аппаратного ассоциативного буфера быстрой трансляции (TranslationLookasideBuffer, TLB) в качестве кэша PTE



● Компромисс между скоростью работы и стоимость решения

Многоуровневые (иерархические) таблицы

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

● Адрес данного -> [адрес в таблице верхнего уровня p, адрес в таблице нижнего уровня t, смещение d]

● a + p -> b, b + t -> p', p' . d -> r

● Уменьшение фрагментации таблиц

● Возможно замедление работы

Обращённые таблицы

● Хранение одного PTE для каждой физической страницы

● Применение хэш-таблиц

● Фиксированный размер таблицы трансляции

● Необходимо отдельно хранить список нерезидентных страниц

● Возможно снижение скорости

● Возможно применение дополнительной якорной хеш-таблицы





sdamzavas.net - 2020 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...