Віртуальна пам’ять комп’ютера
Нині технологія віртуальної пам'яті має апаратну підтримку усім сучасних процесорах.
У разі розташування даних на зовнішніх пристроях пам'ять може бути представлена окремим файлом або спеціальним розділом на жорсткому диску.
Також існує термін swap, що означає віртуальну пам'ять (точніше спосіб її подання) чи файл підкачування.
Існує кілька способів реалізації віртуальної пам'яті: свопінг, а також сторінкова та сегментна організація віртуальної пам'яті.
Свопінг - один із методів реалізації віртуальної пам'яті, при якому окремі, як правило, неактивні процеси переміщуються з оперативної пам'яті на жорсткий диск, тим самим звільняючи оперативну пам'ять для завантаження інших процесів. Процеси повністю переміщаються між ОЗП і жорстким диском, тому іноді деякі процеси можуть бути повністю відсутні в оперативній пам'яті. Якщо процес знову необхідний роботи, він повертається диспетчером пам'яті в ОЗУ. Існують різні алгоритми вибору процесів на завантаження і вивантаження, а також різні способи виділення оперативної та дискової пам'яті процесу, що завантажується.
Використання свопінгу найбільше ефективно, якщо запущено багато інтерактивних додатків, які використовують великий обсяг ОЗУ, але при цьому практично не займають процесорний час.
Одним із недоліків механізму свопінгу може стати фрагментація файлу підкачування (своп-файлу). При зчитуванні та запису даних сторінок із фрагментованого файлу підкачки багато часу йтиме на перепозиціонування головок жорсткого диска на початок чергової області, що може призвести до зниження продуктивності системи.
-
Для найбільш ефективної організації свопінгу та підвищення продуктивностівикористовують такі методики:
- 1. Під swap-файл виділяється місце, обсяг якого дорівнює обсягу оперативної пам'яті, помноженому на 1, 2 або 3.
- 2. Якщо в комп'ютері або ноутбуку кілька жорстких дисків, то розташовувати файл підкачки потрібно на менш навантаженому з них.
- 3. Розташовувати файл підкачки слід на диску з найбільшими швидкостями читання/запису та якомога ближче до початку диска.
- 4. Під час роботи у Windows swap-файл краще розміщувати розділ з файлової системою FAT32, у своїй пам'ятати, що вона менш надійна, ніж NTFS.
- 5. За наявності досить великого обсягу оперативної пам'яті (понад 2Гб) на малонавантаженій системі можна взагалі відмовитися від файлу підкачування.
Сторінка організації віртуальної пам'яті
При сторінкової організації віртуальної пам'яті оперативна пам'ять ділиться області пам'яті фіксованої довжини, звані сторінками пам'яті. Сторінка є мінімальною одиницею пам'яті, що виділяється.
У сімействі операційних систем Microsoft Windows використовується файл pagefile.sys для зберігання витіснених з оперативної пам'яті сторінок. Місце під файл має бути виділено заздалегідь, розмір можна вказати самостійно або довірити вибір операційній системі.
Сегментна організація віртуальної пам'яті
Ще один механізм реалізації віртуальної пам'яті, при якому віртуальний простір ділиться на частини довільного розміру – сегменти, що дозволяє, наприклад, розбити дані процесу на логічні блоки.