69308

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

Лекция

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

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

Украинкский

2014-10-03

75.5 KB

9 чел.

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


 

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

40375. Побочные эффекты транквилизаторов и их роль в пограничной психиатрии 46 KB
  Общая характеристика транквилизаторов К основным группам транквилизаторов по химической структуре относятся: 1 производные глицерола мепробамат; 2 производные бензодиазепина элениум диазепам лоразепам феназепам клоназепам альпразолам и многие другие; 3 производные триметоксибензойной кислоты триоксазин; 4 производные азапирона буспирон; 5 производные другой химической структуры амизил гидроксизин оксилидин мебикар мексидол и другие. Выделяют следующие клиникофармакологические эффекты...
40376. Противосудорожные средства 42 KB
  Все противосудорожные средства требуют динамического наблюдения за концентрацией препарата или его метаболита в крови при их применении. Максимальная концентрация в крови достигается через 612 ч после приема разовой дозы препарата. В плазме крови в связи с белками находится у взрослых на 50 у новорожденных детей на 3040. При концентрации в крови 300500 мкг мл развивается седативный эффект.
40377. ПСИХИЧЕСКИЕ НАРУШЕНИЯ, СВЯЗАННЫЕ СО СТРЕССОМ 62.5 KB
  Психические нарушения возникающие в ответ на воздействие острых катастрофических стрессовых факторов острая реакция на стресс острые стрессовые расстройства посттравматическое стрессовое расстройство. Нарушения психического приспособления: этиологические факторы клинические варианты динамика. Психические нарушения реактивного характера легче возникают у лиц ослабленных соматическими заболеваниями имеющих заболевания головного мозга травматического или сосудистого генеза некоторые акцентуации характера или личностные расстройства.
40378. Психические нарушения при интоксикациях лекарственными средствами бытовыми и промышленными токсическими веществами 39.5 KB
  Первые признаки интоксикации заключаются в появлении астении сильной сонливости расстройстве зрения. При атропиновой интоксикации возникают картины делирия с выраженным возбуждением и изменчивым аффектом а также состояния оглушения переходящего в сопор и кому. При хронической интоксикации барбитуратами наблюдаются психопатоподобные состояния с эйфорией расторможенностью расстройствами памяти значительным снижением критики. Психические нарушения близки к расстройствам при интоксикации анилином.
40379. Справочник по психиатрии: Психические расстройства сосудистого генеза 57.5 KB
  Психические нарушения сосудистого генеза отличаются большим клиническим многообразием и среди них значительное место занимают сравнительно неглубокие непсихотические нарушения неврозоподобные психопатоподобные нерезко выраженные аффективные и психоорганические изменения. Только при разных формах сосудистой деменции а также некоторых острых психозах экзогенноорганического типа патогенетическая связь между собственными закономерностями сосудистого заболевания и возникновением психических расстройств представляется прямой и очевидной. В...
40380. ПСИХОТЕРАПИЯ 41 KB
  Психотерапия в широком смысле охватывает всю область общения врача и больной. Психотерапия имеет целью устранить проявления болезни изменить отношение больного к своему состоянию самому себе и окружающему. Выделяют следующие основные методы психотерапии: 1 рациональная психотерапия; 2 суггестивная психотерапия включающая внушение наяву в состоянии гипнотического сна и самовнушение аутосуггестия; 3 коллективная групповая психотерапия семейная поведенческая игровая имаготерапия психоэстетотерапия и т.
40381. РЕАКТИВНЫЕ СОСТОЯНИЯ И ПСИХОЗЫ 49 KB
  Реактивные состояния легче возникают у психопатических личностей а также у лиц ослабленных инфекциями тяжелыми соматиче скими заболеваниями интоксикациями черепномозговыми травмами сосудистыми заболеваниями длительной бессонницей тяжелыми авита минозами и др. Реактивные состояния и психозы подразделяются на: 1 аффективношоковые психогенные реакции; 2 депрессивные психогенные реакции реактивная депрессия; 3 реактивные пси хогенные бредовые психозы; 4 истерические психотические реакции или истерические психозы. В большинстве...
40383. СИНДРОМ СВЕРХЦЕННЫХ ИДЕЙ 23 KB
  Сверхценные идеи сопровождаются выраженным аффективным напряжением. Сверхценные идеи отличаются от бреда толкования интерпретативного тем что в их основе реальные факты и события а источники интерпретативного бреда целиком ошибочные неправильные умозаключения. Сверхценные идеи с течением времени при определенных условиях блекнут и исчезают а бредовые имеют тенденцию к дальнейшему развитию. Сверхценные идеи нередко сопутствуют депрессиям и бывают при этом тесно связаны с бредом самообвинения.