69308

Основи технології віртуальної пам’яті

Лекция

Информатика, кибернетика и программирование

Віртуальна пам’ять — це технологія, в якій вводиться рівень додаткових перетворень між адресами пам’яті, використовуваних процесом, і адресами фізичної пам’яті комп’ютера. Такі перетворення мають забезпечувати захист пам’яті та відсутність прив’язання процесу до адрес фізичної пам’яті.

Украинкский

2014-10-03

75.5 KB

12 чел.

Лекція № 12

Тема: Основи технології віртуальної пам'яті

План

  1.  Поняття віртуальної пам’яті
  2.  Проблеми реалізації. Фрагментація
  3.  Логічна і фізична адресація
  4.  Підхід базового і межового регістрів

Поняття віртуальної пам'яті

Віртуальна пам'ять — це технологія, в якій вводиться рівень додаткових перетворень між адресами пам'яті, використовуваних процесом, і адресами фізичної пам'яті комп'ютера. Такі перетворення мають забезпечувати захист пам'яті та відсутність прив'язання процесу до адрес фізичної пам'яті.

Завдяки віртуальній пам'яті фізична пам'ять адресного простору процесу може бути фрагментованою, оскільки основний обсяг пам'яті, яку займає процес, більшу частину часу залишається вільним. Є так зване правило «дев'яносто до десяти», або правило локалізації, яке стверджує, що 90 % звертань до пам'яті у процесі припадає на 10 % його адресного простору. Адреси можна переміщати так, щоб основній пам'яті відповідали тільки ті розділи адресного простору процесу, які справді використовуються у конкретний момент.

При цьому невикористовуванні розділи адресного простору можна ставити у відповідність повільнішій пам'яті, наприклад простору на жорсткому диску, а в цей час інші процеси можуть використовувати основну пам'ять, у яку раніше відображалися адреси цих розділів. Коли ж розділ знадобиться, його дані завантажують з диска в основну пам'ять, можливо, замість розділів, які стали непотрібними в конкретний момент (і які, своєю чергою, тепер збережуться на диску). Дані можуть зчитуватися з диска в основну пам'ять під час звертання до них.

У такий спосіб можна значно збільшити розмір адресного простору процесу і забезпечити виконання процесів, що за розміром перевищують основну пам'ять.

Проблеми реалізації віртуальної пам'яті. Фрагментація пам'яті

Основна проблема, що виникає у разі використання віртуальної пам'яті, стосується ефективності її реалізації. Оскільки перетворення адрес необхідно робити під час кожного звертання до пам'яті, недбала реалізація цього перетворення може призвести до найгірших наслідків для продуктивності всієї системи. Якщо для більшості звертань до пам'яті система буде змушена насправді звертатися до диска (який у десятки тисяч разів повільніший, ніж основна пам'ять), працювати із такою системою стане практично неможливо. Питання підвищення ефективності реалізації віртуальної пам'яті буде розглянуто в розділі 9.

Ще однією проблемою є фрагментація пам'яті, що виникає за ситуації, коли неможливо використати вільну пам'ять. Розрізняють зовнішню і внутрішню фрагментацію пам'яті (рис. 8.2).

Зовнішня зводиться до того, що внаслідок виділення і наступного звільнення пам'яті в ній утворюються вільні блоки малого розміру — діри (holes). Через це може виникнути ситуація, за якої неможливо виділити неперервний блок пам'яті розміру N, оскільки немає жодного неперервного вільного блоку, розмір якого S>N, хоча загалом обсяг вільного простору пам'яті перевищує N. Так, на рис. 8.2 для виконання процесу Р5 місця через зовнішню фрагментацію не вистачає.

Внутрішня фрагментація зводиться до того, що за запитом виділяють блоки пам'яті більшого розміру, ніж насправді будуть використовуватися, у результаті всередині виділених блоків залишаються невикористовуванні ділянки, які вже не можуть бути призначені для чогось іншого.

