Виртуална памет в ОС: Какво е, Повикване на търсене, Предимства

Съдържание:

Anonim

Какво е виртуална памет?

Виртуалната памет е механизъм за съхранение, който предлага на потребителя илюзия за много голяма основна памет. Това се прави чрез третиране на част от вторичната памет като основна памет. Във виртуалната памет потребителят може да съхранява процеси с по-голям размер от наличната основна памет.

Следователно, вместо да зарежда един дълъг процес в основната памет, ОС зарежда различните части на повече от един процес в основната памет. Виртуалната памет се реализира най-вече със странично търсене и сегментиране на търсенето.

В този урок за операционна система ще научите:

  • Какво е виртуална памет?
  • Как работи виртуалната памет?
  • Какво е пейджинг на търсене?
  • Видове методи за подмяна на страници
  • Замяна на FIFO страница
  • Оптимален алгоритъм
  • Замяна на LRU страница
  • Предимства на виртуалната памет
  • Недостатъци на виртуалната памет

Защо се нуждаете от виртуална памет?

Ето причините за използването на виртуална памет:

  • Винаги, когато компютърът ви няма място във физическата памет, той записва това, което трябва да запомни, на твърдия диск във файл за замяна като виртуална памет.
  • Ако компютър, работещ под Windows, се нуждае от повече памет / RAM, след което е инсталиран в системата, той използва малка част от твърдия диск за тази цел.

Как работи виртуалната памет?

В съвременния свят виртуалната памет стана доста разпространена в наши дни. Използва се винаги, когато някои страници изискват да бъдат заредени в основната памет за изпълнение, а паметта не е налична за тези много страници.

Така че, в този случай, вместо да предотврати влизането на страници в основната памет, операционната система търси RAM пространството, което е минимално използвано в последно време или което не е посочено във вторичната памет, за да освободи място за новите страници в основната памет.

Нека разберем управлението на виртуалната памет с помощта на един пример.

Например:

Да приемем, че една ОС изисква 300 MB памет за съхранение на всички работещи програми. В момента обаче в RAM има само 50 MB налична физическа памет.

  • След това ОС ще настрои 250 MB виртуална памет и ще използва програма, наречена Virtual Memory Manager (VMM), за да управлява тези 250 MB.
  • Така че, в този случай VMM ще създаде файл на твърдия диск с размер 250 MB за съхранение на допълнителна памет, която е необходима.
  • Сега операционната система ще пристъпи към адресиране на паметта, тъй като разглежда 300 MB реална памет, съхранявана в RAM, дори ако има само 50 MB място.
  • Работата на VMM е да управлява памет от 300 MB, дори ако е налице само 50 MB реално място в паметта.

Какво е пейджинг на търсене?

Механизмът за пейджинг на търсене много прилича на пейджинг система с размяна, при която процесите, съхранявани във вторичната памет и страниците, се зареждат само при поискване, а не предварително.

Така че, когато се случи превключване на контекст, операционната система никога не копира никоя от страниците на старата програма от диска или която и да е от страниците на новата програма в основната памет. Вместо това ще започне да изпълнява новата програма след зареждане на първата страница и извлича страниците на програмата, на които се прави препратка.

По време на изпълнението на програмата, ако програмата се позовава на страница, която може да не е налична в основната памет, тъй като е била разменена, тогава процесорът я счита за невалидна препратка към паметта. Това е така, защото повредата на страницата и прехвърлянията изпращат контрол обратно от програмата към операционната система, която изисква да се съхранява страницата обратно в паметта.

Видове методи за подмяна на страници

Ето някои важни методи за подмяна на страници

  • FIFO
  • Оптимален алгоритъм
  • Замяна на LRU страница

Замяна на FIFO страница

FIFO (First-in-first-out) е прост метод за изпълнение. При този метод паметта избира страницата за замяна, която е била най-дълго във виртуалния адрес на паметта.

Характеристика:

  • Всеки път, когато се зарежда нова страница, страницата наскоро идва в паметта се премахва. Така че е лесно да решите коя страница трябва да бъде премахната, тъй като идентификационният й номер винаги е в стека на FIFO.
  • Най-старата страница в основната памет е тази, която първо трябва да бъде избрана за подмяна.

Оптимален алгоритъм

Оптималният метод за подмяна на страница избира тази страница за замяна, за която времето до следващата препратка е най-дълго.

