Механізми реалізації віртуальної пам'яті - студопедія

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

У мультипрограммном режимі крім активного процесу, тобто процесу, коди якого зараз інтерпретуються процесором, є призупинені процеси, що знаходяться в очікуванні завершення введення-виведення або звільнення ресурсів, а також процеси в стані готовності, що стоять в черзі до процесора. Образи таких неактивних процесів можуть бути тимчасово, до наступного циклу активності, вивантажені на диск. Незважаючи на те що коди і дані процесу відсутні в оперативній пам'яті, ОС «знає» про його існування і в повній мірі враховує це при розподілі процесорного часу і інших системних ресурсів. До моменту, коли підходить черга виконання розвантаженого процесу, його образ повертається з диска в оперативну пам'ять. Якщо при цьому виявляється, що вільного місця в оперативній пам'яті не вистачає, то на диск вивантажується інший процес.

Віртуалізація оперативної пам'яті здійснюється сукупністю програмних модулів ОС і апаратних схем процесора і включає вирішення наступних завдань:

· Розміщення даних в накопичувачах різного типу, наприклад частина кодів програми - в оперативній пам'яті, а частина - на диску;

· Вибір образів процесів або їх частин для переміщення з оперативної пам'яті на диск і назад;

· Переміщення по мірі необхідності даних між пам'яттю і диском;

Віртуалізація пам'яті може бути здійснена на основі двох різних підходів:

· Свопинг (swapping) -Образ процесів вивантажуються на диск і повертаються в оперативну пам'ять цілком;

· Віртуальна пам'ять (virtual memory)-між оперативною пам'яттю і диском переміщаються частини (сегменти, сторінки і т. П.) Образів про-процесів.

Для тимчасового зберігання сегментів і сторінок на диску відводиться або спеціальна область, або спеціальний файл, які в багатьох ОС за традицією продовжують називати областю або файлом свопінгу, хоча переміщення інформації між оперативною пам'яттю і диском здійснюється вже не в формі повного заміщення одного процесу іншим, а частинами. Інша популярна назва цієї області - сторінковий файл (page file, або paging file). Поточний розмір сторінкового файлу є важливим параметром, який впливає на можливості операційної системи: чим більше сторінковий файл, тим більше додатків може одночасно виконувати ОС (при фіксованому розмірі оперативної пам'яті). Розмір сторінкового файлу в сучасних ОС є налаштованим параметром, який вибирається адміністратором системи для досягнення компромісу між рівнем мультипрограммирования і швидкодією системи.

Схожі статті