Логічна і фізична адресація пам'яті

Найважливішими поняттями концепції віртуальної пам'яті є логічна і фізична адресація пам'яті.

Логічна або віртуальна адреса - адреса, яку генерує програма, запущена на деякому процесорі. Адреси, що використовують інструкції конкретного процесора, є логічними адресами. Сукупність логічних адрес становить логічний адресний простір.

Фізична адреса — адреса, якою оперує мікросхема пам'яті. Прикладна програма в сучасних комп'ютерах ніколи не має справи з фізичними адресами. Спеціальний апаратний пристрій MMU (memory management unit — пристрій керування пам'яттю) відповідає за перетворення логічних адрес у фізичні. Сукупність усіх доступних фізичних адрес становить фізичний адресний простір. Отже, якщо в комп'ютері є мікросхеми на 128 Мбайт пам'яті, то саме такий обсяг пам'яті адресують фізично. Логічно зазвичай адресують значно більше пам'яті.

Найпростіша схема перетворення адрес зображена на рис. 8.3.

Специфіку перетворення логічних адрес у фізичні визначають різні підходи до керування оперативною пам'яттю, вивчення яких буде основною темою цього розділу.

Підхід базового і межового регістрів

Під час реалізації віртуальної пам'яті необхідно забезпечити захист пам'яті, переміщення процесів у пам'яті та спільне використання пам'яті кількома процесами.

Одним із найпростіших способів задовольнити ці вимоги є підхід базового і межового регістрів. Для кожного процесу в двох регістрах процесора зберігають два значення — базової адреси (base) і межі (bounds). Кожний доступ до логічної адреси апаратно перетворюється у фізичну адресу шляхом додавання логічної адреси до базової. Якщо отримувана фізична адреса не потрапляє в діапазон (base, base+bounds), вважають, що адреса невірна, і генерують помилку (рис. 8.4).

Такий підхід є найпростішим прикладом реалізації динамічного переміщення процесів у пам'яті. Усі інші підходи, які буде розглянуто в цьому розділі, є різними варіантами розвитку цієї базової схеми. Наприклад, те, що кожний процес у разі використання цього підходу має свої власні значення базового і межового регістрів, є найпростішою реалізацією концепції адресного простору процесу, яка ґрунтується на тому, що кожний процес має власне відображення пам'яті.

Для організації захисту пам'яті в цій ситуації необхідно, щоб застосування користувача не могли змінювати значення базового і межового регістрів. Достатньо інструкції такої зміни зробити доступними тільки у привілейованому режимі процесора.

До переваг цього підходу належать простота, скромні вимоги до апаратного забезпечення (потрібні тільки два регістри), висока ефективність. Однак сьогодні його практично не використовують через низку недоліків, пов'язаних насамперед з тим, що адресний простір процесу все одно відображається на один неперервний блок фізичної пам'яті: незрозуміло, як динамічно розширювати адресний простір процесу; різні процеси не можуть спільно використовувати пам'ять; немає розподілу коду і даних.

За такого підходу для процесу виділяють тільки одну пару значень «базова адреса-межа». Природним розвитком цієї ідеї стало відображення адресного простору процесу за допомогою кількох діапазонів фізичної пам'яті, кожен з яких задають власною парою значень базової адреси і межі. Так виникла концепція сегментації пам'яті.

Питання для самоконтролю:

  1.  Поняття віртуальної пам’яті.
  2.  Зовнішня і внутрішня фрагментація.
  3.  Логічна адреса.
  4.  Фізична адреса.
  5.  Підхід базового регістру.
  6.  Підхід межового регістру.


 

А также другие работы, которые могут Вас заинтересовать

52103. Води суходолу Африки 890.5 KB
  Мета: сформувати в учнів уявлення про особливості вод суходолу Африки; охарактеризувати головні річкові системи та басейни основні типи озер; систематизувати знання учнів про гідрологічні особливості території; продовжити формування практичних умінь характеристики водних ресурсів; сформувати поняття учнів про гідроекологічні проблеми Африки; удосконалити навички роботи з картами атласу контурною картою; виховувати бережливе ставлення до природи водних...
52104. Африка. Особливості географічного положення та історія дослідження материка 101 KB
  Мета: ознайомити учнів з історією дослідження Африки, своєрідністю природи материка, яка пов`язана з особливостями географічного положення, сформувати уявлення про періоди дослідження материка; закріпити вміння визначити координати крайніх точок материка; розвивати творчу уяву...
52105. Внутрішні води Африки 53 KB
  Кагера що впадає в озеро Вікторія. Що таке озеро Які за походженням вони бувають Виступи дітей ОЗЕРА Більшість озер Африки розташовані уздовж Східноафриканських розломів. Найбільше з них озеро Танганьїка глибиною 1470 метрів друге за глибиною після Байкалу і найдовше світі озеро 670 км. Найбільше озеро Африки і друге за площею пріноводне озеров світі після о.
52106. Agatha Christie 72 KB
  Аgatha Mary Clarissa Christie is possibly the worlds most famous detective story writer. She wrote 79 novels and several plays. Her sales outnumber those of William Shakespeare. However, behind her 4,680,000 words was a painfully shy woman whose life was often lonely and unhappy.
52107. Я і мої друзі - лідери здоровя 269.5 KB
  Так працюючи за програмою Сприяння просвітницькій роботі Рівний Рівному серед молоді України щодо здорового способу життя я маю можливість формувати здоровязберігаючу компетентність учнів орієнтувати дітей та молодь на здоровий спосіб життя виховувати у них відповідальне ставлення до здоровя. Однією із дієвих форм пропаганди учасниками програми здорового способу життя серед широких учнівських мас є створення і виступи агітбригади яка є близькою і зрозумілою для всіх томущо в ній є творче вираження та активна подача великого...
52108. Was ist Deutschland für uns 38 KB
  Die Musik ist eine Kunst. Ich habe Music gern. In Deutschland können Sie Philharmonie besuchen, und schöne Music hören. Hören die Werk des bekannten Musikers. Solche wie: Iogan Bach, Ludwig van Bethoven, Brahms Johannes. Horen die Werk des Großen Musikers.
52109. Сценарий выступления агитбригады молодых творческих педагогов 88.5 KB
  Карманова Деньгиденежки затем на мотив песни группы Гринджоли Разом нас багато Разом вас багато Всіх не прогодувати Председатель ПК: ах так Ну теперь держитесь отходит в сторону зовёт членов ПК Члены Пк берут транспаранты: ПК нас защитит и ходят по сцене со словами: Разом нас багато Всіх не подолати 3 раза Министр выглядывает кусает губыприносит приказ на повышение З п председателю ПК Все радуются обнимаютсяуходят со сцены Вера Васильевна: вот это да к самому министру не побоялись поехать Ирина Владимировна:...
52110. World AIDS Day is December 1st 70.5 KB
  Ukraine has an HIV/AIDS epidemic. UNAIDS estimates the number of people infected with HIV/AIDS to be between 260 000 and 590 000. The cases of HIV have doubled every year for the past three years. Experts estimate that 1.4 percent of the adult population is HIV positive or has AIDS. This is the highest rate of infection in Eastern Europe and the CIS states. Unfortunately, it is also estimated that about 90 percent of these people don't know, and arent registered with the government thus not receiving the treatment.
52111. Оглянись внимательно вокруг 49.5 KB
  Что по вашему мнению мы должны заложить в фундамент Дома личности способности здоровье окружение Стены можно сравнить с характером человека Их каких кирпичиков по вашему мнению мы возведём стены Дома личности доброта терпение любовь дружба понимание милосердие терпение уважение целеустремленностть Что может быть светом в окошке нашего дома Умение любить людей Что украшает наш дом жизнерадостность оптимизм внешность увлечения духовность И наконец что венчает любой дом Его крыша. Все названные...