загрузка...
загрузка...
На головну

Сторінкова організація віртуальної пам'яті

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

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

Заміна ВА на фізичну адресу в цілому відбувається аналогічно такої заміни для віртуальної пам'яті сегментной організації. Використовується створювана операційною системою таблиця віртуальних сторінок, кожен рядок якої відповідає одній віртуальній сторінці і містить номер фізичної сторінки, що містить інформацію цієї віртуальної сторінки. У цьому ж рядку таблиці знаходиться ознака наявності даної віртуальної сторінки у фізичній пам'яті. Якщо необхідна віртуальна сторінка присутня у фізичній пам'яті, то фізичну адресу для безпосереднього звернення до пам'ять утворюється заміною номера віртуальної сторінки на номер фізичної сторінки з відповідного рядка таблиці відповідності. Якщо ж необхідна віртуальна сторінка в фізичної пам'яті відсутній, то операційна система переміщує її ( "підкачує") з зовнішньої пам'яті на фізичну сторінку, номер якої визначається з використанням застосовуваного алгоритму "заміщення" сторінок в фізичної пам'яті. Можуть використовуватися різні алгоритми: "першим прийшов - першим вийшов", за давністю використання та ін.

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

Використання для заміщення сторінок таблиці віртуальних сторінок в оперативній пам'яті призводить (як і для сегментної віртуальної пам'яті) до 100% накладних витрат. Властивість "локальності" програми також як і для випадку сегментной віртуальної пам'яті дозволяє успішно використовувати для заміни адрес "швидку" таблицю "адресному трансляції" на регістрах. Рядки такої таблиці містять як віртуальний номер сторінки, так і відповідний йому номер фізичної сторінки. Асоціативний пошук для заміни ВА на фізичний відбувається в таблиці адресному трансляції по номеру віртуальної сторінки. У разі "промаху" при пошуку в таблиці адресному трансляції проводиться перепис необхідної рядки в таблицю адресному трансляції з таблиці віртуальних сторінок в оперативній пам'яті.

Безсумнівною перевагою сторінкової віртуальної пам'яті є забезпечення щільного заповнення фізичної пам'яті і ефективної заміни інформації (сторінок) в ній.

При помітному числі сторінок, використовуваних завданням, недовикористання обсягу останньої сторінки ( "внутрішня фрагментація") не є суттєвим.

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

Сегментна організація пам'яті. «-- попередня | наступна --» Сегментно-сторінкова організація віртуальної пам'яті.
загрузка...
© om.net.ua