69308

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

Лекция

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

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

Украинкский

2014-10-03

75.5 KB

8 чел.

Лекція № 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.  Підхід межового регістру.


 

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

47556. Менеджмент организации. Учебно-методическое пособие 619 KB
  В учебно-методическом пособии сформулированы основные требования предъявляемые к организации и проведению преддипломной практики содержанию дипломного проекта его оформлению и защите. Предложена примерная тематика исследований и приведены формы основных документов необходимых для оформления отчета по преддипломной практике и дипломного проекта. Цель дипломного проектирования [2. Выбор темы дипломного проекта [2.
47557. ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА МЕНЕДЖЕРА 949.5 KB
  Методические указания освещают вопросы выбора темы и написания выпускной квалификационной работы дипломного проекта требования по оформлению и защите а также содержат примерный перечень тем дипломных проектов рекомендуемую литературу и критерии оценки дипломных проектов. Организация выполнения дипломного проекта 4 1.1 Цели и задачи дипломного проекта 1.3 Основные этапы выполнения дипломного проекта 1.
47560. Принципи та технології легування, спеціальні сталі 198.5 KB
  Спеціальні сталі – це сталі властивості яких на відміну від звичайних вуглецевих сталей обумовлені як способом виробництва так і способом обробки та хімічним складом. В останньому випадку сталі називають легованими і вони є найбільш розповсюдженими спеціальними сталями....
47561. Разработка и принятие управленческих решений по организации изготовления или сборки машиностроительных изделий. Методические указания 420 KB
  Разработка управленческого решения должна осуществляться до начала организации изготовления или сборки изделия и направлена на эффективное использование материальных энергетических трудовых и финансовых ресурсов в процессе изготовления или сборки изделия. Запас финансовой прочности изделия определяемый по формуле: Зф.= Nгод Nкр x 100 Nгод 2 где Nгод годовой объем изготовления изделия в штуках; Nкр критический объем изготовления...
47562. Методические указания. Менеджмент 164.5 KB
  Эффективный менеджер: роли и функции в организации профессиональные и личные качества. Анализ взаимосвязей внутренних переменных организации. Внешняя среда организации: основные характеристики; среда прямого воздействия. Эффективность системы планирования в организации.
47564. Понятие предмет и метод экономического анализа 47 KB
  Методом ЭА является системное комплексное изучение, измерение и обобщение влияние факторов на результаты деятельности предприятия путем обработки специальными приемами системных показателей, плана, учета, отчетности и других источников информации с целью повышения эффективности производства.