Сторінкова пам'ять — це підхід до організації віртуальної пам'яті, при якому одиницею відображення віртуальних адрес на фізичні є регіон константного розміру (так звана сторінка). Типовий розмір сторінки — 4096 байт, для деяких архітектур — до 128 Кб.
Підтримка такого режиму присутня в більшості 32-бітних та 64-бітних процесорів. Такий режим є класичним майже для усіх сучасних ОС, в тому числі Windows та сімейства UNIX. Широке використання такого режиму почалося з процесора VAX та ОС VMS з кінця 1970-х років. В сімействі x86 підтримка з'явилася з поколінням 386, першим 32-бітним поколінням.
Вирішувані проблеми
- підтримка ізоляції процесів та захисту пам'яті шляхом створення власного віртуального адресного простору для кожного процесу
- підтримка ізоляції області ядра від коду користувальницького режиму
- підтримка пам'яті «тільки для читання» та невиконуваної пам'яті
- підтримка відвантаження невикористовуваних сторінок в зону підкачування на диску (див. свопінг)
- підтримка відображення файлів в пам'ять
- підтримка роздільної між процесами пам'яті
- підтримка системного виклику fork() в ОС сімейства UNIX
Концепція
Поняття адреси
Адреса, що використовується в машинному коді (тобто значення вказівника) називається «віртуальна адреса». Адреса, що процесор виставляє на шину називається «фізична адреса».
Таблиця сторінок
Всі звертання процесору до пам'яті підлягають через спеціальну структуру, таблицю TLB (Translation Lookaside Buffer), яка розташована в процесорі та є надшвидкою. В цій структурі міститься перетворення деяких (часто 64[]) віртуальних адрес в фізичні.
Через те, що 64 рядків таблиці недостатньо для реальних програм, в архітектурі використовуються таблиці сторінок, які розміщені в основній пам'яті. Кожна таблиця сторінок сама є сторінкою з тими же вимогами по вирівнюванню та розміром, та складається з записів таблиці даних (page table entries — ). Використовується відображення самої таблиці сторінок на одну зі сторінок даних для внесення змін у записи.[]
Запис таблиці сторінок
Запис таблиці сторінок зазвичай містить наступну інформацію:
- прапорець «сторінка відображена».
- фізична адреса.
- прапорець «сторінка доступна з режиму користувача». Якщо цей прапорець невстановлений, сторінка доступна тільки з режиму ядра.
- прапорець «сторінка доступна тільки для читання». В деяких випадках використовується тільки для режиму користувача, тобто в режимі ядра всі сторінки доступні для запису.
- прапорець «сторінка недоступна на виконання»
- режим використання кешу для сторінки. Впливає на тип шинних транзакцій, які ініціює процесор при звертанні через даний запис. Особливо часто використовується для відеопам'яті (комбінований запис) та для відображення в пам'ять регістрів пристроїв (відсутність кешування).
Через те, що кількість записів в одній таблиці обмежена та залежить від розміру запису та розміру сторінки, використовується багаторівнева організація таблиць, часто 2 чи 3 рівня, іноді 4 (для 64-бітних архітектур). У випадку 2 рівнів використовується «директорія» сторінок, що має в собі записи, які вказують на фізичні адреси таблиць сторінок. Таблиці містять записи, які вказують вже на сторінки даних. У випадку 3 рівні з'являється ще й «супер-директорія», що містить записи, які вказують на декілька директорій.
Старші біти віртуальної адреси вказують на номер запису в директорії, середні — номер запису в таблиці, молодші йдуть вказують на фізичну адресу без трансляції.
Формат записів таблиць, їх розмір, розмір сторінки та організація таблиць залежать від типу процесора, а іноді і від режиму його роботи.
Сторінкова пам'ять в x86
Історично склалося так, що x86-процесори використовують 32-бітні , 32-бітні віртуальні адреси, 4Кб сторінки, 1024 записів в таблиці, дворівневі таблиці, старші 10 біт віртуальної адреси — номер запису в директорії, наступні 10 — номер запису в таблиці, молодші 12 — адреса у сторінці. Починаючи з Pentium Pro, процесори архітектури x86 підтримують сторінки розміром 4 Мб.
Процесор в режимі Physical Address Extension та режимі x86_64 (long mode), використовує 64-бітні PTE (задіяні не усі біти фізичної адреси, від 36 в PAE до 48—56 в деяких x86_64), 32-бітні віртуальні адреси, 4Кб сторінки, 512 записів в таблиці, трирівневі таблиці з 4 директоріями та 4 записами в супер-директорії, старші 2 біта віртуальної адреси — номер запису в супер-директорії, наступні 9 — в директорії, наступні 9 — в таблиці.
Фізична адреса директорії або ж супер-директорії завантажена в один з керуючих регістрів процесора. При використанні PAE замість 4Мб сторінок використовуються сторінки в 2Мб.
В архітектурі x86_64 можна використовувати сторінки розміром 4Кб (4096 байтів), 2Мб (2 097 152 байта), і 1Гб (1 073 741 824 байта).
Відмова сторінки (page fault)
Якщо звернення до пам'яті не може бути відтрансльоване через TLB, тоді мікрокод процесора звертається до таблиць сторінок та намагається завантажити PTE звідти в TLB. Якщо після такої спроби залишилися проблеми, тоді процесор виконує спеціальне переривання, з назвою «відмова сторінки» або англ. «page fault». Опрацьовувач цього переривання знаходиться в підсистемі віртуальної пам'яті ядра ОС.
Деякі процесори (MIPS) не мають мікрокоду для звертання до таблиць та генерують відмову сторінки одразу після невдалого пошуку в TLB, звертання до таблиці та його інтерпретація покладається вже на оброблювач відмови сторінки. Це усуває вимогу до таблиці сторінок відповідати жорстко заданому на рівні апаратури формату.
Причини відмов сторінок:
- не існує таблиці, що відображує потрібний регіон пам'яті
- PTE не має встановленого прапорця «сторінка відображена»
- спроба звернутися з користувацького режиму до сторінки «тільки для ядра»
- спроба запису в сторінку «тільки для читання»
- спроба виконання коду із сторінки «виконання заборонене»
Оброблювач відмов в ядрі може завантажити потрібну сторінку з файлу або з зони підкачування (див. свопінг), може створити доступну для запису копію сторінки «тільки для читання», а може й згенерувати в даному процесі виняток "помилка сегментації" (в термінах UNIX — сигнал SIGSEGV).
Таблиці сторінок процесів
Кожен процес має свій власний набір таблиць сторінок. (Регістр директорї сторінок) перевантажується при кожному переключенні контексту процесу. Також необхідно очистити ту частину TLB, яка відноситься до цього процесу.
В більшості випадків ядро ОС поміщається в той же адресний простір, що і процеси, для нього резервуються верхні 1-2 гігабайта 32-бітного адресного простору кожного процесу. Метою цих дій є запобігання переключенню таблиць сторінок при вході в ядро на виході з нього. Сторінки ядра позначаються як недоступні для коду режиму користувача.
Пам'ять регіону ядра часто однакова для всіх процесів, але деякі підрегіони ядра (наприклад, регіон, де знаходиться підсистема графіки та відео-драйвер) можуть бути різним для різних груп процесів.
Тому що пам'ять ядра однакова для усіх процесів, відповідні до неї записи в TLB не треба перезавантажувати після переключення процесу. Для цієї оптимізації архітектура x86 підтримує прапорець «глобальний» у PTE.
Файли, відображені в пам'ять
Оброблювач відмови сторінки в ядрі здатен прочитати потрібну сторінку з файлу.
Це створює можливість легкої оптимізації відображення в пам'ять файлів. Концептуально це теж саме, що виділення пам'яті та читання в неї відрізка файлу, з тією різницею, що читання здійснюється неявно «за вимогою», вираженому відмовою сторінки при намаганні звертання до неї.
Другою перевагою такого підходу є, в випадку відображення «тільки для читання», розділення однієї фізичної пам'яті між усіма процесами, що відображують файл.
Третьою перевагою є можливість «забування» (discard) деяких відображених сторінок без завантаження їх в зону підкачування, обов'язкової для виділеної пам'яті. В випадку повторної потреби в сторінці вона може бути швидко завантажена із файлу знов.
Четверта перевага — не-використання дискового кешу в цьому режимі, а це економія при копіюванні даних з кешу в потрібний регіон. Переваги дискового кешу, який оптимізує операції невеликого розміру, а також повторне читання одних й тих самих же даних, повністю зникають при читанні цілих сторінок і тим більше їхніх груп. Недоліки від обов'язкового зайвого копіювання залишаються.
Відображені в пам'ять файли використовують в ОС Windows, а також ОС сімейства UNIX, для завантаження виконуваних модулів та динамічних бібліотек. Вони ж використовуються утилітою GNU grep для читання вхідного файлу[], а також для завантаження шрифтів в низці графічних підсистем.
Сторінкова та сегментна віртуальна пам'ять
Величезною перевагою сторінкової віртуальної пам'яті, зрівнюючи з сегментною — це відсутність «ближніх» та «дальніх» вказівників.
Наявність таких концепцій в програмуванні зменшує можливість застосування арифметики вказівників та приводить до великих проблем з переносимістю коду на інші архітектури. так, наприклад, значна частина ПО з відкритим кодом спочатку розроблювалась для безсегментних 32-бітних платформ зі сторінковою пам'яттю і не може бути перенесена на сегментні архітектури без серйозних змін.
Крім того, сегментні архітектури мають важку проблему SS != DS (Stack Segment та Data Segment — сегментні регістри x86), яка була розповсюджена на початку 90-х роках в програмуванні під 16-бітні версії Windows. Ця проблема приводила до складнощів в реалізації динамічних бібліотек, бо вони мають свій DS та SS поточного процесу, що приводить до неможливості використання «ближніх» вказівників в них.
Віртуальна пам'ять та дисковий кеш
Підтримка файлів, відображених в пам'ять потребує підтримки ядром ОС структури «сукупність фізичних сторінок, що містять в собі відрізки даного файлу». Відображення файлу в пам'ять реалізується шляхом заповнення входів таблиць посиланнями на сторінки даної структури.
Зрозуміло, що дана структура є вже готовим дисковим кешем. Її використання як кешу також розв'язує проблему когерентності між файлом, доступним через системні виклики /, та цим же файлом, відображеним в пам'ять.
Шляхи кешованого вводу/виводу в дисковий файл (FsRtlCopyRead в Windows і аналогічна до неї generic_file_read()
в Linux), реалізуються як копіювання даних у фізичні сторінки, відображені на файл.
Така організація кешу є єдиною в Windows, бо ця ОС взагалі не має класичного блокового дискового кешу. Метадані файлових систем кешуються шляхом створення псевдофайлів (IoCreateStreamFileObject) та створення сторінкового кешу для них.
Безпека
Спочатку, архітектура x86 не мала прапорця «сторінка недоступна на виконання» (NX bit). Підтримка цього прапорця з'явилася в архітектурі x86 як частина режиму PAE (Physical Address Extension) в поколінні Pentium 4, під великим тиском з сторони спеціалістів з комп'ютерної безпеки. Установка цього прапорця на сторінках стека та купи дозволяє реалізувати апаратний захист від виконання даних, що робить неможливим роботу багатьох різновидів шкідливого ПЗ, в тому числі, використання багатьох дірок в Internet Explorer.
Підтримка PAE в Windows, що дає можливість включення захисту від виконання даних, з'вилася в Windows 2000, вона увімкнена «за замовчуванням» в серверній версії Windows та вимкнена в клієнтських.
Див. також
Ця стаття не містить . (січень 2019) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Storinkova pam yat ce pidhid do organizaciyi virtualnoyi pam yati pri yakomu odiniceyu vidobrazhennya virtualnih adres na fizichni ye region konstantnogo rozmiru tak zvana storinka Tipovij rozmir storinki 4096 bajt dlya deyakih arhitektur do 128 Kb Pidtrimka takogo rezhimu prisutnya v bilshosti 32 bitnih ta 64 bitnih procesoriv Takij rezhim ye klasichnim majzhe dlya usih suchasnih OS v tomu chisli Windows ta simejstva UNIX Shiroke vikoristannya takogo rezhimu pochalosya z procesora VAX ta OS VMS z kincya 1970 h rokiv V simejstvi x86 pidtrimka z yavilasya z pokolinnyam 386 pershim 32 bitnim pokolinnyam Virishuvani problemipidtrimka izolyaciyi procesiv ta zahistu pam yati shlyahom stvorennya vlasnogo virtualnogo adresnogo prostoru dlya kozhnogo procesu pidtrimka izolyaciyi oblasti yadra vid kodu koristuvalnickogo rezhimu pidtrimka pam yati tilki dlya chitannya ta nevikonuvanoyi pam yati pidtrimka vidvantazhennya nevikoristovuvanih storinok v zonu pidkachuvannya na disku div svoping pidtrimka vidobrazhennya fajliv v pam yat pidtrimka rozdilnoyi mizh procesami pam yati pidtrimka sistemnogo vikliku fork v OS simejstva UNIXKoncepciyaPonyattya adresi Adresa sho vikoristovuyetsya v mashinnomu kodi tobto znachennya vkazivnika nazivayetsya virtualna adresa Adresa sho procesor vistavlyaye na shinu nazivayetsya fizichna adresa Tablicya storinok Syudi perenapravlyayetsya zapit Tablicya storinok Na cyu temu potribna okrema stattya Vsi zvertannya procesoru do pam yati pidlyagayut cherez specialnu strukturu tablicyu TLB Translation Lookaside Buffer yaka roztashovana v procesori ta ye nadshvidkoyu V cij strukturi mistitsya peretvorennya deyakih chasto 64 dzherelo virtualnih adres v fizichni Cherez te sho 64 ryadkiv tablici nedostatno dlya realnih program v arhitekturi vikoristovuyutsya tablici storinok yaki rozmisheni v osnovnij pam yati Kozhna tablicya storinok sama ye storinkoyu z timi zhe vimogami po virivnyuvannyu ta rozmirom ta skladayetsya z zapisiv tablici danih page table entries Vikoristovuyetsya vidobrazhennya samoyi tablici storinok na odnu zi storinok danih dlya vnesennya zmin u zapisi dzherelo Zapis tablici storinok Zapis tablici storinok zazvichaj mistit nastupnu informaciyu praporec storinka vidobrazhena fizichna adresa praporec storinka dostupna z rezhimu koristuvacha Yaksho cej praporec nevstanovlenij storinka dostupna tilki z rezhimu yadra praporec storinka dostupna tilki dlya chitannya V deyakih vipadkah vikoristovuyetsya tilki dlya rezhimu koristuvacha tobto v rezhimi yadra vsi storinki dostupni dlya zapisu praporec storinka nedostupna na vikonannya rezhim vikoristannya keshu dlya storinki Vplivaye na tip shinnih tranzakcij yaki iniciyuye procesor pri zvertanni cherez danij zapis Osoblivo chasto vikoristovuyetsya dlya videopam yati kombinovanij zapis ta dlya vidobrazhennya v pam yat registriv pristroyiv vidsutnist keshuvannya Cherez te sho kilkist zapisiv v odnij tablici obmezhena ta zalezhit vid rozmiru zapisu ta rozmiru storinki vikoristovuyetsya bagatorivneva organizaciya tablic chasto 2 chi 3 rivnya inodi 4 dlya 64 bitnih arhitektur U vipadku 2 rivniv vikoristovuyetsya direktoriya storinok sho maye v sobi zapisi yaki vkazuyut na fizichni adresi tablic storinok Tablici mistyat zapisi yaki vkazuyut vzhe na storinki danih U vipadku 3 rivni z yavlyayetsya she j super direktoriya sho mistit zapisi yaki vkazuyut na dekilka direktorij Starshi biti virtualnoyi adresi vkazuyut na nomer zapisu v direktoriyi seredni nomer zapisu v tablici molodshi jdut vkazuyut na fizichnu adresu bez translyaciyi Format zapisiv tablic yih rozmir rozmir storinki ta organizaciya tablic zalezhat vid tipu procesora a inodi i vid rezhimu jogo roboti Storinkova pam yat v x86Istorichno sklalosya tak sho x86 procesori vikoristovuyut 32 bitni 32 bitni virtualni adresi 4Kb storinki 1024 zapisiv v tablici dvorivnevi tablici starshi 10 bit virtualnoyi adresi nomer zapisu v direktoriyi nastupni 10 nomer zapisu v tablici molodshi 12 adresa u storinci Pochinayuchi z Pentium Pro procesori arhitekturi x86 pidtrimuyut storinki rozmirom 4 Mb Procesor v rezhimi Physical Address Extension ta rezhimi x86 64 long mode vikoristovuye 64 bitni PTE zadiyani ne usi biti fizichnoyi adresi vid 36 v PAE do 48 56 v deyakih x86 64 32 bitni virtualni adresi 4Kb storinki 512 zapisiv v tablici tririvnevi tablici z 4 direktoriyami ta 4 zapisami v super direktoriyi starshi 2 bita virtualnoyi adresi nomer zapisu v super direktoriyi nastupni 9 v direktoriyi nastupni 9 v tablici Fizichna adresa direktoriyi abo zh super direktoriyi zavantazhena v odin z keruyuchih registriv procesora Pri vikoristanni PAE zamist 4Mb storinok vikoristovuyutsya storinki v 2Mb V arhitekturi x86 64 mozhna vikoristovuvati storinki rozmirom 4Kb 4096 bajtiv 2Mb 2 097 152 bajta i 1Gb 1 073 741 824 bajta Vidmova storinki page fault Yaksho zvernennya do pam yati ne mozhe buti vidtranslovane cherez TLB todi mikrokod procesora zvertayetsya do tablic storinok ta namagayetsya zavantazhiti PTE zvidti v TLB Yaksho pislya takoyi sprobi zalishilisya problemi todi procesor vikonuye specialne pererivannya z nazvoyu vidmova storinki abo angl page fault Opracovuvach cogo pererivannya znahoditsya v pidsistemi virtualnoyi pam yati yadra OS Deyaki procesori MIPS ne mayut mikrokodu dlya zvertannya do tablic ta generuyut vidmovu storinki odrazu pislya nevdalogo poshuku v TLB zvertannya do tablici ta jogo interpretaciya pokladayetsya vzhe na obroblyuvach vidmovi storinki Ce usuvaye vimogu do tablici storinok vidpovidati zhorstko zadanomu na rivni aparaturi formatu Prichini vidmov storinok ne isnuye tablici sho vidobrazhuye potribnij region pam yati PTE ne maye vstanovlenogo praporcya storinka vidobrazhena sproba zvernutisya z koristuvackogo rezhimu do storinki tilki dlya yadra sproba zapisu v storinku tilki dlya chitannya sproba vikonannya kodu iz storinki vikonannya zaboronene Obroblyuvach vidmov v yadri mozhe zavantazhiti potribnu storinku z fajlu abo z zoni pidkachuvannya div svoping mozhe stvoriti dostupnu dlya zapisu kopiyu storinki tilki dlya chitannya a mozhe j zgeneruvati v danomu procesi vinyatok pomilka segmentaciyi v terminah UNIX signal SIGSEGV Tablici storinok procesiv Kozhen proces maye svij vlasnij nabir tablic storinok Registr direktoryi storinok perevantazhuyetsya pri kozhnomu pereklyuchenni kontekstu procesu Takozh neobhidno ochistiti tu chastinu TLB yaka vidnositsya do cogo procesu V bilshosti vipadkiv yadro OS pomishayetsya v toj zhe adresnij prostir sho i procesi dlya nogo rezervuyutsya verhni 1 2 gigabajta 32 bitnogo adresnogo prostoru kozhnogo procesu Metoyu cih dij ye zapobigannya pereklyuchennyu tablic storinok pri vhodi v yadro na vihodi z nogo Storinki yadra poznachayutsya yak nedostupni dlya kodu rezhimu koristuvacha Pam yat regionu yadra chasto odnakova dlya vsih procesiv ale deyaki pidregioni yadra napriklad region de znahoditsya pidsistema grafiki ta video drajver mozhut buti riznim dlya riznih grup procesiv Tomu sho pam yat yadra odnakova dlya usih procesiv vidpovidni do neyi zapisi v TLB ne treba perezavantazhuvati pislya pereklyuchennya procesu Dlya ciyeyi optimizaciyi arhitektura x86 pidtrimuye praporec globalnij u PTE Fajli vidobrazheni v pam yatDokladnishe Obroblyuvach vidmovi storinki v yadri zdaten prochitati potribnu storinku z fajlu Ce stvoryuye mozhlivist legkoyi optimizaciyi vidobrazhennya v pam yat fajliv Konceptualno ce tezh same sho vidilennya pam yati ta chitannya v neyi vidrizka fajlu z tiyeyu rizniceyu sho chitannya zdijsnyuyetsya neyavno za vimogoyu virazhenomu vidmovoyu storinki pri namaganni zvertannya do neyi Drugoyu perevagoyu takogo pidhodu ye v vipadku vidobrazhennya tilki dlya chitannya rozdilennya odniyeyi fizichnoyi pam yati mizh usima procesami sho vidobrazhuyut fajl Tretoyu perevagoyu ye mozhlivist zabuvannya discard deyakih vidobrazhenih storinok bez zavantazhennya yih v zonu pidkachuvannya obov yazkovoyi dlya vidilenoyi pam yati V vipadku povtornoyi potrebi v storinci vona mozhe buti shvidko zavantazhena iz fajlu znov Chetverta perevaga ne vikoristannya diskovogo keshu v comu rezhimi a ce ekonomiya pri kopiyuvanni danih z keshu v potribnij region Perevagi diskovogo keshu yakij optimizuye operaciyi nevelikogo rozmiru a takozh povtorne chitannya odnih j tih samih zhe danih povnistyu znikayut pri chitanni cilih storinok i tim bilshe yihnih grup Nedoliki vid obov yazkovogo zajvogo kopiyuvannya zalishayutsya Vidobrazheni v pam yat fajli vikoristovuyut v OS Windows a takozh OS simejstva UNIX dlya zavantazhennya vikonuvanih moduliv ta dinamichnih bibliotek Voni zh vikoristovuyutsya utilitoyu GNU grep dlya chitannya vhidnogo fajlu dzherelo a takozh dlya zavantazhennya shriftiv v nizci grafichnih pidsistem Storinkova ta segmentna virtualna pam yatDokladnishe Velicheznoyu perevagoyu storinkovoyi virtualnoyi pam yati zrivnyuyuchi z segmentnoyu ce vidsutnist blizhnih ta dalnih vkazivnikiv Nayavnist takih koncepcij v programuvanni zmenshuye mozhlivist zastosuvannya arifmetiki vkazivnikiv ta privodit do velikih problem z perenosimistyu kodu na inshi arhitekturi tak napriklad znachna chastina PO z vidkritim kodom spochatku rozroblyuvalas dlya bezsegmentnih 32 bitnih platform zi storinkovoyu pam yattyu i ne mozhe buti perenesena na segmentni arhitekturi bez serjoznih zmin Krim togo segmentni arhitekturi mayut vazhku problemu SS DS Stack Segment ta Data Segment segmentni registri x86 yaka bula rozpovsyudzhena na pochatku 90 h rokah v programuvanni pid 16 bitni versiyi Windows Cya problema privodila do skladnoshiv v realizaciyi dinamichnih bibliotek bo voni mayut svij DS ta SS potochnogo procesu sho privodit do nemozhlivosti vikoristannya blizhnih vkazivnikiv v nih Virtualna pam yat ta diskovij keshDokladnishe Pidtrimka fajliv vidobrazhenih v pam yat potrebuye pidtrimki yadrom OS strukturi sukupnist fizichnih storinok sho mistyat v sobi vidrizki danogo fajlu Vidobrazhennya fajlu v pam yat realizuyetsya shlyahom zapovnennya vhodiv tablic posilannyami na storinki danoyi strukturi Zrozumilo sho dana struktura ye vzhe gotovim diskovim keshem Yiyi vikoristannya yak keshu takozh rozv yazuye problemu kogerentnosti mizh fajlom dostupnim cherez sistemni vikliki ta cim zhe fajlom vidobrazhenim v pam yat Shlyahi keshovanogo vvodu vivodu v diskovij fajl FsRtlCopyRead v Windows i analogichna do neyi generic file read v Linux realizuyutsya yak kopiyuvannya danih u fizichni storinki vidobrazheni na fajl Taka organizaciya keshu ye yedinoyu v Windows bo cya OS vzagali ne maye klasichnogo blokovogo diskovogo keshu Metadani fajlovih sistem keshuyutsya shlyahom stvorennya psevdofajliv IoCreateStreamFileObject ta stvorennya storinkovogo keshu dlya nih BezpekaSpochatku arhitektura x86 ne mala praporcya storinka nedostupna na vikonannya NX bit Pidtrimka cogo praporcya z yavilasya v arhitekturi x86 yak chastina rezhimu PAE Physical Address Extension v pokolinni Pentium 4 pid velikim tiskom z storoni specialistiv z komp yuternoyi bezpeki Ustanovka cogo praporcya na storinkah steka ta kupi dozvolyaye realizuvati aparatnij zahist vid vikonannya danih sho robit nemozhlivim robotu bagatoh riznovidiv shkidlivogo PZ v tomu chisli vikoristannya bagatoh dirok v Internet Explorer Pidtrimka PAE v Windows sho daye mozhlivist vklyuchennya zahistu vid vikonannya danih z vilasya v Windows 2000 vona uvimknena za zamovchuvannyam v servernij versiyi Windows ta vimknena v kliyentskih Div takozhAdresaciya pam yati Arhitektura EOM Virtualna pam yat Zahishenij rezhim Operativna pam yat Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2019