📄 Заміщення сторінок
LRU, FIFO та оптимальне
Крок 0 / 0
Політика: FIFO
Політика
Рядок звернень
Керування
Статистика
Відмови сторінок
0
Влучення
0
Коеф. влучень
0%
Стан
Готово
Примітка
Довідка та теорія

Алгоритм заміщення сторінок вирішує, яку сторінку витіснити з фіксованого набору кадрів пам'яті, коли потрібно завантажити нову сторінку. Звернення, якого немає в кадрі, — це відмова сторінки; те, що вже присутнє, — це влучення.

FIFO

Витісняє сторінку, завантажену найраніше, як черга. Просто, але ігнорує використання й може показувати аномалію Біледі.

LRU

Витісняє найдавніше використовувану сторінку. Вона використовує недавню історію як прогноз і є стековим алгоритмом, тож більше кадрів ніколи не збільшує відмови.

Clock

Дешеве наближення LRU: кадри сидять на колі з бітом звернення. Стрілка пропускає й скидає встановлені біти, даючи сторінкам другий шанс перед витісненням.

Оптимальне (Біледі)

Витісняє сторінку, що використовуватиметься найпізніше в майбутньому. Це доведено політика з мінімумом відмов, але вона потребує знання майбутнього, тож є еталоном, а не реальним алгоритмом.

Аномалія Біледі

Для FIFO з рядком 1 2 3 4 1 2 5 1 2 3 4 5 перехід із 3 на 4 кадри підвищує відмови з 9 до 10. Завантажте пресет, запустіть із 3 кадрами, потім із 4, і подивіться, як кількість відмов зростає. LRU та оптимальне такого не роблять.

Поширені запитання

Що таке алгоритм заміщення сторінок?

Алгоритм заміщення сторінок вирішує, яку сторінку витіснити з кадрів фізичної пам'яті, коли потрібно завантажити нову сторінку, а всі кадри зайняті. Вдалий вибір мінімізує відмови сторінок.

Що таке відмова сторінки?

Відмова сторінки виникає, коли сторінки, до якої звертаються, немає в кадрі пам'яті, тож її потрібно завантажити з диска. Кількість відмов — основна метрика для порівняння політик заміщення.

Як працює заміщення FIFO?

FIFO (перший зайшов — перший вийшов) витісняє сторінку, що пробула в пам'яті найдовше, незалежно від частоти використання. Вона проста, але може працювати погано й уславлено демонструє аномалію Біледі.

Як працює заміщення LRU?

LRU (найдавніше використовувана) витісняє сторінку, до якої не зверталися найдовше, наближаючи ідею, що нещодавно використані сторінки знадобляться знову. Вона ніколи не страждає від аномалії Біледі.

Що таке оптимальний алгоритм (Біледі)?

Оптимальний алгоритм витісняє сторінку, яка не використовуватиметься найдовше в майбутньому. Він дає доведено мінімальну кількість відмов, але нездійсненний на практиці, бо потребує знання майбутніх звернень.

Що таке алгоритм Clock?

Clock (алгоритм другого шансу) розташовує кадри по колу з бітом звернення для кожної сторінки. За відмови стрілка просувається, скидаючи біти звернення та даючи нещодавно використаним сторінкам другий шанс, наближаючи LRU дешевшим коштом.

Що таке аномалія Біледі?

Аномалія Біледі — це несподіваний випадок, коли збільшення кількості кадрів змушує FIFO давати більше відмов сторінок, а не менше. Вона порушує інтуїтивне очікування, що більше пам'яті завжди краще.

Які алгоритми уникають аномалії Біледі?

Стекові алгоритми, як-от LRU та оптимальний, ніколи не страждають від аномалії Біледі, бо множина сторінок при n кадрах завжди є підмножиною множини при n+1 кадрах. FIFO та Clock не є стековими алгоритмами.

Що таке коефіцієнт влучень?

Коефіцієнт влучень — це частка звернень, які вже є в пам'яті (влучення), серед усіх звернень. Він дорівнює одиниці мінус частка відмов і є зручним способом порівняти ефективність політик.

Що таке рядок звернень?

Рядок звернень — це послідовність номерів сторінок, до яких процес звертається з часом. Алгоритми заміщення сторінок оцінюють, проганяючи їх на одному й тому самому рядку звернень і підраховуючи відмови.