Необхідно провести моделювання стратегій підкачки сторінок віртуальної пам'яті. У лабораторній роботі будуть розглядатися дві стратегії підкачки сторінок:
1. Випереджувальна підкачка - базується на прогнозі поведінки програм. Ефективний для програм з невеликою кількістю переходів.
2. Підкачка на вимогу - підкачуються та сторінка, до якої
відбувається в даний момент звернення.
В результаті роботи необхідно отримати графік залежності кількості влучень від розміру віртуальної пам'яті.
теоретичні відомості
Крім вищенаведених методів підкачки сторінок існують і інші. Нижче будуть розглянуті всі методи підкачки сторінок більш докладно.
випереджальна підкачка
При випереджаючої підкачування операційна система намагається заздалегідь передбачити, які сторінки будуть потрібні процесу, а потім, коли в основній пам'яті з'являється вільне місце, завантажує в неї ці сторінки. Поки система працює зі своїми поточними сторінками, система запитує нові сторінки, які будуть уже готові до використання, коли процес до них звернеться. Якщо рішення про вибір сторінок для підкачки приймаються правильно, то вдається значно скоротити загальний час виконання даного процесу.
Переваги: Якщо в більшості випадків вдається приймати правильне рішення про вибір сторінок для підкачки, то час виконання процесу значно зменшується.
Недоліки: Цей метод ефективний для програм з невеликою кількістю переходів.
Підкачка на вимогу
Вважається, що найбільш раціонально завантажувати в основну пом'яти сторінки, необхідні для роботи процесу, за його запитом. Не слід переписувати з зовнішньої пам'яті в основну жодної сторінки до тих пір, поки до неї явно не звернеться виконується процес.
Переваги: Так як шлях. який вибере програма при своєму виконанні, точно передбачити неможливо, то будь-яка спроба заздалегідь завантажити сторінки в пам'ять в передбаченні того, що вони будуть потрібні в роботі, може виявитися невдалою - будуть завантажені не ті сторінки. А підкачка сторінок за запитом гарантує, що в основну пам'ять переписуватимуться тільки ті сторінки, які фактично необхідні для роботи процесів.
Недоліки: Процес повинен накопичувати в пам'яті необхідні йому сторінки по одній. При появі посилання на кожну нову сторінку процесу доводиться чекати, коли ця сторінка буде передана в основну пам'ять
попереднє розміщення
Всі сторінки, що вимагаються даному процесу попередньо розміщуються в пам'яті.
Переваги: Вільну пам'ять можна використовувати без ущільнення, можна використовувати абсолютну завантаження.
Недоліки: знижується коефіцієнт мультіпрограммірова-ня. кількість одночасних процесів, стратегія не підходить для великих за обсягом завдань.
У лабораторній роботі даний метод підкачки НЕ моделюється, тому що підкачка сторінок не проводиться (всі сторінки вже розміщені в пам'яті)
Опис алгоритму моделювання
Рис.3. Алгоритм моделювання.
Різниця двох алгоритмів моделювання полягає в тому, що при моделюванні випереджаючої підкачки після звернення до сторінці N, якщо її не виявилося в ОП, то в OП підкачуються дві сторінки - N і N + 1. Причому на наступному кроці з ймовірністю 5% генерується звернення до сторінці N + 1.
ОБ'ЄКТИ І ЗАСОБИ ДОСЛІДЖЕННЯ
Об'єктами дослідження є стратегії підкачки сторінок віртуальної пам'яті: випереджальна підкачка і підкачка на вимогу.
ПІДГОТОВКА ДО РОБОТИ
Програма містить 4 форми, 5 Unit'ов. Unit №3 містить процедури, що моделюють звернення до ВП.
Дозволені межі параметрів:
• Межі зміни розміру сторінок. 1-100
• Крок зміни: 1-10
• Кількість звернень: 100-100000
Програма розроблена під операційну систему Windows 95, яка надає користувачеві можливість працювати з візуальний-ними компонентами і спростити спілкування з програмою.
При запуску файлу VM.exe з'являється основна (що викликає) форма.
Рис.4. Визначення методу підкачки.
Для моделювання 1 з методів необхідно включити радіо кнопкою один з двох модельованих методів підкачки сторінок віртуальної пам'яті. Після натискання кнопки ОК буде запущена друга форма, в якій користувач може задати параметри моделируемого методу підкачки. Параметри, задані за замовчуванням, можна змінити за допомогою клавіатури.
Рис.5. Визначення розміру сторінок і кількості повідомлень.
Після натискання кнопки ОК програма моделює обраний користувачем метод підкачки. Так як машині доводиться обробляти велику кількість даних, то потрібен якийсь час, перш ніж на екрані з'явиться необхідний результат. У програмі передбачений індикатор прогресу, щоб інформувати користувача про хід обчислень. Після закінчення моделювання програма виводить графік залежності кількості попаданні від розміру сторінок, наведений вище.
Вибір узагальненої структури моделювання
Процес моделювання полягає в обробці даних, які представляють собою атрибути сторінок віртуальної пам'яті.
Дані представлені у вигляді двовимірного масиву, в якому зберігаються номери сторінок, які перебувають в основній пам'яті і кількість звернень до цих сторінок. В результаті моделювання користувачеві буде представлений графік залежності кількості влучень від розміру сторінок віртуальної пам'яті. Користувачеві сам задає атрибути модельованих методів підкачки, а саме:
• межі зміни розміру сторінок віртуальної пам'яті
• крок зміни розміру
• кількість звернень для кожного розміру сторінок
Основним завданням роботи є побудова графіка залежності кількості влучень від розміру сторінки. Нижче будуть приведені результати моделювання розглянутих методів підкачки з використанням наступних параметрів:
• Межі зміни розміру сторінок - від 1 до 40
• Крок зміни розміру - 1
• Кількість звернень для кожного розміру сторінки - 15000
Підкачка на вимогу
Рис.6. Графік залежності.