МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||||||||
Часовий алгоритмУ простій схемі часовий стратегії з кожним кадром зв'язується один додатковий біт, відомий як біт використання. Коли сторінка вперше завантажується в кадр, біт використання встановлюється рівним 1. При після ¬ дують зверненнях до сторінки, що викликали переривання через відсутність стра ¬ ниці, цей біт встановлюється рівним 1. При роботі алгоритму заміщення безліч кадрів, які є кандидатами на заміщення (поточний процес, локальна область видимості, вся основна пам'ять або глобальна область ви ¬ хідності), розглядається як циклічний буфер, з яким пов'язаний указу ¬ тель. При заміщенні сторінки покажчик переміщається до наступного кадру в буфері. Коли настає час заміщення сторінки, операційна система ска ¬ нує буфер для пошуку кадру, біт використання якого дорівнює 0. Всякий раз, коли в процесі пошуку зустрічається кадр з бітом використання, рівним 1, він скидається в 0. Перший же зустрінутий кадр з нульовим бітом використання ¬ ня вибирається для заміщення. Якщо всі кадри мають біт використання, рав ¬ ний 1, покажчик здійснює повне коло і повертається до початкового положення ¬ ня, замінюючи сторінку в цьому кадрі. Як бачимо, ця стратегія схожа зі страте ¬ гією "першим увійшов - першим вийшов", але відрізняється тим, що кадри, які мають встановлений біт використання, пропускаються алгоритмом. Буфер кадрів сторінок представлений у вигляді кола, звідки і пішла назва стратегії (інша назва - стратегія кругової заміни сторінок). Ряд операційних систем використовують різні варіанти часовий стратегії (наприклад, Multics). На рис. 10.15 приведений простий приклад використання часовий страте ¬ гії. Для заміщення доступні п-1 кадри основної пам'яті, представлені у вигляді циклічного буфера. Безпосередньо перед тим, як замістити сторінку в буфері завантажується з вторинної пам'яті сторінкою 727, покажчик буфера вказує на кадр 2, що містить сторінку 45. Тепер приступимо до виконання часового алгоритму. Оскільки біт використання сторінки 45 в кадрі 2 дорівнює 1, ця сторінка не заміщується; замість цього її біт використання скидається, а покажчик переміщається до наступного кадру. Не заміщується також сторінка 191 з кадру 3; відповідно до алгоритму скидається її біт використання. У наступному кадрі (номер 4) біт використання сторінки дорівнює 0. Таким обра ¬ зом, сторінка 556 заміщається завантажується в основну пам'ять сторінкою 727, біт використання якої встановлюється рівним 1. Далі покажчик буфера переходить до кадру 5, і на цьому виконання алгоритму завершується. Для еконо ¬ мії місця на рис. 8.16 біт використання позначений як use. Поведінка годинного алгоритму показано на рис. 10.13. Наявність зірочки означає, що біт використання відповідної сторінки дорівнює 1, а стрілочка вказує поточне положення покажчика. Зауважимо, що даний алгоритм катував ¬ ється захистити сторінки 2 і 5 від заміщення. На рис. 10.16 показані результати експерименту, в якому порівнювалися чотири розглянутих у цьому розділі алгоритму; передбачається, що кількість відводяться процесу кадрів постійно.
Рис. 10.15. Пример работы часового алгоритма
Рис. 10.16. Порівняння різних стратегій заміщення сторінок Проводилися також дослідження з порівняння алгоритмів при розподіль ¬ лення змінної кількості кадрів процесу, а також при глобальної та ло ¬ кальной областях видимості. Як з'ясувалося, за вироб ¬ дітельності часовий алгоритм найбільш близький до алгоритму найдовше невикористаною. Підвищити ефективність годинного алгоритму можна шляхом збільшення ко ¬ лічества використовуваних при його роботі бітів. (З іншого боку, зменшення кількості бітів до нуля дає нам алгоритм "першим увійшов - першим вийшов"). У всіх підтримують стра ¬ кових організацію процесорах з кожною сторінкою в основній пам'яті (а сле ¬ послідовно, з кожним кадром) пов'язаний біт модифікації. Цей біт використовується для вказівки того, що дана сторінка не може бути заміщена до тих пір, поки її вміст не буде записано назад у вторинну пам'ять. Цей біт може використовуватися годинниковим алгоритмом наступним чином. Беручи до уваги біти використання та модифікації, всі кадри можна розділити на чотири категорії: використаний давно, не модифікований (і = 0, т = 0); використаний недавно, не модифікований (і = 1, т = 0); використаний давно, модифікований (і = 0, т = 1); використаний недавно, модифікований (і = 1, т - 1). Використовуючи цю класифікацію, змінимо часовий алгоритм, який тепер буде описаний наступним чином (рис. 10.17).
Рис. 10.17. Часовий алгоритм заміщення сторінок 1. Скануємо буфер кадрів, починаючи з поточного становища. У процесі сканування біт використання не змінюється. Перша ж сторінка зі станом (і = 0, т = 0) заміщається. 2. Якщо виконання першого кроку алгоритму не увінчалося успіхом, шукаємо сторінку з параметрами (і = 0, т = 1). Якщо така знайдена, вона заміщується. У процесі виконання даного кроку у всіх переглянутих сторінок скидається біт використання. 3. Якщо виконання попереднього кроку не дало результату, покажчик повертається у вихідне положення, але у всіх сторінок значення біта використання скинуто в 0. Повторимо крок 1 і, при необхідності, крок 2. Очевидно, на цей раз потрібна сторінка буде знайдена.
Такий алгоритм використаний у схемі віртуальної пам'яті Macintosh. Позитивний момент цього алгоритму полягає, на відміну від простого годинного алгоритму, в перевазі заміни не змінювати сторінки в порівнянні з заміною модифікованих сторінок. Отже, часовий алгоритм циклічно проходить по всіх сторінках буфера в пошуках сторінки, яка не була модифікована з часу завантаження і давно не використовувалася. Така сторінка - хороший кандидат на заміщення, особливо з урахуванням того, що її не треба записувати на диск. Якщо при першому проході кандидатів на заміщення не знайшлося, алгоритм знову перевіряє буфер, тепер уже в пошуках модифікованої, давно не використовувалася сторінки. Хоча така сторінка і повинна бути записана перед заміщенням, відповідно до принципу локалізації вона навряд чи знадобиться в найближчому майбутньому. Ес ¬ ли і цей прохід виявиться невдалим, всі сторінки позначаються як давно не використані, і виконується третій прохід. Читайте також:
|
||||||||||||||
|