Ця стаття потребує уваги й турботи фахівця у своїй галузі. |
Ця стаття містить , але походження тверджень у ній через практично повну відсутність . (16 грудня 2018) |
Модуль керування пам'яттю (МКП), іноді званий модулем керування сторінковою пам'яттю (МКСП), — комп'ютерний апаратний модуль, що має всі посилання на пам'ять, які проходять через нього, насамперед транслюючи [en] у фізичні. Він зазвичай реалізований як частина центрального процесора (ЦП), але також може бути у вигляді окремої мікросхеми.
МКП ефективно виконує керування віртуальною пам'яттю, одночасно оброблюючи захист пам'яті, контроль кешу, [en]шин і, у простіших комп'ютерних архітектурах (особливо 8-бітних системах), перемикання банків.
Огляд
Сучасні MMU зазвичай ділять віртуальний адресний простір (діапазон адрес, використовуваних процесором) на сторінки, розмір кожної з яких є степенем 2, зазвичай кілька кілобайтів, але вони можуть бути значно більшими. Нижні біти адреси (зміщення всередині сторінки) залишаються незміненими. Верхні біти адреси є номерами віртуальних сторінок.
Записи таблиці сторінок
Більшість МКП використовують таблиці елементів у пам'яті, звані «таблицями сторінок», що містить один «запис таблиці сторінок» (ЗТС) на сторінку, для відображення віртуальних номерів сторінок у фізичні в основній пам'яті. Асоціативний кеш ЗТС називається буфером асоціативної трансляції (БАТ) та використовується для уникнення необхідності доступу до основної пам'яті при кожному відображенні віртуальної адреси. Інші МКП можуть мати приватний масив пам'яті чи регістри, що містять набір записів таблиці сторінок. Фізичні номери сторінок об'єднуються зі зміщеннями сторінок і дають повну фізичну адресу.
ЗТС також може включати інформацію про те, чи була сторінка записана ([en]»), коли її було востаннє використано («біт доступу», для за [en] (LRU) задачі заміщення сторінок), який вид процесів ([en] чи режиму супервізора) можуть читати та писати її, і чи повинна вона кешуватися.
Іноді ЗТС забороняє доступ до віртуальної сторінки, можливо, через відсутність фізичної пам'яті з довільним доступом, виділеної цій сторінці. У цьому випадку МКП сигналізує ЦП про [en]. Потім операційна система (ОС) обробляє ситуацію, можливо, намаганням знайти вільну сторінку RAM і встановити новий ЗТС для відображення цієї сторінки на запитувану віртуальну адресу. За відсутності вільної RAM може бути необхідним обрати деяку сторінку (відому як «жертва») з використанням деякого алгоритму заміни та зберегти її на диск (цей процес називається «підкачуванням»). З деякими МКП також можлива нестача ЗТС, у цьому випадку ОС матиме звільнити його для нового відображення.
МКП також можуть генерувати стани помилки незаконного доступу чи [en] за незаконного доступу чи доступу до неіснуючої пам'яті відповідно, що призводить до помилки сегментації чи [en] під час обробки операційною системою.
Переваги
У деяких випадках відмова сторінки може позначати баг, якому можна запобігти шляхом використання захисту пам'яті як однієї з ключових переваг МКП: операційна система може його використати для захисту від помилкових програм шляхом заборони доступу до пам'яті, до якої конкретна програма не повинна мати доступ. Зазвичай операційна система призначає кожній програмі власний віртуальний адресний простір.
МКП також пом'якшує проблему [en] пам'яті. Після виділення та звільнення блоків пам'яті вільна пам'ять може стати фрагментованою (розривною) так, що найбільший послідовний блок вільної пам'яті може бути набагато меншим за загальний обсяг. Із віртуальною пам'яттю сусідній діапазон віртуальних адрес може відображатися на декілька непослідовних блоків фізичної пам'яті; це непослідовне виділення є однією з переваг підкачки.
У деяких ранніх конструкціях мікропроцесорів керування пам'яттю здійснювалося окремою мікросхемою, як-от схеми надвеликого рівня інтеґрації VI475 (1986), [en] (1984, для використання разом з процесором [en]), або Z8015 (1985), що використовується в родині процесорів Zilog Z8000. Пізніші мікропроцесори (як-от [en], [en] і Intel 80386) розміщували MMU на одному кристалі з процесором.
Тоді як дана стаття зосереджується на сучасних МКП, зазвичай на основі сторінок, ранні системи використовували аналогічну концепцію для адресації з базовою межею, що в подальшому було розвинуто до сегментації. Вони іноді також присутні в сучасних архітектурах. Архітектура x86 забезпечує сегментацію, але не підкачку, в 80286, і забезпечує підкачку та сегментацію в 80386 і пізніших процесорах (хоча використання сегментації недоступне в 64-бітних операціях).
Приклади
Більшість сучасних систем ділять пам'ять на сторінки розміром 4-64 кБ, часто зі здатністю використовувати величезні сторінки розміром від 2 МБ до 1 ГБ. Трансляції сторінок кешуються у буфері асоціативної трансляції (БАТ). Деякі системи, переважно старіших RISC конструкцій, викликають спеціальне переривання у ОС, якщо трансляцію сторінки не знайдено в БАТ. Більшість систем використовують апаратний обхідник дерев. Більшість систем дозволяють МКП вимикатися, але деякі вимикають МКП, потрапляючи до коду ОС.
VAX
VAX сторінки сягають 512 байтів, що дуже мало. ОС може розглядати їх так, якби вони були єдиною більшою сторінкою. Наприклад, Linux на VAX групує разом вісім сторінок. Таким чином, система розглядається такою, що має 4 кБ сторінки. VAX ділить пам'ять на чотири ділянки з фіксованим призначенням розміром 1 ГБ кожна. Це:
- Простір P0
- Використовується для пам'яті загального призначення для кожного процесу, як-от купи.
- Простір P1
- (контрольний простір) також для кожного процесу та зазвичай використовується для супервізора, виконавчих, ядра та користувацьких стеків, а також інших контрольних структур для кожного процесу, керованих операційною системою.
- Простір S0
- (системний простір) глобальний для всіх процесів і зберігає код і дані операційної системи, підкачені чи ні, включно з таблицями сторінок.
- Простір S1
- Не використовується та «зарезервований для Digital».
Таблиці сторінок є великими лінійними масивами. Як правило, це дуже марнотратно, коли адреси використовуються на обох кінцях можливого діапазону, але сама таблиця сторінок для застосунків зберігається в підкаченій пам'яті ядра. Таким чином, ефективне дворівневе дерево дозволяє застосункам мати запасний розподіл пам'яті, не витрачаючи багато місця на невикористані записи таблиць сторінок. МКП VAX відрізняються відсутністю біту «доступний». Для ефективної роботи ОС, які реалізують підкачування сторінок, повинні знайти деякий спосіб емуляції такого біту. Зазвичай ОС періодично скасовує відображення сторінок так, що відмови неіснуючої сторінки можуть використовуватися, аби дати ОС встановити доступний біт.
ARM
Прикладні процесори на основі архітектури ARM реалізують МКП, визначені системною архітектурою віртуальної пам'яті ARM. Поточна архітектура визначає ЗТС для опису 4 кБ і 64 кБ сторінок, 1 МБ розділів і 16 МБ надрозділів; успадковані версії також визначають 1 кБ крихітні сторінки. ARM використовує дворівневу таблицю сторінок при використанні 4 кБ і 64 кБ сторінок, або просто однорівневими таблицями сторінок для 1 МБ розділів і 16 МБ розділів.
Оновлення БАТ виконуються автоматично апаратним забезпеченням обходу таблиці сторінок. ЗТС включають дозвіл доступу на читання та запис на основі привілеїв, кешування інформації, NX bitу та незахищеного біту.
IBM System/360 Model 67, IBM System/370 і наступники
Мейнфрейм (IBM System/360 Model 67), представлений серпні 1965 року, мав окрему схему керування сторніками пам'яті, що називалася англ. DAT box (Dynamic Address Translation). DAT box мав досить незвичайну можливість зберігання бітів сторінки «було звернення» (англ. accessed) та «брудна» (англ. dirty) поза таблицею сторінок. Вони[] посилаються на фізичну пам'ять, а не на віртуальну, і доступ до них надається інструкціями спеціального призначення. Це зменшує накладні витрати для ОС, яка інакше мала б поширювати біти accessed і dirty з таблиць сторінок до більш фізично-орієнтованої структури даних. Це спрощує віртуалізацію на рівні ОС[].
Починаючи з серпня 1972 року (IBM System/370) має схожий МКП, хоча він спочатку підтримував лише 24-бітний віртуальний адресний простір, а не 32-бітний із System/360 Model 67. Він також зберігав біти «було звернення» та «брудна» поза таблицею сторінок. На початку 1983 року архітектура System/370-XA розширила віртуальний адресний простір до 31 біту, а 2000 року було представлено 64-бітну [en] з розширеним адресним простором до 64 бітів; вона продовжила зберігати біти статусу сторінки (accessed і dirty) поза таблицею сторінок.
DEC Alpha
Процесор DEC Alpha ділить пам'ять на 8 кБ сторінки. Після промаху БАТ низькорівневий вбудований машинний код (тут названий [en]) обходить трирівневу деревоподібну таблицю сторінок. Адресація розбита наступним чином: 21 біт не використовується, по 10 бітів індексують кореневий, середній і рівень листя дерева, а 13 бітів проходять до фізичної адреси без модифікацій. Підтримуються повні біти дозволу на читання, запис і виконання.
MIPS
Архітектура MIPS підтримує до 64 записів у БАТ. Кількість записів БАТ налаштовується у конфігурації ЦП до синтезу. Записи БАТ подвійні. Кожен запис БАТ відображає номер віртуальної сторінки (НВС2) на один із двох номерів кадру сторінок (НКС0 чи НКС1) залежно від останнього значущого біту віртуальної адреси, що не є частиною маски сторінки. Цей біт і біти маски сторінки не зберігаються у НВС2. кожен запис БАТ має власний розмір сторінки, який може бути будь-яким значенням від 1 кБ до 256 МБ, кратним чотирьом. Кожен НКС у записі БАТ має атрибут кешування, брудний і дійсний біт стану. НВС2 має глобальний біт стану й ID, який призначається ОС і бере участь у зіставленні запису БАТ віртуальних адрес, якщо глобальний біт стану встановлений у нуль. НКС зберігає фізичну адресу без бітів маски сторінки.
Виняток перенаповнення БАТ генерується, коли жоден запис у БАТ не збігається з відображеною віртуальною адресою. Виняток недійсного БАТ генерується, коли є збіг, але запис позначено недійсним. Виняток модифікованого БАТ генерується, коли є збіг, але брудний стан не встановлено. Якщо виняток БАТ стається під час обробки винятку БАТ, тобто виняток подвійної помилки БАТ відправляється до власного обробника винятків.
MIPS32 і MIPS32r2 підтримують 32 біти віртуального та до 36 бітів фізичного адресного простору. MIPS64 підтримує до 64 бітів віртуального та до 59 бітів фізичного адресного простору.
Sun 1
Оригінальний [en], представлений 1982 року, є одноплатним комп'ютером, побудованим навколо мікропроцесора Motorola 68000. Він містить оригінальний модуль керування пам'яттю Sun-1, що забезпечує трансляцію адрес, захист, спільне використання та виділення пам'яті для багатьох процесів, які працюють у ЦП. Весь доступ ЦП до приватної вбудованої RAM, зовнішньої пам'яті Multibus, вбудованого та Multibus введення-виведення відбувається через МКП, де він транслюється та захищається єдиним способом. МКП реалізовано в апаратному забезпеченні на платі ЦП.
МКП складається з контекстного регістра та карт сегментів і сторінок. Віртуальні адреси з ЦП транслюються у проміжні картою сегментів, які, у свою чергу, транслюються у фізичні адреси картою сторінок. Розмір сторінки дорівнює 2 кБ, а сегменту — 32 кБ, що дає 16 сторінок у сегменті. До 16 контекстів можуть відображатися одночасно. Максимум простору логічних адрес для контексту дорівнює 1024 сторінкам або 2 МБ. Максимум фізичних адрес, які можуть одночасно відображатися, також дорівнює 2 МБ.
Контекстний регістр важливий у багатозадачній операційній системі, оскільки він дозволяє ЦП перемикатися між процесами без перезавантаження всієї інформації про стан трансляції. 4-бітний контекстний регістр може перемикатися між 16 розділами карти сегментів під керуванням супервізора, який дозволяє 16 контекстам одночасно відображатися. Кожен контекст має власний віртуальний адресний простір. Спільне використання віртуального адресного простору та міжконтекстне спілкування може забезпечуватися записом однакових значень у карти сегментів або сторінок різних контекстів. Додаткові контексти можуть оброблятися, розглядаючи карту сегментів як контекстний кеш і замінюючи застарілі контексти на основі найменш нещодавнього використання.
Контекстний регістр не розрізняє стани користувача та супервізора. Переривання та пастки не перемикають контексти, що вимагає завжди відображати всі дійсні вектори переривання у сторінку 0 контексту, як і валідний стек супервізора.
PowerPC
У PowerPC G1, G2, G3 і G4 сторінки зазвичай 4 кБ. Після промаху БАТ стандартний МКП PowerPC починає два одночасні пошуки. Один пошук намагається зіставити адресу з одним із чотирьох чи восьми регістрів трансляції адрес блоків даних (ТАБД) або інструкцій (ТАБІ) за необхідності. Регістри ТБА можуть відображати лінійні шматки пам'яті завбільшки 256 МБ, і зазвичай використовуються ОС для відображення великих порцій адресного простору для власного використання ядром ОС. У разі успішного пошуку ТБА інший пошук зупиняється й ігнорується.
Інший пошук, непрямо підтримуваний всіма процесорами цієї родини, здійснюється через так звану «інвертовану таблицю сторінок», яка діє як хешоване розширення БАТ поза чипом. Спочатку верхні чотири біти адреси використовуються для вибору одного з 16 сегментних регістрів. Потім 24 біти з сегментного регістра замінюють ті чотири біти, виробляючи 52-бітну адресу. Використання сегментних регістрів дозволяє багатьом процесам спільно використовувати ту саму геш-таблицю.
52-бітна адреса хешується, а потім використовується як індекс таблиці поза чипом. Там група восьмисторінкових табличних записів сканується на один зі збігів. За відсутності збігу через надмірні колізії гешу процесор повторює спробу з дещо іншою хеш-функцією. Якщо це також не вдається, то ЦП потрапляє до пастки в ОС (з вимкненим МКП) так, що проблему може бути вирішено. ОС має відкинути запис із геш-таблиці для звільнення простору для нового запису. ОС може генерувати новий запис із нормальнішої деревоподібної таблиці сторінок або зі структур даних на відображення, які, ймовірно, будуть повільнішими й ефективнішими за простором. Підтримка невиконуваного керування наявна в сегментних регістрах, що призводить до зернистості 256 МБ.
Основною проблемою цієї конструкції є погане [en], спричинене хеш-функцією. Деревоподібні конструкції уникають цього, розміщуючи записи таблиці сторінок для суміжних сторінок у суміжних місцях. Операційна система, що працює на PowerPC, може мінімізувати розмір хеш-таблиці для зменшення цієї проблеми.
Також дещо повільне вилучення записів таблиць сторінок процесу. ОС може уникнути повторного використання сегментних значень, аби затримати появу цього, чи вона може пожертвувати пам'яттю, асоційованою з хеш-таблицями на процес. Чипи G1 не шукають записи таблиці сторінок, але можуть генерувати хеш із очікуванням того, що ОС програмно шукатиме стандартну хеш-таблицю. ОС може писати до БАТ. Чипи G2, G3 і ранні G4 апаратно шукають хеш-таблицю. Останні чипи дозволяють ОС будь-який метод. На чипах, які роблять його необов'язковим або не підтримують узагалі, ОС може ексклюзивно вибрати використання деревоподібної таблиці сторінок.
IA-32 / x86
Архітектура x86 розвивалася протягом дуже довгого часу, підтримуючи повну програмну сумісність, навіть для коду ОС. Таким чином, МКП надзвичайно складні, з багатьма різними можливими операційними режимами. Тут описані нормальні операції традиційного ЦП 80386 та його наступників (IA-32).
ЦП насамперед ділить пам'ять на 4 кБ сторінки. Сегментні регістри, фундаментальні для старіших конструкцій МКП 8088 і 80286, не використовуються в сучасних ОС за одним основним винятком: доступу до даних конкретного потоку для застосунків або даних конкретного ЦП для ядер ОС, які виконуються з явним використанням сегментних регістрів FS і GS. Увесь доступ до пам'яті залучає сегментний регістр, вибраний відповідно до виконуваного коду. Сегментний регістр діє як індекс у таблиці, що надає зміщення для додавання до віртуальної адреси. За винятком використання FS або GS, ОС забезпечує, що зміщення дорівнюватиме нулю.
Після додавання зміщення адреса маскується, аби не перевищувати 32 біти. Результат можна подивитися через деревоподібну таблицю сторінок, де біти адреси будуть розділені наступним чином: по 10 бітів для гілки дерева та листя гілки, а 12 найнижчих бітів прямо скопійовані до результату. Деякі операційні системи, як-от OpenBSD зі своєю особливістю [en] і Linux із виправленнями [en] або PaX, також можуть обмежувати довжину сегменту коду, як зазначено в регістрі CS, для заборони виконання коду у змінних ділянках адресного простору.
Незначні зміни МКП, введені з [en], дозволили дуже великі 4 МБ сторінки пропуском нижнього рівня дерева (це залишає 10 бітів для індексування першого рівня ієрархії сторінок, а решта 10+12 бітів прямо копіюється до результату). Незначні зміни МКП, введені з Pentium Pro, ввели можливість розширення фізичних адрес (РФА), дозволяючи 36-бітним фізичним адресам із 2+9+9 бітами для трирівневих таблиць сторінок і 12 найнижчими бітами, що прямо копіюються до результату. Великі сторінки (2 МБ) також доступні пропуском нижнього рівня дерева (маючи наслідком 2+9 бітів для дворівневої ієрархії таблиць і решту 9+12 найнижчих бітів, що копіюються прямо). На додачу, [en] дозволила специфікацію кешування шляхом пошуку кількох вищих бітів у малій таблиці всередині ЦП.
Підтримка невиконання спочатку забезпечувалася лише на сегментній основі, чим було дуже незручно користуватися. Пізніші чипи x86 забезпечили сторінкові біти невиконання в режимі РФА. Вищеописані механізми [en], [en] і PaX емулюють сторінкову підтримку невиконання на машинах із процесорами x86 без біту NX встановленням довжини сегменту коду зі втратами продуктивності та зменшенні доступного адресного простору.
x86-64
x86-64 — 64-бітне розширення x86, що майже цілком вилучає сегментацію на користь [en], що використовується майже всіма операційними системами для 386 чи новіших процесорів. У довгому режимі всі сегментні зміщення ігноруються, за винятком сегментів FS і GS. При використанні зі сторінками 4 кБ дерево таблиці сторінок має чотири рівні замість трьох.
Віртуальні адреси діляться наступним чином: 16 бітів не використовуються, по дев'ять бітів для чотирьох рівнів дерева (загалом 36 бітів), а 12 найнижчих бітів прямо копіюються до результату. З 2 МБ сторінками наявні лише три рівні таблиці сторінок, де загалом 27 бітів використовуються у підкачці та 21 біт у зміщенні. Деякі новіші ЦП також підтримують 1 ГБ сторінку з двома рівнями підкачки та 30 bits зміщення.
CPUID може використовуватися для визначення підтримки 1 ГБ сторінок. В усіх трьох випадках вимагається рівність 16 highest бітів 48-му біту, чи, іншими словами, нижчі 48 бітів є [en] вищих бітів. Це робиться, аби дозволити майбутнє розширення адресного діапазону без загрози зворотній сумісності. В усіх рівнях таблиці сторінок її записи включають біт невиконання.
Unisys MCP Systems (Burroughs B5000)
Burroughs B5000 1961 року є першою комерційною системою з підтримкою віртуальної пам'яті (після [en]), навіть хоча вона не має МКП. Вона забезпечує дві функції МКП — адресування віртуальної пам'яті та захист пам'яті — з різними архітектурними підходами.
Перший, у відображенні віртуальних адрес пам'яті, замість потреби у МКП системи [en] засновані на [en]. Кожен виділений блок пам'яті отримує головний дескриптор зі властивостями блоку (тобто розмір, адреса та наявність у пам'яті). При отриманні запиту до блоку на читання чи запис апаратне забезпечення перевіряє його наявність через біт наявності (нбіт) в дескрипторі.
Значення 1 нбіту позначає наявність блоку. У цьому випадку до блоку можна отримати доступ через фізичну адресу в дескрипторі. Якщо нбіт дорівнює нулю, генерується переривання для MCP (операційної системи), аби зробити блок наявним. Якщо адресне поле дорівнює нулю, то це перший доступ до блоку й він виділяється (початковий нбіт). Якщо ж адресне поле ненульове, то це дискова адреса блоку, який раніше було викинуто, тому блок завантажується з диску, нбіт встановлюється в одиницю, а фізична адреса пам'яті оновлюється для вказування на блок у пам'яті (інший нбіт). Це робить дескриптори еквівалентами записам таблиці сторінок у системі МКП. Продуктивність системи можна контролювати через кількість нбітів. Початкові нбіти позначають початкові нбіти, але вищий рівень інших нбітів позначають, що система може побитися.
Тому всі виділення пам'яті повністю автоматичні (одна з особливостей сучасних систем) і немає способу виділити блоки інакше, ніж цим механізмом. Немає таких викликів, як malloc або dealloc, оскільки блоки пам'яті також автоматично відкидаються. Схема також ледача, оскільки блок не виділятиметься, доки на нього дійсно не буде посилання. Коли пам'ять майже повна, MCP обстежує робочий набір, намагаючись ущільнити (оскільки система сегментована, а не сторінкована), звільняючи сегменти лише для читання (як-от сегменти коду, які можуть відновлюватися з їх оригінальної копії) та, як останній засіб, скидаючи брудні сегменти даних на диск.
Інший спосіб, яким B5000 забезпечує функцію МКП, полягає в захисті. Оскільки весь доступ здійснюється через дескриптор, апаратне забезпечення може перевірити, що всі доступи в допустимих межах і, в разі запису, що процес має дозвіл на запис. Система MCP по суті безпечна, а тому не вимагає МКП для забезпечення цього рівня захисту пам'яті. Дескриптори є лише для читання для користувацьких процесів і можуть оновлюватися лише системою (апаратним забезпеченням або MCP) (слова, тег яких є непарним числом, є тільки для читання; дескриптори мають тег 5, а слова коду — 3).
Блоки можуть спільно використовуватися процесами через копіювання дескрипторів у стек процесу. Таким чином, деякі процеси можуть мати дозвіл на запис, тоді як інші — ні. Сегмент коду є тільки для читання, а тому відновлюється та спільно використовується процесами. Копії дескрипторів містять 20-бітне адресне поле, що дає індекс головного дескриптора в їх масиві. Це також реалізує дуже ефективний і безпечний механізм IPC. Блоки легко можуть перерозподілятися, оскільки лише головний дескриптор потребує оновлення при зміні стану блоку.
Єдиним іншим аспектом є продуктивність: чи забезпечують системи на основі чи не на основі МКП кращу продуктивність? Системи MCP можуть реалізовуватися нагорі стандартного апаратного забезпечення, що має МКП (наприклад, стандартний ПК). Навіть, якщо реалізація системи так чи інакше використовує МКП, це не буде видимим узагалі на рівні MCP.
Див. також
Примітки
- Tanenbaum, Andrew S. (2009). Modern operating systems. Upper Saddle River (Нью-Джерсі): Prentice-Hall. ISBN .
- Uyeda, Frank (2009). (PDF). CSE 120: Principles of Operating Systems. UC San Diego. Архів оригіналу (PDF) за 17 травня 2017. Процитовано 4 грудня 2013.
- (PDF). RCA. березень 1968. с. 4. Архів оригіналу (PDF) за 1 жовтня 2013. Процитовано 15 серпня 2013.
- . Ic-on-line.cn. Архів оригіналу (PDF) за 28 червня 2020. Процитовано 3 травня 2017.
- (PDF). Infoventer.arm.com. Архів оригіналу (PDF) за 3 березня 2016. Процитовано 3 травня 2017.
- . 03.ibm.com. Архів оригіналу за 21 листопада 2017. Процитовано 3 травня 2017.
- (PDF) (вид. 3). лютий 1972. GA27-2719-2. Архів оригіналу (PDF) за 14 березня 2012. Процитовано 16 грудня 2018.
- Sun 68000 Board User's Manual (вид. Revision B). Sun Microsystems. лютий 1983.
- (PDF). support.amd.com. березень 2017. Архів оригіналу (PDF) за 13 липня 2018. Процитовано 5 грудня 2017.
- Tanenbaum, Andrew S.; Herder, Jorrit N.; Bos, Herbert (травень 2006). . Computer. 39 (5): 44—51. doi:10.1109/MC.2006.156. Архів оригіналу за 17 грудня 2018. Процитовано 16 грудня 2018.
- Ingalls, Daniel H. H. (серпень 1981). . . Архів оригіналу за 27 вересня 2007. Процитовано 16 грудня 2018.
{{}}
: Cite має пустий невідомий параметр:|1=
(); Вказано більш, ніж один|мертвий-url=
та|deadurl=
(); Вказано більш, ніж один|назва=
та|title=
()Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Дану статтю засновано на матеріалах, узятих із «Free On-line Dictionary of Computing» до 1 листопада 2008 року та «переліцензовано» на умовах GFDL версії 1.3 чи пізнішої.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya potrebuye uvagi j turboti fahivcya u svoyij galuzi Bud laska povidomte pro ce znajomomu vam specialistu abo vipravte yiyi sami yaksho vi volodiyete vidpovidnimi znannyami Mozhlivo storinka obgovorennya mistit zauvazhennya shodo potribnih zmin Cya stattya mistit perelik posilan ale pohodzhennya tverdzhen u nij zalishayetsya nezrozumilim cherez praktichno povnu vidsutnist vnutrishnotekstovih dzherel vinosok Bud laska dopomozhit polipshiti cyu stattyu peretvorivshi dzherela z pereliku posilan na dzherela vinoski u samomu teksti statti 16 grudnya 2018 Modul keruvannya pam yattyu MKP inodi zvanij modulem keruvannya storinkovoyu pam yattyu MKSP komp yuternij aparatnij modul sho maye vsi posilannya na pam yat yaki prohodyat cherez nogo nasampered translyuyuchi en u fizichni Vin zazvichaj realizovanij yak chastina centralnogo procesora CP ale takozh mozhe buti u viglyadi okremoyi mikroshemi Mikroshema zovnishnogo MMU en sho mozhe vikoristovuvatisya z mikroprocesorom en MKP efektivno vikonuye keruvannya virtualnoyu pam yattyu odnochasno obroblyuyuchi zahist pam yati kontrol keshu en shin i u prostishih komp yuternih arhitekturah osoblivo 8 bitnih sistemah peremikannya bankiv OglyadShema roboti MKP 186 ff Suchasni MMU zazvichaj dilyat virtualnij adresnij prostir diapazon adres vikoristovuvanih procesorom na storinki rozmir kozhnoyi z yakih ye stepenem 2 zazvichaj kilka kilobajtiv ale voni mozhut buti znachno bilshimi Nizhni biti adresi zmishennya vseredini storinki zalishayutsya nezminenimi Verhni biti adresi ye nomerami virtualnih storinok Zapisi tablici storinok Bilshist MKP vikoristovuyut tablici elementiv u pam yati zvani tablicyami storinok sho mistit odin zapis tablici storinok ZTS na storinku dlya vidobrazhennya virtualnih nomeriv storinok u fizichni v osnovnij pam yati Asociativnij kesh ZTS nazivayetsya buferom asociativnoyi translyaciyi BAT ta vikoristovuyetsya dlya uniknennya neobhidnosti dostupu do osnovnoyi pam yati pri kozhnomu vidobrazhenni virtualnoyi adresi Inshi MKP mozhut mati privatnij masiv pam yati chi registri sho mistyat nabir zapisiv tablici storinok Fizichni nomeri storinok ob yednuyutsya zi zmishennyami storinok i dayut povnu fizichnu adresu ZTS takozh mozhe vklyuchati informaciyu pro te chi bula storinka zapisana en koli yiyi bulo vostannye vikoristano bit dostupu dlya za en LRU zadachi zamishennya storinok yakij vid procesiv en chi rezhimu supervizora mozhut chitati ta pisati yiyi i chi povinna vona keshuvatisya Inodi ZTS zaboronyaye dostup do virtualnoyi storinki mozhlivo cherez vidsutnist fizichnoyi pam yati z dovilnim dostupom vidilenoyi cij storinci U comu vipadku MKP signalizuye CP pro en Potim operacijna sistema OS obroblyaye situaciyu mozhlivo namagannyam znajti vilnu storinku RAM i vstanoviti novij ZTS dlya vidobrazhennya ciyeyi storinki na zapituvanu virtualnu adresu Za vidsutnosti vilnoyi RAM mozhe buti neobhidnim obrati deyaku storinku vidomu yak zhertva z vikoristannyam deyakogo algoritmu zamini ta zberegti yiyi na disk cej proces nazivayetsya pidkachuvannyam Z deyakimi MKP takozh mozhliva nestacha ZTS u comu vipadku OS matime zvilniti jogo dlya novogo vidobrazhennya MKP takozh mozhut generuvati stani pomilki nezakonnogo dostupu chi en za nezakonnogo dostupu chi dostupu do neisnuyuchoyi pam yati vidpovidno sho prizvodit do pomilki segmentaciyi chi en pid chas obrobki operacijnoyu sistemoyu Perevagi VLSI VI475 MKP Apple HMMU z en vikoristovuyetsya z en U deyakih vipadkah vidmova storinki mozhe poznachati bag yakomu mozhna zapobigti shlyahom vikoristannya zahistu pam yati yak odniyeyi z klyuchovih perevag MKP operacijna sistema mozhe jogo vikoristati dlya zahistu vid pomilkovih program shlyahom zaboroni dostupu do pam yati do yakoyi konkretna programa ne povinna mati dostup Zazvichaj operacijna sistema priznachaye kozhnij programi vlasnij virtualnij adresnij prostir MKP takozh pom yakshuye problemu en pam yati Pislya vidilennya ta zvilnennya blokiv pam yati vilna pam yat mozhe stati fragmentovanoyu rozrivnoyu tak sho najbilshij poslidovnij blok vilnoyi pam yati mozhe buti nabagato menshim za zagalnij obsyag Iz virtualnoyu pam yattyu susidnij diapazon virtualnih adres mozhe vidobrazhatisya na dekilka neposlidovnih blokiv fizichnoyi pam yati ce neposlidovne vidilennya ye odniyeyu z perevag pidkachki U deyakih rannih konstrukciyah mikroprocesoriv keruvannya pam yattyu zdijsnyuvalosya okremoyu mikroshemoyu yak ot shemi nadvelikogo rivnya integraciyi VI475 1986 en 1984 dlya vikoristannya razom z procesorom en abo Z8015 1985 sho vikoristovuyetsya v rodini procesoriv Zilog Z8000 Piznishi mikroprocesori yak ot en en i Intel 80386 rozmishuvali MMU na odnomu kristali z procesorom Todi yak dana stattya zoseredzhuyetsya na suchasnih MKP zazvichaj na osnovi storinok ranni sistemi vikoristovuvali analogichnu koncepciyu dlya adresaciyi z bazovoyu mezheyu sho v podalshomu bulo rozvinuto do segmentaciyi Voni inodi takozh prisutni v suchasnih arhitekturah Arhitektura x86 zabezpechuye segmentaciyu ale ne pidkachku v 80286 i zabezpechuye pidkachku ta segmentaciyu v 80386 i piznishih procesorah hocha vikoristannya segmentaciyi nedostupne v 64 bitnih operaciyah PrikladiBilshist suchasnih sistem dilyat pam yat na storinki rozmirom 4 64 kB chasto zi zdatnistyu vikoristovuvati velichezni storinki rozmirom vid 2 MB do 1 GB Translyaciyi storinok keshuyutsya u buferi asociativnoyi translyaciyi BAT Deyaki sistemi perevazhno starishih RISC konstrukcij viklikayut specialne pererivannya u OS yaksho translyaciyu storinki ne znajdeno v BAT Bilshist sistem vikoristovuyut aparatnij obhidnik derev Bilshist sistem dozvolyayut MKP vimikatisya ale deyaki vimikayut MKP potraplyayuchi do kodu OS VAX VAX storinki syagayut 512 bajtiv sho duzhe malo OS mozhe rozglyadati yih tak yakbi voni buli yedinoyu bilshoyu storinkoyu Napriklad Linux na VAX grupuye razom visim storinok Takim chinom sistema rozglyadayetsya takoyu sho maye 4 kB storinki VAX dilit pam yat na chotiri dilyanki z fiksovanim priznachennyam rozmirom 1 GB kozhna Ce Prostir P0 Vikoristovuyetsya dlya pam yati zagalnogo priznachennya dlya kozhnogo procesu yak ot kupi Prostir P1 kontrolnij prostir takozh dlya kozhnogo procesu ta zazvichaj vikoristovuyetsya dlya supervizora vikonavchih yadra ta koristuvackih stekiv a takozh inshih kontrolnih struktur dlya kozhnogo procesu kerovanih operacijnoyu sistemoyu Prostir S0 sistemnij prostir globalnij dlya vsih procesiv i zberigaye kod i dani operacijnoyi sistemi pidkacheni chi ni vklyuchno z tablicyami storinok Prostir S1 Ne vikoristovuyetsya ta zarezervovanij dlya Digital Tablici storinok ye velikimi linijnimi masivami Yak pravilo ce duzhe marnotratno koli adresi vikoristovuyutsya na oboh kincyah mozhlivogo diapazonu ale sama tablicya storinok dlya zastosunkiv zberigayetsya v pidkachenij pam yati yadra Takim chinom efektivne dvorivneve derevo dozvolyaye zastosunkam mati zapasnij rozpodil pam yati ne vitrachayuchi bagato miscya na nevikoristani zapisi tablic storinok MKP VAX vidriznyayutsya vidsutnistyu bitu dostupnij Dlya efektivnoyi roboti OS yaki realizuyut pidkachuvannya storinok povinni znajti deyakij sposib emulyaciyi takogo bitu Zazvichaj OS periodichno skasovuye vidobrazhennya storinok tak sho vidmovi neisnuyuchoyi storinki mozhut vikoristovuvatisya abi dati OS vstanoviti dostupnij bit ARM Prikladni procesori na osnovi arhitekturi ARM realizuyut MKP viznacheni sistemnoyu arhitekturoyu virtualnoyi pam yati ARM Potochna arhitektura viznachaye ZTS dlya opisu 4 kB i 64 kB storinok 1 MB rozdiliv i 16 MB nadrozdiliv uspadkovani versiyi takozh viznachayut 1 kB krihitni storinki ARM vikoristovuye dvorivnevu tablicyu storinok pri vikoristanni 4 kB i 64 kB storinok abo prosto odnorivnevimi tablicyami storinok dlya 1 MB rozdiliv i 16 MB rozdiliv Onovlennya BAT vikonuyutsya avtomatichno aparatnim zabezpechennyam obhodu tablici storinok ZTS vklyuchayut dozvil dostupu na chitannya ta zapis na osnovi privileyiv keshuvannya informaciyi NX bitu ta nezahishenogo bitu IBM System 360 Model 67 IBM System 370 i nastupniki Mejnfrejm IBM System 360 Model 67 predstavlenij serpni 1965 roku mav okremu shemu keruvannya stornikami pam yati sho nazivalasya angl DAT box Dynamic Address Translation DAT box mav dosit nezvichajnu mozhlivist zberigannya bitiv storinki bulo zvernennya angl accessed ta brudna angl dirty poza tabliceyu storinok Voni hto posilayutsya na fizichnu pam yat a ne na virtualnu i dostup do nih nadayetsya instrukciyami specialnogo priznachennya Ce zmenshuye nakladni vitrati dlya OS yaka inakshe mala b poshiryuvati biti accessed i dirty z tablic storinok do bilsh fizichno oriyentovanoyi strukturi danih Ce sproshuye virtualizaciyu na rivni OS proyasniti Pochinayuchi z serpnya 1972 roku IBM System 370 maye shozhij MKP hocha vin spochatku pidtrimuvav lishe 24 bitnij virtualnij adresnij prostir a ne 32 bitnij iz System 360 Model 67 Vin takozh zberigav biti bulo zvernennya ta brudna poza tabliceyu storinok Na pochatku 1983 roku arhitektura System 370 XA rozshirila virtualnij adresnij prostir do 31 bitu a 2000 roku bulo predstavleno 64 bitnu en z rozshirenim adresnim prostorom do 64 bitiv vona prodovzhila zberigati biti statusu storinki accessed i dirty poza tabliceyu storinok DEC Alpha Procesor DEC Alpha dilit pam yat na 8 kB storinki Pislya promahu BAT nizkorivnevij vbudovanij mashinnij kod tut nazvanij en obhodit tririvnevu derevopodibnu tablicyu storinok Adresaciya rozbita nastupnim chinom 21 bit ne vikoristovuyetsya po 10 bitiv indeksuyut korenevij serednij i riven listya dereva a 13 bitiv prohodyat do fizichnoyi adresi bez modifikacij Pidtrimuyutsya povni biti dozvolu na chitannya zapis i vikonannya MIPS Arhitektura MIPS pidtrimuye do 64 zapisiv u BAT Kilkist zapisiv BAT nalashtovuyetsya u konfiguraciyi CP do sintezu Zapisi BAT podvijni Kozhen zapis BAT vidobrazhaye nomer virtualnoyi storinki NVS2 na odin iz dvoh nomeriv kadru storinok NKS0 chi NKS1 zalezhno vid ostannogo znachushogo bitu virtualnoyi adresi sho ne ye chastinoyu maski storinki Cej bit i biti maski storinki ne zberigayutsya u NVS2 kozhen zapis BAT maye vlasnij rozmir storinki yakij mozhe buti bud yakim znachennyam vid 1 kB do 256 MB kratnim chotirom Kozhen NKS u zapisi BAT maye atribut keshuvannya brudnij i dijsnij bit stanu NVS2 maye globalnij bit stanu j ID yakij priznachayetsya OS i bere uchast u zistavlenni zapisu BAT virtualnih adres yaksho globalnij bit stanu vstanovlenij u nul NKS zberigaye fizichnu adresu bez bitiv maski storinki Vinyatok perenapovnennya BAT generuyetsya koli zhoden zapis u BAT ne zbigayetsya z vidobrazhenoyu virtualnoyu adresoyu Vinyatok nedijsnogo BAT generuyetsya koli ye zbig ale zapis poznacheno nedijsnim Vinyatok modifikovanogo BAT generuyetsya koli ye zbig ale brudnij stan ne vstanovleno Yaksho vinyatok BAT stayetsya pid chas obrobki vinyatku BAT tobto vinyatok podvijnoyi pomilki BAT vidpravlyayetsya do vlasnogo obrobnika vinyatkiv MIPS32 i MIPS32r2 pidtrimuyut 32 biti virtualnogo ta do 36 bitiv fizichnogo adresnogo prostoru MIPS64 pidtrimuye do 64 bitiv virtualnogo ta do 59 bitiv fizichnogo adresnogo prostoru Sun 1 Originalnij en predstavlenij 1982 roku ye odnoplatnim komp yuterom pobudovanim navkolo mikroprocesora Motorola 68000 Vin mistit originalnij modul keruvannya pam yattyu Sun 1 sho zabezpechuye translyaciyu adres zahist spilne vikoristannya ta vidilennya pam yati dlya bagatoh procesiv yaki pracyuyut u CP Ves dostup CP do privatnoyi vbudovanoyi RAM zovnishnoyi pam yati Multibus vbudovanogo ta Multibus vvedennya vivedennya vidbuvayetsya cherez MKP de vin translyuyetsya ta zahishayetsya yedinim sposobom MKP realizovano v aparatnomu zabezpechenni na plati CP MKP skladayetsya z kontekstnogo registra ta kart segmentiv i storinok Virtualni adresi z CP translyuyutsya u promizhni kartoyu segmentiv yaki u svoyu chergu translyuyutsya u fizichni adresi kartoyu storinok Rozmir storinki dorivnyuye 2 kB a segmentu 32 kB sho daye 16 storinok u segmenti Do 16 kontekstiv mozhut vidobrazhatisya odnochasno Maksimum prostoru logichnih adres dlya kontekstu dorivnyuye 1024 storinkam abo 2 MB Maksimum fizichnih adres yaki mozhut odnochasno vidobrazhatisya takozh dorivnyuye 2 MB Kontekstnij registr vazhlivij u bagatozadachnij operacijnij sistemi oskilki vin dozvolyaye CP peremikatisya mizh procesami bez perezavantazhennya vsiyeyi informaciyi pro stan translyaciyi 4 bitnij kontekstnij registr mozhe peremikatisya mizh 16 rozdilami karti segmentiv pid keruvannyam supervizora yakij dozvolyaye 16 kontekstam odnochasno vidobrazhatisya Kozhen kontekst maye vlasnij virtualnij adresnij prostir Spilne vikoristannya virtualnogo adresnogo prostoru ta mizhkontekstne spilkuvannya mozhe zabezpechuvatisya zapisom odnakovih znachen u karti segmentiv abo storinok riznih kontekstiv Dodatkovi konteksti mozhut obroblyatisya rozglyadayuchi kartu segmentiv yak kontekstnij kesh i zaminyuyuchi zastarili konteksti na osnovi najmensh neshodavnogo vikoristannya Kontekstnij registr ne rozriznyaye stani koristuvacha ta supervizora Pererivannya ta pastki ne peremikayut konteksti sho vimagaye zavzhdi vidobrazhati vsi dijsni vektori pererivannya u storinku 0 kontekstu yak i validnij stek supervizora PowerPC U PowerPC G1 G2 G3 i G4 storinki zazvichaj 4 kB Pislya promahu BAT standartnij MKP PowerPC pochinaye dva odnochasni poshuki Odin poshuk namagayetsya zistaviti adresu z odnim iz chotiroh chi vosmi registriv translyaciyi adres blokiv danih TABD abo instrukcij TABI za neobhidnosti Registri TBA mozhut vidobrazhati linijni shmatki pam yati zavbilshki 256 MB i zazvichaj vikoristovuyutsya OS dlya vidobrazhennya velikih porcij adresnogo prostoru dlya vlasnogo vikoristannya yadrom OS U razi uspishnogo poshuku TBA inshij poshuk zupinyayetsya j ignoruyetsya Inshij poshuk nepryamo pidtrimuvanij vsima procesorami ciyeyi rodini zdijsnyuyetsya cherez tak zvanu invertovanu tablicyu storinok yaka diye yak heshovane rozshirennya BAT poza chipom Spochatku verhni chotiri biti adresi vikoristovuyutsya dlya viboru odnogo z 16 segmentnih registriv Potim 24 biti z segmentnogo registra zaminyuyut ti chotiri biti viroblyayuchi 52 bitnu adresu Vikoristannya segmentnih registriv dozvolyaye bagatom procesam spilno vikoristovuvati tu samu gesh tablicyu 52 bitna adresa heshuyetsya a potim vikoristovuyetsya yak indeks tablici poza chipom Tam grupa vosmistorinkovih tablichnih zapisiv skanuyetsya na odin zi zbigiv Za vidsutnosti zbigu cherez nadmirni koliziyi geshu procesor povtoryuye sprobu z desho inshoyu hesh funkciyeyu Yaksho ce takozh ne vdayetsya to CP potraplyaye do pastki v OS z vimknenim MKP tak sho problemu mozhe buti virisheno OS maye vidkinuti zapis iz gesh tablici dlya zvilnennya prostoru dlya novogo zapisu OS mozhe generuvati novij zapis iz normalnishoyi derevopodibnoyi tablici storinok abo zi struktur danih na vidobrazhennya yaki jmovirno budut povilnishimi j efektivnishimi za prostorom Pidtrimka nevikonuvanogo keruvannya nayavna v segmentnih registrah sho prizvodit do zernistosti 256 MB Osnovnoyu problemoyu ciyeyi konstrukciyi ye pogane en sprichinene hesh funkciyeyu Derevopodibni konstrukciyi unikayut cogo rozmishuyuchi zapisi tablici storinok dlya sumizhnih storinok u sumizhnih miscyah Operacijna sistema sho pracyuye na PowerPC mozhe minimizuvati rozmir hesh tablici dlya zmenshennya ciyeyi problemi Takozh desho povilne viluchennya zapisiv tablic storinok procesu OS mozhe uniknuti povtornogo vikoristannya segmentnih znachen abi zatrimati poyavu cogo chi vona mozhe pozhertvuvati pam yattyu asocijovanoyu z hesh tablicyami na proces Chipi G1 ne shukayut zapisi tablici storinok ale mozhut generuvati hesh iz ochikuvannyam togo sho OS programno shukatime standartnu hesh tablicyu OS mozhe pisati do BAT Chipi G2 G3 i ranni G4 aparatno shukayut hesh tablicyu Ostanni chipi dozvolyayut OS bud yakij metod Na chipah yaki roblyat jogo neobov yazkovim abo ne pidtrimuyut uzagali OS mozhe eksklyuzivno vibrati vikoristannya derevopodibnoyi tablici storinok IA 32 x86 Arhitektura x86 rozvivalasya protyagom duzhe dovgogo chasu pidtrimuyuchi povnu programnu sumisnist navit dlya kodu OS Takim chinom MKP nadzvichajno skladni z bagatma riznimi mozhlivimi operacijnimi rezhimami Tut opisani normalni operaciyi tradicijnogo CP 80386 ta jogo nastupnikiv IA 32 CP nasampered dilit pam yat na 4 kB storinki Segmentni registri fundamentalni dlya starishih konstrukcij MKP 8088 i 80286 ne vikoristovuyutsya v suchasnih OS za odnim osnovnim vinyatkom dostupu do danih konkretnogo potoku dlya zastosunkiv abo danih konkretnogo CP dlya yader OS yaki vikonuyutsya z yavnim vikoristannyam segmentnih registriv FS i GS Uves dostup do pam yati zaluchaye segmentnij registr vibranij vidpovidno do vikonuvanogo kodu Segmentnij registr diye yak indeks u tablici sho nadaye zmishennya dlya dodavannya do virtualnoyi adresi Za vinyatkom vikoristannya FS abo GS OS zabezpechuye sho zmishennya dorivnyuvatime nulyu Pislya dodavannya zmishennya adresa maskuyetsya abi ne perevishuvati 32 biti Rezultat mozhna podivitisya cherez derevopodibnu tablicyu storinok de biti adresi budut rozdileni nastupnim chinom po 10 bitiv dlya gilki dereva ta listya gilki a 12 najnizhchih bitiv pryamo skopijovani do rezultatu Deyaki operacijni sistemi yak ot OpenBSD zi svoyeyu osoblivistyu en i Linux iz vipravlennyami en abo PaX takozh mozhut obmezhuvati dovzhinu segmentu kodu yak zaznacheno v registri CS dlya zaboroni vikonannya kodu u zminnih dilyankah adresnogo prostoru Neznachni zmini MKP vvedeni z en dozvolili duzhe veliki 4 MB storinki propuskom nizhnogo rivnya dereva ce zalishaye 10 bitiv dlya indeksuvannya pershogo rivnya iyerarhiyi storinok a reshta 10 12 bitiv pryamo kopiyuyetsya do rezultatu Neznachni zmini MKP vvedeni z Pentium Pro vveli mozhlivist rozshirennya fizichnih adres RFA dozvolyayuchi 36 bitnim fizichnim adresam iz 2 9 9 bitami dlya tririvnevih tablic storinok i 12 najnizhchimi bitami sho pryamo kopiyuyutsya do rezultatu Veliki storinki 2 MB takozh dostupni propuskom nizhnogo rivnya dereva mayuchi naslidkom 2 9 bitiv dlya dvorivnevoyi iyerarhiyi tablic i reshtu 9 12 najnizhchih bitiv sho kopiyuyutsya pryamo Na dodachu en dozvolila specifikaciyu keshuvannya shlyahom poshuku kilkoh vishih bitiv u malij tablici vseredini CP Pidtrimka nevikonannya spochatku zabezpechuvalasya lishe na segmentnij osnovi chim bulo duzhe nezruchno koristuvatisya Piznishi chipi x86 zabezpechili storinkovi biti nevikonannya v rezhimi RFA Visheopisani mehanizmi en en i PaX emulyuyut storinkovu pidtrimku nevikonannya na mashinah iz procesorami x86 bez bitu NX vstanovlennyam dovzhini segmentu kodu zi vtratami produktivnosti ta zmenshenni dostupnogo adresnogo prostoru x86 64 en GSA stvoryuye unifikovanij virtualnij adresnij prostir dlya CP GP i PCS zastarivayuchi prijomi vidobrazhennya ta kopiyuvannya danih x86 64 64 bitne rozshirennya x86 sho majzhe cilkom viluchaye segmentaciyu na korist en sho vikoristovuyetsya majzhe vsima operacijnimi sistemami dlya 386 chi novishih procesoriv U dovgomu rezhimi vsi segmentni zmishennya ignoruyutsya za vinyatkom segmentiv FS i GS Pri vikoristanni zi storinkami 4 kB derevo tablici storinok maye chotiri rivni zamist troh Virtualni adresi dilyatsya nastupnim chinom 16 bitiv ne vikoristovuyutsya po dev yat bitiv dlya chotiroh rivniv dereva zagalom 36 bitiv a 12 najnizhchih bitiv pryamo kopiyuyutsya do rezultatu Z 2 MB storinkami nayavni lishe tri rivni tablici storinok de zagalom 27 bitiv vikoristovuyutsya u pidkachci ta 21 bit u zmishenni Deyaki novishi CP takozh pidtrimuyut 1 GB storinku z dvoma rivnyami pidkachki ta 30 bits zmishennya CPUID mozhe vikoristovuvatisya dlya viznachennya pidtrimki 1 GB storinok V usih troh vipadkah vimagayetsya rivnist 16 highest bitiv 48 mu bitu chi inshimi slovami nizhchi 48 bitiv ye en vishih bitiv Ce robitsya abi dozvoliti majbutnye rozshirennya adresnogo diapazonu bez zagrozi zvorotnij sumisnosti V usih rivnyah tablici storinok yiyi zapisi vklyuchayut bit nevikonannya Unisys MCP Systems Burroughs B5000 Burroughs B5000 1961 roku ye pershoyu komercijnoyu sistemoyu z pidtrimkoyu virtualnoyi pam yati pislya en navit hocha vona ne maye MKP Vona zabezpechuye dvi funkciyi MKP adresuvannya virtualnoyi pam yati ta zahist pam yati z riznimi arhitekturnimi pidhodami Pershij u vidobrazhenni virtualnih adres pam yati zamist potrebi u MKP sistemi en zasnovani na en Kozhen vidilenij blok pam yati otrimuye golovnij deskriptor zi vlastivostyami bloku tobto rozmir adresa ta nayavnist u pam yati Pri otrimanni zapitu do bloku na chitannya chi zapis aparatne zabezpechennya pereviryaye jogo nayavnist cherez bit nayavnosti nbit v deskriptori Znachennya 1 nbitu poznachaye nayavnist bloku U comu vipadku do bloku mozhna otrimati dostup cherez fizichnu adresu v deskriptori Yaksho nbit dorivnyuye nulyu generuyetsya pererivannya dlya MCP operacijnoyi sistemi abi zrobiti blok nayavnim Yaksho adresne pole dorivnyuye nulyu to ce pershij dostup do bloku j vin vidilyayetsya pochatkovij nbit Yaksho zh adresne pole nenulove to ce diskova adresa bloku yakij ranishe bulo vikinuto tomu blok zavantazhuyetsya z disku nbit vstanovlyuyetsya v odinicyu a fizichna adresa pam yati onovlyuyetsya dlya vkazuvannya na blok u pam yati inshij nbit Ce robit deskriptori ekvivalentami zapisam tablici storinok u sistemi MKP Produktivnist sistemi mozhna kontrolyuvati cherez kilkist nbitiv Pochatkovi nbiti poznachayut pochatkovi nbiti ale vishij riven inshih nbitiv poznachayut sho sistema mozhe pobitisya Tomu vsi vidilennya pam yati povnistyu avtomatichni odna z osoblivostej suchasnih sistem i nemaye sposobu vidiliti bloki inakshe nizh cim mehanizmom Nemaye takih viklikiv yak malloc abo dealloc oskilki bloki pam yati takozh avtomatichno vidkidayutsya Shema takozh ledacha oskilki blok ne vidilyatimetsya doki na nogo dijsno ne bude posilannya Koli pam yat majzhe povna MCP obstezhuye robochij nabir namagayuchis ushilniti oskilki sistema segmentovana a ne storinkovana zvilnyayuchi segmenti lishe dlya chitannya yak ot segmenti kodu yaki mozhut vidnovlyuvatisya z yih originalnoyi kopiyi ta yak ostannij zasib skidayuchi brudni segmenti danih na disk Inshij sposib yakim B5000 zabezpechuye funkciyu MKP polyagaye v zahisti Oskilki ves dostup zdijsnyuyetsya cherez deskriptor aparatne zabezpechennya mozhe pereviriti sho vsi dostupi v dopustimih mezhah i v razi zapisu sho proces maye dozvil na zapis Sistema MCP po suti bezpechna a tomu ne vimagaye MKP dlya zabezpechennya cogo rivnya zahistu pam yati Deskriptori ye lishe dlya chitannya dlya koristuvackih procesiv i mozhut onovlyuvatisya lishe sistemoyu aparatnim zabezpechennyam abo MCP slova teg yakih ye neparnim chislom ye tilki dlya chitannya deskriptori mayut teg 5 a slova kodu 3 Bloki mozhut spilno vikoristovuvatisya procesami cherez kopiyuvannya deskriptoriv u stek procesu Takim chinom deyaki procesi mozhut mati dozvil na zapis todi yak inshi ni Segment kodu ye tilki dlya chitannya a tomu vidnovlyuyetsya ta spilno vikoristovuyetsya procesami Kopiyi deskriptoriv mistyat 20 bitne adresne pole sho daye indeks golovnogo deskriptora v yih masivi Ce takozh realizuye duzhe efektivnij i bezpechnij mehanizm IPC Bloki legko mozhut pererozpodilyatisya oskilki lishe golovnij deskriptor potrebuye onovlennya pri zmini stanu bloku Yedinim inshim aspektom ye produktivnist chi zabezpechuyut sistemi na osnovi chi ne na osnovi MKP krashu produktivnist Sistemi MCP mozhut realizovuvatisya nagori standartnogo aparatnogo zabezpechennya sho maye MKP napriklad standartnij PK Navit yaksho realizaciya sistemi tak chi inakshe vikoristovuye MKP ce ne bude vidimim uzagali na rivni MCP Div takozhKeruvannya pam yattyu Kontroler pam yati Segmentaciya pam yatiPrimitkiTanenbaum Andrew S 2009 Modern operating systems Upper Saddle River Nyu Dzhersi Prentice Hall ISBN 0 13 600663 9 Uyeda Frank 2009 PDF CSE 120 Principles of Operating Systems UC San Diego Arhiv originalu PDF za 17 travnya 2017 Procitovano 4 grudnya 2013 PDF RCA berezen 1968 s 4 Arhiv originalu PDF za 1 zhovtnya 2013 Procitovano 15 serpnya 2013 Ic on line cn Arhiv originalu PDF za 28 chervnya 2020 Procitovano 3 travnya 2017 PDF Infoventer arm com Arhiv originalu PDF za 3 bereznya 2016 Procitovano 3 travnya 2017 03 ibm com Arhiv originalu za 21 listopada 2017 Procitovano 3 travnya 2017 PDF vid 3 lyutij 1972 GA27 2719 2 Arhiv originalu PDF za 14 bereznya 2012 Procitovano 16 grudnya 2018 Sun 68000 Board User s Manual vid Revision B Sun Microsystems lyutij 1983 PDF support amd com berezen 2017 Arhiv originalu PDF za 13 lipnya 2018 Procitovano 5 grudnya 2017 Tanenbaum Andrew S Herder Jorrit N Bos Herbert traven 2006 Computer 39 5 44 51 doi 10 1109 MC 2006 156 Arhiv originalu za 17 grudnya 2018 Procitovano 16 grudnya 2018 Ingalls Daniel H H serpen 1981 Arhiv originalu za 27 veresnya 2007 Procitovano 16 grudnya 2018 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite magazine title Shablon Cite magazine cite magazine a Cite maye pustij nevidomij parametr 1 dovidka Vkazano bilsh nizh odin mertvij url ta deadurl dovidka Vkazano bilsh nizh odin nazva ta title dovidka Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Danu stattyu zasnovano na materialah uzyatih iz Free On line Dictionary of Computing do 1 listopada 2008 roku ta perelicenzovano na umovah GFDL versiyi 1 3 chi piznishoyi