Характеристика:

  • Оптималният алгоритъм води до най-малък брой грешки в страниците. Този алгоритъм е труден за изпълнение.
  • Оптималният метод за заместване на страницата има най-ниската честота на грешки в страницата от всички алгоритми. Този алгоритъм съществува и който трябва да се нарича MIN или OPT.
  • Заменете страницата, която за разлика от използването за по-дълъг период от време. Той използва само времето, когато трябва да се използва страница.

Замяна на LRU страница

Пълната форма на LRU е страницата с най-малко наскоро използвани. Този метод помага на операционната система да намери използването на страници за кратък период от време. Този алгоритъм трябва да бъде реализиран чрез свързване на брояч с четна страница.

Как работи?

  • Страницата, която не е използвана най-дълго в основната памет, е тази, която ще бъде избрана за подмяна.
  • Лесно за изпълнение, поддържайте списък, заменяйте страници, като гледате назад във времето.

Характеристика:

  • Методът за замяна на LRU има най-висок брой. Този брояч се нарича още регистри за стареене, които определят възрастта им и доколко трябва да се посочват свързаните с тях страници.
  • Страницата, която не е използвана най-дълго в основната памет, е тази, която трябва да бъде избрана за подмяна.
  • Той също така поддържа списък и заменя страниците, като гледа назад във времето.

Честота на неизправности

Честотата на неизправности е честота, с която проектирана система или компонент се проваля. Изразява се в неуспехи за единица време. Обозначава се с гръцката буква λ (ламбда).

Предимства на виртуалната памет

Ето плюсовете / ползите от използването на виртуална памет:

  • Виртуалната памет помага да се увеличи скоростта, когато за изпълнението на програмата е необходим само определен сегмент от програмата.
  • Това е много полезно при внедряването на среда за многопрограмиране.
  • Тя ви позволява да стартирате повече приложения наведнъж.
  • Той ви помага да съберете много големи програми в по-малки програми.
  • Общите данни или код могат да се споделят между паметта.
  • Процесът може да стане дори по-голям от цялата физическа памет.
  • Данните / кода трябва да се четат от диска, когато е необходимо.
  • Кодът може да бъде поставен навсякъде във физическата памет, без да е необходимо преместване.
  • В основната памет трябва да се поддържат повече процеси, което увеличава ефективното използване на процесора.
  • Всяка страница се съхранява на диск, докато не се наложи след това, тя ще бъде премахната.
  • Тя позволява да се стартират повече приложения едновременно.
  • Няма конкретно ограничение за степента на мултипрограмиране.
  • Трябва да се напишат големи програми, тъй като наличното виртуално адресно пространство е повече в сравнение с физическата памет.

Недостатъци на виртуалната памет

Тук има недостатъци / минуси от използването на виртуална памет:

  • Приложенията могат да работят по-бавно, ако системата използва виртуална памет.
  • Вероятно отнема повече време за превключване между приложения.
  • Предлага по-малко място на твърдия диск за ваше ползване.
  • Намалява стабилността на системата.
  • Позволява на по-големите приложения да се изпълняват в системи, които не предлагат достатъчно физическа RAM, за да ги изпълняват.
  • Той не предлага същата производителност като RAM.
  • Това се отразява негативно на цялостната производителност на системата.
  • Заемайте пространството за съхранение, което може да се използва иначе за дългосрочно съхранение на данни.

Резюме:

  • Виртуалната памет е механизъм за съхранение, който предлага на потребителя илюзия за много голяма основна памет.
  • Виртуалната памет е необходима, когато компютърът ви няма място във физическата памет
  • Механизмът за пейджинг на търсене много прилича на пейджинг система с размяна, при която процесите, съхранявани във вторичната памет и страниците, се зареждат само при поискване, а не предварително.
  • Важни методи за подмяна на страници са 1) FIFO 2) Оптимален алгоритъм 3) Замяна на LRU страница.
  • При метода FIFO (First-in-first-out) паметта избира страницата за замяна, която е била във виртуалния адрес на паметта най-дълго време.
  • Оптималният метод за подмяна на страница избира тази страница за замяна, за която времето до следващата препратка е най-дълго.
  • LRU методът помага на операционната система да намери използването на страницата за кратък период от време.
  • Виртуалната памет помага да се увеличи скоростта, когато за изпълнението на програмата е необходим само определен сегмент от програмата.
  • Приложенията могат да работят по-бавно, ако системата използва виртуална памет.