Віртуальна пам'ять комп'ютера


Ті користувачі комп'ютерів, яким пощастило застати славні часи розквіту систем на основі 8086-сумісних процесорів, дуже добре знають, наскільки в той час був важливий об'єм встановленої пам'яті. Рахунок йшов буквально на кілобайти: щоб перевищити базові 640 кб і досягти «фантастичних» 736 кб купувався спеціальний зовнішній модуль розширення, що представляє собою важку плату у відносно великогабаритному корпусі. Однак обчислювальна техніка швидко еволюціонувала і незабаром психологічний бар'єр в 1 мегабайт був пройдений. Модулі оперативної пам'яті стали набагато компактніше, до того ж з'явилися процесори, що використовують її повною мірою. Не відставали і додатки. Знаковою подією з'явився вихід Віндовс третьої версії, в якій використовувалася віртуальна пам'ять. Втім, це були лише боязкі кроки в напрямку, який згодом стане стандартом всіх операційних систем.

Що таке віртуальна пам'ять? Уявімо два однакових комп'ютера під управлінням Windows 3, тільки в одному встановлений 1 Мб пам'яті, а в іншому - 2 Мб. Підбирати програмні додатки виходячи з обсягу - означає приректи програмістів на каторжну працю, адже їм доведеться оптимізувати свої продукти під 1, 2 і т.д. мегабайт. Створити програму, розраховану на стандартний мінімум в 640 кб - означає відмовитися від деяких можливостей, «загнавши» додаток в рамки. А орієнтуватися на 2 Мб - значить втратити потенційних покупців, у яких в комп'ютерах всього по 1 Мб. Це розуміли і в Майкрософт, тому був запропонований механізм, названий «віртуальна пам'ять». Програмістам тепер не потрібно знати, який обсяг встановлений в кожному комп'ютері. Звичайно, деякі обмеження, все ж, враховуються, але в цілому турботу про те, як «подружити» вимогливе до ресурсів додаток і компоненти комп'ютера взяла на себе операційна система. Ніяких чудес при цьому, звичайно, не відбувається. Сам принцип роботи надзвичайно простий.

Візьмемо для прикладу випадок, коли на комп'ютері з 1 Мб запускається додаток, розроблене під 2 Мб. Частину обсягу займає сама система, тому з 1 Мб доступні користувачеві всього 500 кб (умовно). Запускаємо програму. Якщо віртуальна пам'ять не задіяна або відключена, то програма займає всі 500 кб і припиняє роботу, видаючи повідомлення про виниклу помилку. Але все зовсім інакше, якщо механізм включений: займаються ті самі 500 кб, якщо йде наступний запит пам'яті, то блок даних записується в спеціальний файл на диску, звільняючи обсяг в оперативці. Для програми механізм «прозорий». Фактично, віртуальна пам'ять - це частина оперативної, але розміщеної не в мікросхемах, а на диску. Подібне рішення виявилося настільки вдалим, що досі ведуться роботи над його вдосконаленням. Так, у новітній Віндовс 8 до вже звичного файлу підкачки pagefile додався swapfile, призначений тільки для метро-додатків.

Іноді користувачі можуть побачити системне повідомлення про те, що віртуальна пам'ять закінчується. Як це пояснити в світлі всього вищесказаного? Тим більше незрозуміло, якщо врахувати, що вільний дисковий простір на вінчестері може ще залишатися. Одна з найбільш вірогідних причин цього криється в неправильних налаштуваннях механізму віртуальної пам'яті. Хоча за замовчуванням система вибирає режим автоматичного управління розміром файлу підкачки, допускається ручне регулювання з вказівку жорстких рамок. Чи потрібно так робити чи ні - кожен користувач вирішує самостійно, але при виникненні помилки через нестачу обсягу доведеться підняти дозволену верхню межу. Це налаштовується в параметрах швидкодії (можна потрапити через властивості "Мій комп'ютер" або з панелі управління).

Поділися в соц мережах:

Увага, тільки СЬОГОДНІ!