Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Оперативна пам'ять

Предмет: 
Тип роботи: 
Реферат
К-сть сторінок: 
41
Мова: 
Українська
Оцінка: 

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

 
5. Управління віртуальною пам'яттю
 
5.1 Організація ВП
 
ВП відрізняється від звичайної ОП тим, що якісь її рідко використовувані фрагменти можуть знаходитися на диску і довантажуватися в реальну ОП у міру необхідності. Така організація пам'яті дозволяє зняти обмеження, що накладається обсягом фізичної пам'яті, установленої на ЕОМ. Для реалізації ВП використовують, наприклад, динамічну переадресацію. Сегментом у термінах ВП називається область пам'яті з 2L сторінок. Спочатку по номеру в таблиці сегментів відшукується сегмент. Таблиця сегментів містить початкову адресу таблиці сторінок. Друга частина адресу використовується для звертання в цю таблицю, і по ній знаходиться фізичний адрес даної сторінки. Результати пошуку по таблицях запам'ятовуються у швидкодіючому асоціативному ЗП, названому TLB. Найбільш часто вживані адреси відкладаються в TLB і тому 98-99% звертань до пам'яті йдуть без перегляду таблиць.
Сторінкова організація пам'яті – організація, при якій адресний простір пам'яті розбивається на малі ділянки – сторінки. Використовується для керування пам'яттю в системах, що працюють у захищеному режимі. Як правило, така організація пам'яті має на увазі пейджинг – механізм ВП, при якому сторінки витісняються на диск і підкачуються з диска.
Кожен сегмент має зв'язок з дисковим простором, на якому зберігаються дані, відображувані в даний сегмент ВАП. Це може бути чи файл частина файлу на диску, чи ж це може бути область свопінгу, що файлом не є. Сегмент чи сегмент коду ініціалізованих даних звичайно зв'язаний з файлом, у якому зберігається програма, що виконується. Під зв'язком з файлом розуміється відображення віртуального сегмента і його сторінок на визначену область диска, з якої завантажуються дані віртуальних сторінок сегмента при їхньому переміщенні в ОП, а також куди містяться дані при витисненні віртуальних сторінок на диск. Віртуальні сторінки, що були споконвічно узяті з визначеного файлу, називаються vnode-сторінками, а сторінки, що з'явилися тільки при розгортанні процесу (а це звичайно сторінки чи стека неініціалізованих сегментів даних) – анонімними сторінками. Однак анонімні сторінки також мають зв'язок з файлом, у який вони виштовхуються при їхньому витисненні з фізичної пам'яті (так званий свопінг-прилад). На свопінг-прилад також указує vnode, тому в цій якості може виступати будь-як файл, а переміщення сторінок зі свопінг-прилад в пам'ять здійснюється тими ж функціями, що використовуються для vnode-сторінок.
Віртуальний адресний простір. Теоретично будь-який ВАП може бути розрідженим, так що здатність використовувати велику кількість розкиданих секцій не є в дійсності властивістю архітектури ВП. Іншими словами, будь-яка 32-х бітна машина повинна дозволяти процесу мати 50 000 секцій даних, розділених проміжками по 100 Мбайт, у межах від 0 до 4 Гбайт. Однак, у багатьох реалізаціях лінійна сторінкова таблиця від 0 до самої старшої використовуваної сторінки зберігається в пам'яті ядра. На машині з розміром сторінки в 1 Kб. ця конфігурація вимагає 4 мільйони елементів таблиці сторінок, роблячи таку схему дуже дорогою. Навіть при багаторівневій організації сторінкової таблиці така розрідженість у кращому випадку неприйнятна. Наприклад у ядрі Mach ОC UNIX при його розробці споконвічно ставилася задача повної підтримки розріджених адресних просторів.
 
Мал. 26. Адресний простір із призначеними областями, відображеними об'єктами і не використовуваними адресами
 
Ключовим поняттям, зв'язаним з використанням ВАП, є об'єкт пам'яті (memory object). Об'єкт пам'яті може бути сторінкою чи набором сторінок, а також може бути файлом чи більш спеціальною структурою даних, наприклад, записом БД. Об'єкт пам'яті може бути відображений у не використовувану частину ВАП, формуючи нову область, як це показано на рис. 26. Коли файл відображений у ВАП, то його можна читати в нього чи можна писати за допомогою звичайних машинних команд. Відображені (mapped) файли посторінково витісняються з пам'яті звичайним чином. Коли процес завершується, то його відображені в пам'ять файли автоматично повертаються у ФС разом із усіма змінами, що відбулися з їхнім змістом у той час, коли вони були відображені в пам'ять. Також можливо скасувати відображення файлу іншого об'єкта пам'яті, звільняючи його адресний простір і роблячи його доступним для послідовного його розподілу відображення.
Звичайно, відображення файлів у пам'ять не єдиний спосіб доступу до них. Їхній вміст можна читати і звичайним способом. Однак і в цьому випадку бібліотечні функції можуть відображати файли в пам'ять крім бажання користувача, а не використовувати систему в/в. Такий спосіб дозволяє сторінкам файлів використовувати систему ВП, а не спеціально виділені буфери де-небудь у системі.
 
Таблиця
Примітиви для керування віртуальним адресним простором 
Виклик Опис 
Allocate Робить область віртуального адресного простору використовуваною
Deallocate Звільняє область віртуального адресного простору 
Map Відображає об'єкт пам'яті у віртуальний простір 
Copy Копіює область в інший діапазон віртуальних адрес 
Inherit
Фото Капча