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

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

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

Они могут находиться в одном из состояний:

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

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

соответствующего страничного блока. Если в памяти этой страницы нет

– страничное прерывание и загрузка страницы с диска.

- зарезервированная – страница зарезервированная для определенного потока, доступ к ней запрещен, пока резервирование не будет снято.

Теневые страницы располагаются на диске.

Теневые страницы – все фиксированные страницы имеют копию на диске.

Теневые страницы создаются только для фиксированных страниц.

- Теневые страницы для изменяемых страниц (данные, стек) находятся в файлах подкачки. Файлов подкачки может быть до 16 штук.

- Теневые страницы неизменяемых данных (код программы, библиотеки) располагаются в файлах этих программ и библиотек.

Расположение теневых страниц на диске

22. Управление памятью в Windows

Управление памятью осуществляет менеджер виртуальной памяти – VMM (Virtual Memory Manager).

За каждым процессом закрепляется собственная виртуальная память – 4 Гигабайта. При выделении области памяти процессу создается описатель виртуальной памяти: VADVirtual Address Descriptor, который помещается в список описателей. VAD диапазон отображаемых адресов// файл подкачки// смещение в файле// режим доступа//каталог таблиц страниц

Vad диапазон отображаемых адресов // файл подкачки// смещение в файле// режим доступа// каталог таблиц страниц//

Формат записи в таблице страниц

G - глобальная страница

L - большая страница (4 М)

D - грязная страница

A - к странице были обращения

C - кэширование разрешено/запрещено

Wt- сквозная запись (без кэширования)

U - к странице возможен доступ в режиме пользователя

W - запись в страницу разрешена

V - действительная запись в таблице (страница в памяти)

23.Порядок доступа к памяти. Типы страничных прерываний

Порядок доступа к памяти:

1.Процесс обращается к VMM с виртуальным адресом

2.VMM по значению виртуального адреса из таблицы станиц берет запись о соответствующей странице виртуальной памяти

3.Анализирует права по доступу к данной странице памяти

4.Анализирует бит присутствия (V)

5.Если V=1, то преобразует адрес в физический и дает доступ процессу

6.Если V=0, то генерируется страничное прерывание.

7.Соответствующий поток переводится в состояние ожидания

8.Обработчик страничных прерываний находит образ страницы на диске и пытается его загрузить его в память

9.Если в памяти есть место, то образ загружается, модифицируется таблица страниц и к странице предоставляется доступ процессу

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

Типы страничных прерываний:

1.Страница, к которой обращаются – не фиксирована. – фатальная ошибка.

.2Произошло нарушение защиты – фатальная ошибка.

3.Попытка записи в совместно используемую страницу – копирование при записи.

4.Стеку требуется дополнительная память – необходимо выделить процессу новый страничный блок, при этом – обнуленный.

5.Страница, к которой обращаются – фиксирована, но не находится в памяти – необходимо загрузить эту страницу из образа на диске.

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