МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||||||||
Часовий алгоритмУ простій схемі часовий стратегії з кожним кадром зв'язується один додатковий біт, відомий як біт використання. Коли сторінка вперше завантажується в кадр, біт використання встановлюється рівним 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. Позитивний момент цього алгоритму полягає, на відміну від простого годинного алгоритму, в перевазі заміни не змінювати сторінки в порівнянні з заміною модифікованих сторінок. Отже, часовий алгоритм циклічно проходить по всіх сторінках буфера в пошуках сторінки, яка не була модифікована з часу завантаження і давно не використовувалася. Така сторінка - хороший кандидат на заміщення, особливо з урахуванням того, що її не треба записувати на диск. Якщо при першому проході кандидатів на заміщення не знайшлося, алгоритм знову перевіряє буфер, тепер уже в пошуках модифікованої, давно не використовувалася сторінки. Хоча така сторінка і повинна бути записана перед заміщенням, відповідно до принципу локалізації вона навряд чи знадобиться в найближчому майбутньому. Ес ¬ ли і цей прохід виявиться невдалим, всі сторінки позначаються як давно не використані, і виконується третій прохід. Читайте також:
|
||||||||||||||
|