Виртуелне меморије

Виртуелна меморија омогућава повећање капацитета унутрашње меморије користећи спољашњу меморију. Виртуелна меморија омогућава да корисник пише програме као да користи адресни простор једнак укупном капацитету спољашње меморије, али је брзина приступа приближно једнака брзини унутрашње меморије. Виртуелна меморија омогућава динамичко учитавање блокова меморијског простора који се називају странице или сегменти, што значи да се подаци и програми који су потребни преносе из спољашње меморије у унутрашњу меморију тек онда кад су заиста потребни.

Цео простор спољашње меморије подељен је на странице које садрже од 256 до 1024, па чак и више меморијских речи. Оперативна меморија такође се дели на странице исте величине. Програми (или њихови делови) и подаци увек се преносе у обиму једне странице између унутрашње и спољашње меморије.

vm

При коришћењу виртуелне меморије постоји већи број адреса. Адресе које користи програмер зову се виртуелне адресе. Скуп виртуелних адреса сачињава виртуелни адресни простор. Адреса оперативне меморије назива се физичка адреса. Скуп физичких адреса сачињава примарни (физички) адресни простор.

Да би почело извршавање програма једна или више страница се преносе у оперативну меморију. Програм се извршава коришћењем оперативне меморије све док процесор не покуша обраћање инструкцији или податку који се налази на спољној меморији. Тада се позивају програми који су део система за управљање виртуелном меморијом. Систем за управљање виртуелном меморијом најчешће је комбинација хардвера исофтвера, а треба да реши следеће проблеме:

  • превођење виртуелне адресе – виртуелна адреса коју користи процесор преводи се у физичку адресу
  • замена страница – избор странице коју треба вратити у спољашњу меморију да би се ослободило место за нову страницу.

виртуелна меморија
av – виртуелна адреса,
af – физичка адреса,
avs – адреса виртуелне странице,
afs – адреса физичке странице,
ac – адреса локације унутар странице (померај)

Свака виртуелна адреса треба да се преведе у физичку адресу где ће бити смештена страница позвана са спољашње меморије. Систем за управљање виртуелном меморијом води евиденцију где је која страница смештена у оперативној меморији, најчешће користећи страничну таблицу (таблицу пресликавања виртуелних адреса). Странична таблица реализована је као асоцијативна меморија која као кључ користи адресу виртуелне странице, а информациони део је адреса физичке странице. Осим тога, информационом делу додају се и неки статусни битови које систем за управљање виртуелном меморијом користи за своје потребе.

При замени страница у спољашњу меморију враћа се страница која је по неком критеријуму најмање актуелна, а у оперативној меморији на њено место преноси се тражена страница. Најчешће се користе следећи алгоритми замене страница:

  • редослед уношења страница – замењује се страница која се најдуже налази у оперативној меморији
  • најраније коришћена страница – замењује се страница која је коришћена пре свих осталих страница у оперативној меморији
  • најређе коришћена страница – замењује се страница која је најмање била активна
Advertisements

One thought on “Виртуелне меморије

  1. Повратни пинг: Управљање меморијом – Рачунари и програмирање

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s