Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

СПО (2 семестр). Лабораторная работа №2

Алгоритмы замещения страниц виртуальной памяти

Краткая теория

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

Так как количество страниц физической памяти меньше чем количество страниц виртуальной памяти возникает необходимость замещения отображённых страниц страницами, необходимыми для продолжения работы процессов. Сложность принятия решения, какую страницу можно переместить во внешний файл (своп), вызвана тем, что информация о последующих обращениях к памяти процессами отсутствует. Однако эффективные алгоритмы замещения страниц построить можно, так как работа процессов характеризуется принципом локальности: в некоторый промежуток времени любой процесс обращается к ограниченному набору страниц, которые составляют рабочий набор на этот промежуток времени.

Алгоритм замещения страниц накапливает статистику обращения к памяти (исследуются бит обращения и/или бит модификации каждой страницы) и при необходимости выбирает “самую ненужную страницу”, перемещает её содержимое во внешний файл (своп) и отдаёт освободившуюся физическую страницу для нового отображения.

НЕ нашли? Не то? Что вы ищете?

Исходные данные

В системе есть N страниц физической памяти. Каждой виртуальной странице соответствует ровно одна физическая страница.

В системе есть несколько процессов. Каждый процесс имеет собственное виртуальное адресное пространство, число страниц в котором может быть как меньше, так и больше чем N. Любая физическая страница может быть отображена в виртуальное адресное пространство только одного процесса.

Каждый процесс периодически обращается к какой-то своей странице. Это может быть как новая страница, или та к которой было обращение в прошлый раз, но все процессы характеризуются локальностью обращений (90/10). Обращение может быть чтением или записью (50/50).

В системе используется один из алгоритмов замещения страниц. Страницы замещаются по требованию (demand paging). В системе есть таймер и по необходимости могут быть запущены дополнительные системные процессы, например, фоновый процесс для различных проверок состояния памяти.

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

В системе присутствует своп, который реализовывать не надо, но необходимо различать страницы, перемещённые в своп от страниц, к которым ещё не было обращений.

Задание на работу

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

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

Алгоритм замещения страниц выбирается по варианту (определяется по номеру зачётной книжки, последние_две_цифры mod 5 + 1):

1. NRU, не использовавшаяся в последнее время страница.

2. Алгоритм "часы", модифицированный алгоритм "вторая попытка".

3. Алгоритм "aging", модифицированный NFU.

4. Алгоритм "рабочий набор".

5. Алгоритм WSClock.

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

Отчёт

1. Описание алгоритма замещения страниц.

2. Описание структур данных представляющих виртуальную память, с показом зависимостей по данным.

3. Листинг основной части программы.

4. Выводы: описание достоинств и недостатков реализованного алгоритма

замещения страниц.

Электронная версия (сеть КПИ)

ftp://vt513.comsys. ntu-kpi. /pub/edu/spo2/lab2-2.doc