Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1. СП.docx
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
324 Кб
Скачать
☆

23. Буфер попередньої трансляції в сторінковій організації пам’яті

Сторінкова організація пам'яті

До основних технологій реалізації віртуальної пам'яті крім сегментації належить сторінкова організація пам'яті (paging). її головна ідея — розподіл пам'яті блоками фіксованої довжини. Такі блоки називають сторінками. Ця технологія є найпоширенішим підходом до реалізації віртуальної пам'яті в сучасних операційних системах.

Базові принципи сторінкової організації пам'яті

У разі сторінкової організації пам'яті логічну адресу називають також лінійною, або віртуальною, адресою. Такі адреси належать одній множині (наприклад, лінійною адресою може бути невід'ємне ціле число довжиною 32 біти).

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

Сторінкова організація пам'яті повинна мати апаратну підтримку. Кожна адреса, яку генерує процесор, ділиться на дві частини: номер сторінки і зсув сторінки.

Номер сторінки використовують як індекс у таблиці сторінок.

Таблиця сторінок — структура даних, що містить набір елементів (page-table

entries, PTE), кожен із яких містить інформацію про номер сторінки, базову адресу відповідного їй фрейму фізичної пам'яті та права доступу. Номер сторінки використовують для пошуку елемента в таблиці. Після його знаходження до базової адреси відповідного фрейму додають зсув сторінки і визначають фізичну адресу (рис. 8.7).

Розмір сторінки є ступенем числа 2, у сучасних ОС використовують сторінки розміром від 2 до 8 Кбайт. У спеціальних режимах адресації можна працювати зі сторінками більшого розміру.

Для кожного процесу створюють його власну таблицю сторінок. Коли процес починає своє виконання, ОС розраховує його розмір у сторінках і кількість фреймів у фізичній пам'яті. Кожну сторінку завантажують у відповідний фрейм, після чого його номер записують у таблицю сторінок процесу.

Таблиця сторінок

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

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

24.Рівні привілеїв та захист задач за привілеями в захищеному режимі.

У захищеному режимі процесор має чотирьохрівневий систему привілей-гий, яка управляє використанням привілейованих інструкцій і до ¬ ступі до сегментів пам'яті. Рівень привілеї сегмента вказується в її дескрипторі. Нумерація рівнів відбувається від 0 до 3, вищі привілеї відповідають нульового рівня. Для наочності їх прийнято зображати у вигляді кілець.

 

Рівні привілеїв забезпечують захист цілісності операційної системи від «недружніх» програм. А також захист адресних просторів одночасно виконуваних завдань. Сервіси операційної системи, обработчиков переривань та інше системне забезпечення можуть включатися до вирльну адресний простір кожного завдання і захищатися системою привилегій. Як правило, призначення рівнів наступне. Нульовий рівень - рівень операційної системи (ядро операційної системи). Рівні 1 і 2 - програми системного призначення. Рівень 3 - інші прикладні програми (рівень прикладних програм). Дескриптори (сегменти) і селектори мають свої атрибути привілеїв.

Привілеї завдань впливають на виконання інстр ¬ рукцій і використання дескрипторів. Поточний рівень привілеї завдання CPL (Current Privilege Level) визначається двома молодшими бітами РЕГИСТ ¬ ра CS.

CPL задачі може змінюватися тільки при передачі управління до нового сегменту через дескриптор шлюзу. Завдання починає виконуватися з рівня CPL, зазначеного селектором кодового сегмента усередині TSS, коли завдання ініціює ¬ ється за допомогою операції перемикання завдань. Завдання, виконувана на нулі ¬ вом рівні привілеїв, має доступ до всіх сегментів, описаним у GDT, і є самою привілейованої. Завдання, виконувана на рівні 3, має самі обмежені права доступу. Поточний рівень привілеї задачі може вимі ¬ няться тільки при передачі управління через шлюзи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]