Skip to main content
LibreTexts - Ukrayinska

6.5: Сторінки+кадри = Таблиці сторінок

  • Page ID
    34523
    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Саме робота операційної системи полягає в тому, щоб відстежувати, яка з віртуальних сторінок вказує на який фізичний кадр. Ця інформація зберігається у таблиці сторінок, яка у найпростішому вигляді може бути просто таблицею, де кожен рядок містить пов'язаний кадр - це називається лінійною таблицею сторінок. Якби ви використовували цю просту систему, з 32-бітовим адресним простором та 4 KiB сторінками, у таблиці сторінок було б 1048576 можливих сторінок (2 32 ÷ 4096); отже, таблиця буде 1048576 записів довго, щоб гарантувати, що ми завжди можемо зіставлення віртуальної сторінки до фізичної сторінки.

    Таблиці сторінок можуть мати безліч різних структур і дуже оптимізовані, оскільки процес пошуку сторінки в таблиці сторінок може бути тривалим процесом. Пізніше ми розглянемо таблиці сторінок більш глибоко.

    Таблиця сторінок для процесу знаходиться під виключним контролем операційної системи. Коли процес запитує пам'ять, операційна система знаходить їй вільну сторінку фізичної пам'яті і записує віртуально-фізичний переклад в таблицю сторінок процесів. І навпаки, коли процес віддає пам'ять, віртуально-фізичний запис видаляється і базовий кадр стає вільним для виділення іншому процесу.