Виртуалната памет е схема за съхранение, която предоставя на потребителя илюзията, че има много голяма основна памет. Това се прави чрез третиране на част от вторичната памет като основна памет.
В тази схема потребителят може да зареди процеси с по-голям размер от наличната основна памет, като има илюзията, че паметта е налична за зареждане на процеса.
Вместо да зарежда един голям процес в основната памет, операционната система зарежда различните части на повече от един процес в основната памет.
По този начин ще се увеличи степента на мултипрограмиране и следователно ще се увеличи и използването на процесора.
Как работи виртуалната памет?
На съвременния език виртуалната памет е станала доста често срещана в наши дни. В тази схема, когато някои страници трябва да бъдат заредени в основната памет за изпълнение и паметта не е налична за тези много страници, тогава в този случай, вместо да спре влизането на страниците в основната памет, ОС търси областта на RAM, която се използва най-малко в последно време или която не е спомената, и я копирайте във вторичната памет, за да освободите място за новите страници в основната памет.
Тъй като цялата тази процедура се случва автоматично, това кара компютъра да се чувства като с неограничена RAM.
Пейджинг по заявка
Demand Paging е популярен метод за управление на виртуална памет. При пейджинг по заявка, страниците на процес, които се използват най-малко, се съхраняват във вторичната памет.
Страница се копира в основната памет, когато е направено нейно искане или възникне грешка на страницата. Има различни алгоритми за подмяна на страници, които се използват за определяне на страниците, които ще бъдат заменени. По-късно ще обсъдим подробно всеки един от тях.
Моментна снимка на система за управление на виртуална памет
Да приемем, че 2 процеса, P1 и P2, съдържат по 4 страници. Размерът на всяка страница е 1 KB. Основната памет съдържа 8 кадъра по 1 KB всеки. ОС се намира в първите два дяла. В третия дял, 1улстраница от P1 се съхранява и другите рамки също се показват като запълнени с различните страници от процеси в основната памет.
Таблиците на страниците на двете страници са с размер 1 KB всяка и следователно могат да се поберат в една рамка всяка. Таблиците на страниците на двата процеса съдържат различна информация, която също е показана на изображението.
Централният процесор съдържа регистър, който съдържа основния адрес на таблицата на страниците, който е 5 в случай на P1 и 7 в случай на P2. Този основен адрес на таблицата на страниците ще бъде добавен към номера на страницата на логическия адрес, когато става въпрос за достъп до действителния съответен запис.
Предимства на виртуалната памет
- Степента на мултипрограмиране ще бъде увеличена.
- Потребителят може да стартира голямо приложение с по-малко реална RAM.
- Няма нужда да купувате повече RAM памети.
Недостатъци на виртуалната памет
- Системата става по-бавна, тъй като смяната отнема време.
- Отнема повече време за превключване между приложения.
- Потребителят ще разполага с по-малко пространство на твърдия диск за използване.