logo
AK

0 1 2 3 4 5 6 7

0

0

1

1

0

1

0

0

Рис. 3.13 - Маска

У нашому прикладі додатковий дешифратор має 3 входи і 8 виходів (рис. 3.14).

Рис. 3.14 – Схеми СЗП з використанням маски.

Розподіляючи ОП для кожної призначеної для користувача програми, ОС встановлює власну маску згідно з рис. 3.15.

Рис.3.15 - Власна маска.

Як тільки така призначена для користувача програма стає активною, її маска заноситься в регістр. Якщо ми задали ділянки 2, 3 або 5 для якоїсь програми, то схема працює так: 3 старших розряди адреси поступає на дешифратор, якщо він їх розпізнає як 2, 3 або 5, то на виході елементу «І-АБО» буде високий потенціал.

СЗП з використанням ключів.

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

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

Для визначеності, ключ, що відноситься до програми, називатимемо ключем програми, а що відноситься до сторінки - ключем пам'яті. Як приклад розглянемо ключ, який використовується в великих комп’ютерах, згідно з рис. 3.16.

КЗП

0

1

2

3

4

5

6

7

Рис. 3.16 - Ключ, який використовується в МФ.

Безпосереднє відношення до захисту пам'яті мали лише 4 молодші розряду. Сенс останніх розрядів: 4-ий називався розрядом читання (якщо в нім 0, захист виконувався лише при записі; 1 - і при читанні); 5-й - розрядом звернення (як тільки до якоїсь сторінки відбувалося звернення, він позначався одиницею); 6-й - розрядом запису (при зверненні з метою запису позначався одиницею). 5-й і 6-й розряди використовувалися для оптимізації зв'язку між внутрішньою і зовнішньою пам'яттю.

Хай повний об'єм пам'яті, що захищається, - 220 байт. Виділяючи 8 старших розрядів під номер сторінки можна буде захистити пам'ять, яка містить 256 сторінок. Кожна сторінка матиме 212 = 4096 байт. Основним блоком є пам'ять ключів захисту (ПКЗ). Окрім неї, включається СПК, 2 схеми порівняння, регістр номера сторінки, дешифратор номера сторінки, 2 регістри (рис. 3.17).

Рис. 3.17 - СЗП з використанням ключів.

Хай програма, ключ якої дорівнює 11, може розташовуватися на сторінках 0, 55 і 254 (рис. 3.25.).

Рис. 3.25. - Програма, ключ якої дорівнює 11.

Як тільки програма стає активною, її ключ заноситься в Рг2. Поточна адреса контролюється так: 8 старших розряди через СПК поступають на ДС НС, потім з ПКЗ зчитується інформація і записується в Рг1. Ланцюг СПК - РГНС - СхПр1 - СПК встановлена в схемі з метою зменшення кількості звернень до ПКЗ, які відбуватимуться лише при зверненні до нової сторінки.