Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Часовий алгоритм

У простій схемі часовий стратегії з кожним кадром зв'язується один додатковий біт, відомий як біт використання. Коли сторінка вперше завантажується в кадр, біт використання встановлюється рівним 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. Позитивний момент цього алгоритму полягає, на відміну від простого годинного алгоритму, в перевазі заміни не змінювати сторінки в порівнянні з заміною модифікованих сторінок.

Отже, часовий алгоритм циклічно проходить по всіх сторінках буфера в пошуках сторінки, яка не була модифікована з часу завантаження і давно не використовувалася. Така сторінка - хороший кандидат на заміщення, особливо з урахуванням того, що її не треба записувати на диск. Якщо при першому проході кандидатів на заміщення не знайшлося, алгоритм знову перевіряє буфер, тепер уже в пошуках модифікованої, давно не використовувалася сторінки. Хоча така сторінка і повинна бути записана перед заміщенням, відповідно до принципу локалізації вона навряд чи знадобиться в найближчому майбутньому. Ес ¬ ли і цей прохід виявиться невдалим, всі сторінки позначаються як давно не використані, і виконується третій прохід.


Читайте також:

  1. Rete-алгоритм
  2. Алгоритм
  3. Алгоритм
  4. Алгоритм 1.
  5. Алгоритм RLE
  6. Алгоритм безпосередньої заміни
  7. Алгоритм Берлекемпа-Мессі
  8. Алгоритм відшукання оптимального плану.
  9. Алгоритм Дейкстри.
  10. Алгоритм Деккера.
  11. Алгоритм Деккера.
  12. Алгоритм діагностики при травмах живота.




Переглядів: 781

<== попередня сторінка | наступна сторінка ==>
 | Міфопоетична модель Всесвіту

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.017 сек.