Що таке помилка сторінки в Unix?

Помилка сторінки – це проблема, яка стосується всіх сучасних операційних систем, включаючи Linux. Помилка сторінки зазвичай відбувається, коли процес намагається отримати доступ до пам'яті у віртуальному адресному просторі, яким він не володіє. Коли це відбувається, ядро ​​має виконати необхідні дії, перш ніж дозволити процесу продовжити виконання.

Помилка сторінки виникає, коли програма намагається отримати доступ до даних або коду, які знаходяться в її адресному просторі, але наразі не розташовані в системній оперативній пам'яті. Отже, коли виникає помилка сторінки, відбувається така послідовність подій: апаратне забезпечення комп’ютера перехоплює ядро ​​та програмний лічильник (ПК) зберігається в стеку.

Помилка сторінки тип помилки, яка виникає, коли програма намагається отримати доступ до даних, яких на даний момент немає в основній пам’яті або оперативній пам’яті (RAM). Коли це відбувається, операційна система (ОС) намагається отримати необхідні дані з жорсткого диска або іншого носія інформації, і цей процес відомий як помилка сторінки.

Якщо потрібна сторінка не існувала в основній пам'яті (RAM), це відомо як "PAGE MISS". Час, потрібний для отримання сторінки з вторинної пам’яті та відновлення її з основної пам’яті після завантаження необхідної сторінки, відомий як «ЧАС ПОМИЛКИ СТОРІНКИ».

Помилки сторінки є нормальною частиною поведінки ОС. Це особливо вірно для середовищ Windows, де помилка сторінки буде дуже поширеною. ОС на базі Linux також будуть Page Fault, але з набагато нижчою частотою.

Щоб одужати від цього, потрібну сторінку потрібно отримати з додаткової пам’яті (жорсткого диска) в основну пам’ять. Помилка сторінки в першу чергу викликає виняток, який інформує операційну систему про те, що їй потрібно буде отримати «сторінки» з віртуальної пам’яті, щоб продовжити виконання.