1. Какой алгоритм замены страниц используется, если заданы следующие данные: объем области замещения оперативной памяти
1. Какой алгоритм замены страниц используется, если заданы следующие данные: объем области замещения оперативной памяти (резидентное множество) - 4 страницы, количество различных страниц - 16, последовательность обращения к страницам - задана, алгоритм замены - "вторая попытка"?
2. Какие результаты работы модели должны быть включены и сколько страничных прерываний произойдет после каждого поступления новой страницы в память?
2. Какие результаты работы модели должны быть включены и сколько страничных прерываний произойдет после каждого поступления новой страницы в память?
Shura 40
1. Алгоритм замены страниц "вторая попытка" (или TLRU - "Two-Level-Recency-Usage") работает следующим образом. Каждая страница в оперативной памяти получает два бита состояния: бит использования (R - reference) и бит присутствия в памяти (M - modified).Исходя из заданных данных, объем области замещения оперативной памяти составляет 4 страницы, а количество различных страниц - 16. Последовательность обращения к страницам также задана.
Для работы алгоритма "вторая попытка" требуется использовать дополнительную очередь. Каждый раз, когда происходит обращение к странице, она помечается битом использования. Если страница присутствует в оперативной памяти (бит присутствия равен 1), то бит использования устанавливается в 1. Если страница отсутствует в памяти (бит присутствия равен 0), алгоритм пытается заменить страницу, имеющую бит использования равный 0 и бит присутствия равный 0 (т.е. находящуюся в дополнительной очереди). Если в дополнительной очереди нет страниц с такими характеристиками, алгоритм выбирает следующую страницу, имеющую бит использования равный 0 и бит присутствия равный 1 (т.е. находящуюся в основной памяти). Если таких страниц нет, то выбираются страницы, имеющие бит использования равный 1 и бит присутствия равный 0 из дополнительной очереди.
2. Результаты работы модели "вторая попытка" можно представить в виде количества страничных прерываний, произошедших после каждого поступления новой страницы в память.
Чтобы найти количество страничных прерываний после каждого поступления новой страницы, нужно анализировать изменения битов использования и присутствия, а также состояние дополнительной очереди. В случае, если произошло страничное прерывание (т.е. произошла замена страницы), значение счетчика страничных прерываний увеличивается на 1.
Конкретные значения количества страничных прерываний будет зависеть от последовательности обращения к страницам и инициализации битов использования и присутствия. Вычисление точных значений для данной последовательности обращения могло бы быть выполнено с помощью конкретных данных, но без конкретных значений я не могу точно указать, сколько страничных прерываний произойдет после каждого поступления новой страницы в память.