Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.АРХІТЕКТУРА.doc
Скачиваний:
12
Добавлен:
15.09.2019
Размер:
2.21 Mб
Скачать

8. Організація захищеного режиму. Регістр стану процесора. Віртуальна пам’ять. Сегментація пам’яті. Сторінкова організація пам’яті.

Мінімальний захист який вик в комп системах в основному використовує 2 режими:

  1. Режим повного доступу до ресурсів системи

  2. Режим часткового доступу

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

Багатозадачний режим повинен забезпечуватися захистом від несанкціонованого доступу та зачобами розподілу ресурсів системи. Захищений режим є основним режимом 32-розрядних процесорів і забезпечує повну незалежність виконання багатьох задач одночасно. В основному даний режим передбачає розподіл ресурсів пам’яті та різного роду системних таблиць, доступ до яких організовується з допомогою переривань, які в певний момент часу надають таблицю для користування. В основному захист пам’яті базується на програмно керованих засобах, тобто на рівні О.С. В захищеному режимі використовується сегментація пам’яті, відповідно до цього кожна задача використовує ті сегменти, які їй дозволила О.С. Інформація про це записується в дескрипторних таблицях. Захист пам’яті за допомогою сегментації не дозволяє:

  • Використовувати сегменти не за призначенням

  • Порушувати права доступу

  • Отримувати доступ до елементів які виходять за рамки сегменту

  • Змінювати вміст таблиць дескрипторів (не маючи на це прав)

Захищений режим має засоби переходу від 1-ї задачі до іншої. Стан кожної задачі може бути збережений в спеціальному сегменті стану

Механізм що дозволяє будь якій задачі використовувати логічний адресний простір до 64 Гбайт наз механізмом віртуальної пам’яті.

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

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

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

Для реалізації сегментації було запропоновано декілька схем, котрі відрізняються деталями реалізації, але засновані на тих самих принципах.

У системах з сегментацією пам‘яті кожне слово у адресному просторі користувача визначається віртуальною адресою, що складається з 3 частин: старші розряди розглядаються як номер сегменту, середні як номер сторінки у сегменті, молодші – номер слова у сторінці.

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

Таблиці сегментів різних користувачів операційна система зберігає у основній пам‘яті. Для визначення розподілу таблиці сегментів виконуваної програми використовується спеціальний регістр захисту, який завантажується операційною системою перед початком її виконання. Цей регістр містить дескриптор таблиці сегментів ((базу і границю), причому база містить адресу початку таблиці сегментів виконуваної програми, а границя – довжину цієї таблиці сегментів. Розряди номера сегмента віртуальної адреси використовуються в якості індексу для пошуку у таблиці сегментів. Таким чином, наявність базово-граничних пар у дескрипторі таблиці сегментів та у елементах таблиці сегментів запобігає можливості звернення програми користувача до таблиць сегментів та сторінок, з якими вона не пов‘язана. Наявність у елементах таблиці сегментів індикаторів режиму доступу дозволяє реалізувати необхідний режим доступу з боку даної програми. Для підвищення ефективності схеми використовується асоціативна кеш-пам‘ять.

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