Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
report (1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
945.66 Кб
Скачать

1.4 Віртуальний адресний простір 32–бітних систем

Віртуальний адресний простір кожного процесу розбивається на розділи, розмір і призначення яких залежать від версії Windows. Розділ для виявлення нульових вказівників резервується, щоб полегшити розробникам програмного забезпечення виявляти нульові вказівники. Спроба читання або запису за цими адресами викликає порушення доступу. Якщо в програмі відсутня належна обробка помилок, то при невдалій спробі виділення пам’яті за вказівником він може мати нульове значення. Тоді спроба звертання до даних за таким вказівником (тобто за адресою $00000000) буде явно помилковою. Оскільки цей розділ адресного простору заблокований, виникне виняткова ситуація некоректного доступу до пам’яті. Ця особливість допомагає програмістам виявляти помилки у програмах.

Розділ для коду й даних є закритою частиною адресного простору процесу.

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

Структура віртуального адресного простору в 32–бітних системах зображена на рис. 1.1.

Рис. 1.1 – Структура віртуального адресного простору в 32–бітних системах

1.5 Сторінковий файл

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

1.6 Апаратна підтримка

Апаратна підтримка здійснюється за допомогою компонента Memory Management Unit(Блок управління пам’яттю, MMU) – це компонент апаратного забезпечення комп’ютера, що відповідає за управління доступом до пам’яті, запитуваною центральним процесором. Його функції полягають у трансляції адрес віртуальної пам’яті в адреси фізичної пам’яті (тобто управління віртуальною пам’яттю), захисту пам’яті, управлінні кеш–пам’яттю, арбітражем шини і, в більш простих комп’ютерних архітектурах (особливо 8–бітних), перемиканням блоків пам’яті. Іноді також згадується як блок управління сторінкової пам’яттю.

Принцип роботи сучасних MMU заснований на поділі віртуального адресного простору (одновимірного масиву адрес, використовуваних центральним процесором) на ділянки однакового, як правило кілька кілобайт, хоча, можливо, й істотно більшого, розміру рівного ступеня 2, звані сторінками. Молодші n біт адреси (зміщення всередині сторінки) залишаються незмінними. Старші біти адреси являють собою номер (віртуальної) сторінки. MMU зазвичай перетворює номера віртуальних сторінок в номери фізичних сторінок використовуючи буфер асоціативної трансляції (англ. Translation Lookaside Buffer, TLB). Якщо перетворення за допомогою TLB неможливо, включається більш повільний механізм перетворення, заснований на специфічному апаратному забезпеченні або на програмних системних структурах. Дані в цих структурах як правило називаються елементами таблиці сторінок (англ. Page table entries, PTE), а самі структури – таблицями сторінок (англ. Page table, PT). Конкатенація номера фізичної сторінки зі зміщенням всередині сторінки дає фізичну адресу.

Елементи PTE або TLB можуть також містити додаткову інформацію: біт ознаки записи в сторінку (англ. Dirty bit), час останнього доступу до сторінки (англ. Accessed bit, для реалізації алгоритму заміщення сторінок найбільш давно використаний (англ. Least recently used, LRU) , які процеси (користувальницькі (англ. user mode) або системні (англ. supervisor mode)) можуть читати або записувати дані в сторінку, чи необхідно кешувати сторінку.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]