Системи з розподілом часу. Сторінкова організація пам’яті. Концепція віртуальної (уявної) пам’яті.

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

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

Діапазон реальних адрес, що існують в конкретному комп’ютері, називаються простором реальних адрес (R) цього комп’ютера.

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

Віртуальним називаються ресурс, якому в уяві користувача (програміста) або з точки зору програми користувача, притаманні якості, яких у нього в дійсності нема.

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

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

1. Розміщувати дані в запам’ятовуючих пристроях різного типу (ОП, диск)

2. Переміщувати дані при необхідності між запам’ятовуючими пристроями різного типу.

3. Перетворювати віртуальні адреси у фізичні.

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

Є різні механізми, наприклад: динамічного перетворення адрес (ДАТ) під час виконання процесів.

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

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

 

 

Стратегії керування віртуальною пам’яттю поділяються на три категорії:

Стратегія вштовхування – мета – визначити, коли треба переписати чергову сторінку або сегмент в основну пам’ять.

 

Способи організації пам’яті

Реальна Реальна Віртуальна
Системи з одним користувачем Мультипрограмні системи з реальною пам’яттю Мультипрограмні системи з віртуальною пам’яттю
З фіксованими розділами Із змінними розділами Чисті сторінки Чисті сегменти Комбінація сторінок і сегментів
Модулі абсолютні Модулі, що переміщуються  
             

 

Стратегія розміщення – мета – визначити, в яке місце первинної пам’яті розміщати чергову сторінку або сегмент.

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