Віртуальна пам'ять комп'ютера
Ті користувачі комп`ютерів, яким пощастило застати славні часи розквіту систем на основі 8086-сумісних процесорів, дуже добре знають, наскільки в той час був важливий об`єм встановленої пам`яті. Рахунок йшов буквально на кілобайти: щоб перевищити базові 640 кб і досягти «фантастичних» 736 кб купувався спеціальний зовнішній модуль розширення, що представляє собою важку плату у відносно великогабаритному корпусі. Однак обчислювальна техніка швидко еволюціонувала і незабаром психологічний бар`єр в 1 мегабайт був пройдений. Модулі оперативної пам`яті стали набагато компактніше, до того ж з`явилися процесори, що використовують її повною мірою. Не відставали і додатки. Знаковою подією з`явився вихід Віндовс третьої версії, в якій використовувалася віртуальна пам`ять. Втім, це були лише боязкі кроки в напрямку, який згодом стане стандартом всіх операційних систем.
Що таке віртуальна пам`ять? Уявімо два однакових комп`ютера під управлінням Windows 3, тільки в одному встановлений 1 Мб пам`яті, а в іншому - 2 Мб. Підбирати програмні додатки виходячи з обсягу - означає приректи програмістів на каторжну працю, адже їм доведеться оптимізувати свої продукти під 1, 2 і т.д. мегабайт. Створити програму, розраховану на стандартний мінімум в 640 кб - означає відмовитися від деяких можливостей, «загнавши» додаток в рамки. А орієнтуватися на 2 Мб - значить втратити потенційних покупців, у яких в комп`ютерах всього по 1 Мб. Це розуміли і в Майкрософт, тому був запропонований механізм, названий «віртуальна пам`ять». Програмістам тепер не потрібно знати, який обсяг встановлений в кожному комп`ютері. Звичайно, деякі обмеження, все ж, враховуються, але в цілому турботу про те, як «подружити» вимогливе до ресурсів додаток і компоненти комп`ютера взяла на себе операційна система. Ніяких чудес при цьому, звичайно, не відбувається. Сам принцип роботи надзвичайно простий.
Візьмемо для прикладу випадок, коли на комп`ютері з 1 Мб запускається додаток, розроблене під 2 Мб. Частину обсягу займає сама система, тому з 1 Мб доступні користувачеві всього 500 кб (умовно). Запускаємо програму. Якщо віртуальна пам`ять не задіяна або відключена, то програма займає всі 500 кб і припиняє роботу, видаючи повідомлення про виниклу помилку. Але все зовсім інакше, якщо механізм включений: займаються ті самі 500 кб, якщо йде наступний запит пам`яті, то блок даних записується в спеціальний файл на диску, звільняючи обсяг в оперативці. Для програми механізм «прозорий». Фактично, віртуальна пам`ять - це частина оперативної, але розміщеної не в мікросхемах, а на диску. Подібне рішення виявилося настільки вдалим, що досі ведуться роботи над його вдосконаленням. Так, у новітній Віндовс 8 до вже звичного файлу підкачки pagefile додався swapfile, призначений тільки для метро-додатків.
Іноді користувачі можуть побачити системне повідомлення про те, що віртуальна пам`ять закінчується. Як це пояснити в світлі всього вищесказаного? Тим більше незрозуміло, якщо врахувати, що вільний дисковий простір на вінчестері може ще залишатися. Одна з найбільш вірогідних причин цього криється в неправильних налаштуваннях механізму віртуальної пам`яті. Хоча за замовчуванням система вибирає режим автоматичного управління розміром файлу підкачки, допускається ручне регулювання з вказівку жорстких рамок. Чи потрібно так робити чи ні - кожен користувач вирішує самостійно, але при виникненні помилки через нестачу обсягу доведеться підняти дозволену верхню межу. Це налаштовується в параметрах швидкодії (можна потрапити через властивості "Мій комп`ютер" або з панелі управління).