logo
AOM / Мельник А

10.4.1. Задачі захисту пам'яті

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

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

Захист від вторгнення програм в чужі адресні простори реалізується цілим рядом способів, які поєднують програмні та апаратні засоби, що керуються операційною сис­темою. Розглянемо нижче найуживаніші способи захисту пам'яті.