На головну

сторінкової організації

  1. I. Організація класу
  2. II. Організація і хід проекту (щоденник)
  3. II. Організація і хід проекту (щоденник)
  4. II. ОРГАНІЗАЦІЯ практичних занять.
  5. II. Організація режиму перебування дітей в дошкільному навчальному закладі
  6. V. Організація діяльності комісії
  7. VI. ОРГАНІЗАЦІЯ АВАРІЙНО-РЯТУВАЛЬНИХ РОБІТ

Як розділи з різними фіксованими розмірами, так і розділи змінного розміру недостатньо ефективно використовують пам'ять. Результатом роботи перших стає внутрішня фрагментація, результатом роботи останніх - зовнішня. Припустимо, однак, що основна пам'ять розділена на однакові блоки відносно невеликого фіксованого розміру. Тоді блоки процесу, відомі як сторінки (pages), можуть бути пов'язані з вільними блоками пам'яті, відомими як кадри (frames), або фрейми. Кожен кадр може містити одну сторінку даних. При такій організації пам'яті, як ви дізнаєтеся з цього розділу, зовнішня фрагментація відсутня зовсім, а втрати через внутрішню фрагментації обмежені частиною останньої сторінки процесу.

На рис. 7.9 показано використання сторінок і кадрів. У будь-який момент часу деякі з кадрів пам'яті використовуються, а деякі вільні. Операційна система підтримує список вільних кадрів. Процес А, що зберігається на диску, складається з чотирьох сторінок. Коли приходить час завантажити цей процес в пам'ять, операційна система знаходить чотири вільних кадру і завантажує сторінки процесу А в ці кадри (рис. 7.9,6). Потім завантажуються процес В, що складається з трьох сторінок, і процес С, що складається з чотирьох сторінок. Після цього процес В призупиняється і вивантажується з основної пам'яті. Пізніше настає момент, коли всі процеси в пам'яті виявляються заблоковані, і операційна система завантажує в пам'ять новий процес D, що складається з п'яти сторінок.

Тепер припустимо, що, як в тільки що розглянутому вище прикладі, немає однієї безперервної області кадрів, достатньою для розміщення процесу цілком. Чи завадить це операційній системі завантажити процес D? Ні, оскільки в цій ситуації можна скористатися концепцією логічних адрес. Однак одного регістра базового адреси в цій ситуації недостатньо, і для кожного процесу операційна система повинна підтримувати таблицю сторінок. Таблиця сторінок вказує розташування кадрів кожної сторінки процесу. Всередині програми логічний адресу складається з номера сторінки і зміщення всередині неї. Згадаймо, що в разі простого розподілу логічний адреса являє собою розташування слова щодо початку програми, яке процесор транслює в фізичну адресу. При сторінкової організації перетворення логічних адрес в фізичні також залишається завданням апаратного рівня, розв'язуваної процесором. Тепер процесор повинен мати інформацію про те, де знаходиться таблиця сторінок пов'язаних з поточною діяльністю. Представлений логічний адресу (номер сторінки і зсув) процесор перетворює з використанням таблиці сторінок в фізичну адресу (номер кадру, зміщення).

На рис. 7.10 показані різні таблиці сторінок, після того як процес D виявляється завантаженим в сторінки 4, 5, 6, 11 і 12. Таблиця сторінок містить по одному запису для кожної сторінки процесу, так що таблицю легко проіндексувати номером сторінки, починаючи з 0. В кожному записі містить номер фрейму в основний пам'яті (якщо такий є), в якому зберігається відповідна сторінка. Крім того, операційна система підтримує єдиний список вільних (т. Е. Не зайнятих жодним процесом і доступних для розміщення в них сторінок) кадрів.

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

Для зручності роботи з такою схемою додамо правило, відповідно до якого розмір сторінки (а, отже, і розмір кадру) повинен являти собою ступінь 2. При використанні такого розміру сторінок легко показати, що відносна адреса, який визначається щодо початку програми, і логічний адреса, що представляє собою номер кадру і зміщення, ідентичні. Відповідний приклад наведено на рис. 7.11. Тут використовується 16-бітову адресу та сторінки розміром 1 Кбайт = 1024 байт. Відносний адреса 1 502 в бінарному вигляді записується як 0000010111011110. При розмірі сторінки в 1 Кбайт поле зміщення вимагає 10 біт, залишаючи 6 біт для номера сторінки. Таким чином, програма може складатися максимум з 26 = 64 сторінок по 1 Кбайт кожна. Як показано на рис. 7.11, відносний адреса 1502 відповідає зсуву 478 (0111011110) на сторінці 1 (000001), що дає той же бінарне число 0000010111011110.

Використання сторінок з розміром, рівним ступеня двійки, призводить до таких наслідків. По-перше, схема логічної адресації прозора для програміста, асемблера і компоновщика. Кожен логічний адресу (номер сторінки і зсув) програми ідентичний відносною адресою. По-друге, при цьому відносно просто реалізується апаратна функція перетворення адрес під час роботи. Розглянемо адресу з п + т біт, де крайні зліва п біт представляють собою номер сторінки, а крайні справа m біт - зміщення. У нашому прикладі (рис. 7.11,6) п = 6 і т = 10. Для перетворення адреси необхідно виконати наступні кроки.

- Виділити номер сторінки, який представлений п лівими битами логічного адреси.

- Використовуючи номер сторінки в якості індексу в таблиці сторінок процесу, знайти номер кадру k.

- Початковий фізичну адресу кадру - k'2 ' ", і цікавий для нас фізичну адресу є це число плюс зсув. Така адреса не треба обчислювати - він виходить в результаті простого додавання номера кадру до зміщення.

У нашому випадку є логічний адресу 0000010111011110, що представляє сторінку номер 1 і зміщення 478. Припустимо, що ця сторінка розміщена в кадрі основний пам'яті номер 6 (бінарне представлення - 000110). В такому випадку фізичну адресу є кадр 6, зсув 478, т. Е. 0001100111011110 (рис. 7.12, а).

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

 



переміщення | СЕГМЕНТАЦИЯ

управління пам'яттю | переміщення | логічна організація | фізична організація | РОЗПОДІЛ ПАМ'ЯТІ | фіксований розподіл | динамічний розподіл | система двійників | Ключові терміни | ДОДАТОК. ЗАВАНТАЖЕННЯ І ЗВ'ЯЗУВАННЯ |

© um.co.ua - учбові матеріали та реферати