поміщати в оперативну пам'ять. Захист програм один від одного і їх переміщення в пам'яті реалізується за допомогою устаткування комп'ютера двома спеціалізованими регістрами: базовим регістром і граничним регістром.
Рис. 4
У простому випадку (ріс.4.а), коли програма починає працювати, в базовий регістр завантажується адресу початку виконуваного модуля програми, а граничний регістр говорить про те, скільки займає виконуваний модуль програми разом з даними. При вибірці команди з пам'яті апаратура перевіряє лічильник команд, і якщо він менше, ніж граничний регістр, то додає до нього значення базового регістра, а суму передає пам'яті. Коли програма хоче прочитати слово даних (наприклад, з адреси 10000), апаратура автоматично додає до цього адресою вміст базового регістра (наприклад, 50000) і передає суму (60 000) пам'яті. Базовий регістр дає можливість програмі посилатися на будь-яку частину пам'яті, наступну за що зберігаються в ньому адресою. Крім того, граничний регістр забороняє програмі звернення до будь-якої частини пам'яті після програми. Таким чином, за допомогою цієї схеми вирішуються обидва завдання: захисту та переміщення програм.
В результаті перевірки та перетворення даних, адреса, сформований програмою і званий віртуальною адресою, перекладається на адресу, використовуваний пам'яттю і званий фізичною адресою. Пристрій, який виконує перевірку і перетворення, називається пристроєм управління пам'яттю або диспетчером пам'яті (MMU, Memory Management Unit). Диспетчер пам'яті розташовується або в схемі процесора, або близько до неї, але логічно знаходиться між процесором і пам'яттю.
Більш складний диспетчер пам'яті складається з двох пар базових та граничних регістрів. Одна пара призначена для тексту програми, інша пара - для даних. Командний регістр і всі посилання на текст програми працюють з першою парою регістрів, посилання на дані використовують другу пару регістрів. Завдяки такому механізму з'являється можливість ділити одну програму між декількома користувачами при зберіганні в ОЗУ тільки однієї копії програми, що виключено в простою схемою. При роботі програми № 1 чотири регістри розташовуються так, як показано на рис.4 (б) зліва, при роботі програми № 2 - справа. Управління диспетчером пам'яті є функцією операційної системи.
Наступним в структурі пам'яті йде магнітний диск (жорсткий диск). Дискова пам'ять на два порядки дешевше ОЗУ в перерахунку на біт і більше за величиною, але доступ до даних, розміщених на диску, займає приблизно на три порядки більше часу. Причиною низької швидкості жорсткого диска є той факт, що диск являє собою механічну конструкцію. Жорсткий диск складається з однієї або декількох металевих пластин, що обертаються зі швидкістю 5400, 7200 або 10800 оборотів в хвилину (мал. 5.). Інформація записується на пластини у вигляді концентричних кіл. Головки читання / запису в кожній заданій позиції можуть прочитати кільце на пластині, зване доріжкою. Всі разом доріжки для заданої позиції вилки формують циліндр.
Кожна доріжка розділена на деяку кількість секторів, зазвичай по 512 байт на сектор. На сучасних дисках зовнішні циліндри містять більшу кількість секторів, ніж внутрішні. Переміщення головки від одного циліндра до іншого займає близько 1 мс, а переміщення до довільного циліндру вимагає від 5 до 10...