Захист пам'яті — це спосіб контролю прав доступу до пам'яті на комп'ютері, що є частиною більшості сучасних операційних систем. Основною метою захисту пам'яті є запобігання доступу до пам'яті, яка не була виділена під поточний процес. Це не дає можливості програмним помилкам чи шкідливому програмному забезпеченню в поточному процесі впливати на інші процеси, або саму операційну систему. Спроба доступу до пам'яті, яка не належить даному процесу, спричиняє апаратне переривання (пастку), яке називають помилкою сегментації, або порушенням пам'яті. Ця помилка, зазвичай, спричиняє аварійне завершення роботи процесу, що призвів до переривання. Захист пам'яті включає додаткові техніки для забезпечення безпеки комп'ютера такі, як та захист виконуваного простору.
Методи
Сегментація
Сегментація — це поділ пам'яті комп'ютера на сегменти. Посилання на місце в пам'яті включає значення, що визначає сегмент, і зміщення в межах сегменту.
Архітектура x86 має багато особливих функцій, пов'язаних з сегментацією, які допомагають при використанні захисту пам'яті в цій архітектурі. У процесорах з архітектурою x86 може бути використана або для посилання на сегмент комп'ютерної пам'яті. Вказівники на сегменти пам'яті можуть також зберігатися в сегментних регістрах процесора. На початку процесори x86 містили 4 сегментних регістри: CS (сегмент коду), SS (сегмент стеку), DS (сегмент даних) та ES (додатковий сегмент). Пізніше було додано ще два сегментні регістри — FS та GS.
Поділ на сторінки
При поділі на сторінки, адресний простір пам'яті ділиться на блоки рівного розміру, які називаються сторінками. Використовуючи апаратні засоби віртуальної пам'яті, кожна сторінка може знаходитись в будь-якому місці фізичної пам'яті комп'ютера, або бути позначеною, як захищена. Віртуальна пам'ять дозволяє отримати лінійний віртуальний адресний простір і використовувати його для доступу до блоків, які складаються з різних фрагментів адресного простору фізичної пам'яті.
Більшість архітектур комп'ютерних систем, які підтримують поділ на сторінки, також використовують сторінки, як основу захисту пам'яті.
(Таблиця сторінок) відображає віртуальну пам'ять на фізичну. Таблиця сторінок, зазвичай, невидима для процесу. Таблиця сторінок робить виділення додаткової пам'яті простішим, оскільки кожна нова сторінка може бути виділена в будь-якому місці фізичної пам'яті. Програма не може доступитися до сторінки, яка не була явно виділена для неї, бо кожна адреса в пам'яті вказує на сторінку, яка була виділена для цієї програми, або генерує переривання, яке називається помилкою сторінки. Сторінки, які не виділені під жодну програму, або виділені під будь-яку іншу програму, не мають ніякої адреси з точки зору поточної програми.
Переривання помилки сторінки не обов'язково означає помилку програми. Вони використовуються не тільки для захисту пам'яті. Операційна система може використовувати певний підхід при керуванні таблицею сторінок, в якому при звертанні до сторінки, що була раніше записана на диск, виникає переривання помилки сторінки. Операційна система перехоплює це переривання, підвантажує потрібні сторінки в пам'ять, після чого програма продовжує своє виконання, так ніби не сталося жодної помилки. Ця схема, відома як механізм віртуальної пам'яті, дозволяє переміщати дані в пам'яті, які в даний момент не використовуються, на диск і назад зрозумілим для програм способом. Цей механізм використовується для збільшення загальної ємності пам'яті.
У деяких системах, таких як , механізм підвантаження сторінок використовується і для захисту виконуваного простору.
Ключі захисту
Механізм ключів захисту ділить фізичну пам'ять на блоки деякого розміру (напр. 4 kiB), кожен з яких має пов'язане з ним числове значення, яке називається ключем захисту. Кожен процес також має пов'язане значення ключа захисту. При доступі до пам'яті апаратними засобами перевіряється чи ключ захисту поточного процесу збігається зі значенням пов'язаним з блоком даних, до якого відбувається доступ; якщо ж ні, то генерується виняток. Цей механізм був представлений в архітектурі (System/360). Сьогодні він доступний у архітектурі та активно використовується операційною системою System z і її підсистемами.
Механізм ключів захисту System z описаний вище використовує асоціацію з фізичними адресами. Він відрізняється від механізму ключів захисту, який використовувався процесорами Intel Itanium і Hewlett-Packard Precision Architecture (HP/PA, також відомий як PA-RISC), який використовує асоціацію з віртуальними адресами і дозволяє пов'язувати кілька ключів до одного процесу.
У архітектурах процесорів Itanium і PA записам буфера асоціативної трансляції (TLB) відповідають ключі(key) (Itanium) або ідентифікатори доступу(access id) (PA). Процес, який виконується, має кілька регістрів для ключів захисту (16 для Itanium, 4 для HP/PA). Ключ запису TLB, вибраний за допомогою віртуальної адреси, порівнюється з кожним регістром ключів захисту. Якщо хоча б якийсь з них має відповідне значення, то після виконання додаткових перевірок доступ дозволяється. Якщо жодний не підходить, то генерується помилка або виняток. Обробник програмних помилок, при бажанні, може порівняти цей ключ з більшим списком ключів, які підтримує програмне забезпечення. Таким чином, регістри ключів захисту в середині процесора можуть розглядатися, як програмно-керований кеш більшого списку ключів, асоційованих з процесом.
PA має 15-18 біт ключа; Itanium — як мінімум 18. Ключі зазвичай прив'язані до доменів захисту (protection domains), таких як бібліотеки, модулі та інші.
У архітектурі x86, ключі захисту дозволяють позначати віртуальні адреси для сторінок користувача, використовуючи будь-який з 16 ключів захисту. Всі сторінки, позначені тим самим ключем, утворюють домен захисту. Новий регістр містить права доступу, асоційовані з кожним доменом захисту. Операції зчитування та запису перевіряють права доступу як у таблиці сторінок, так і ключі захисту, асоційовані з доменом захисту віртуальної адреси, і дозволяють доступ тільки тоді, коли в обох схемах доступ дозволений. Права доступу ключів захисту можуть бути визначені з користувацького простору, що дозволяє програмам на пряму обмежувати доступ до даних без втручання операційної системи.
Оскільки ключі захисту асоційовані з віртуальними адресами, то домени захисту можуть бути різними в різних адресних просторах, і процеси, які виконуються в різних адресних просторах можуть використовувати всі 16 доменів.
Симуляція сегментації
Симуляція — це використання програми контролю для інтерпретації інструкцій машинного коду деяких архітектур комп'ютерних систем. Такий симулятор інструкцій може забезпечити захист пам'яті використовуючи схему, схожу на сегментацію, при цьому перевіряючи цільову адресу та довжину кожної інструкції в реальному часі перед власне виконанням потрібних команд. Симулятор повинен обчислити цільову адресу та довжину інструкції та порівняти їх зі списком дійсних адресних областей, які він зберігає для поточного потоку, таких як будь-який блок динамічної пам'яті отриманий з часу запуску потоку, або будь-який слот дійсної спільної статичної пам'яті. Значення «дійсності» може змінюватися впродовж життєвого циклу потоку в залежності від контексту. Деколи може бути дозволено змінювати статичний блок пам'яті, а деколи ні, зважаючи на поточний режим виконання, який може залежати або не залежати від ключа запису, або стану інспектора запису. В загальному не рекомендується використовувати цей метод захисту пам'яті на процесорах, де існують більш адекватні засоби, оскільки він вимагає досить великих обчислювальних потужностей комп'ютера. Проте, цей метод зазвичай використовується для відлагодження та тестування, щоб забезпечити досить високий рівень деталізації для загальних, в іншому випадку, порушень пам'яті. Він може точно вказати, яка саме інструкція намагається перезаписати певну ділянку пам'яті, що може мати однаковий ключ з ділянкою пам'яті без захисту.
Адресування на основі Capability
Адресування на основі (Capability-based addressing) — метод, який не використовується в сучасних комерційних комп'ютерах. У цьому методі вказівники замінені захищеними об'єктами (які називаються capabilities), що можуть бути створені лише використовуючи привілейовані інструкції, які можуть бути виконані лише ядром операційної системи, або деякими іншими процесами з правами на це. Такий підхід дає ядру можливість ефективно контролювати, який процес має доступ, до якого об'єкта в пам'яті, без потреби використовувати окремі адресні простори або перемикачі контексту. Лише кілька комерційних проектів використовували цей тип захисту: , , архітектура Intel iAPX 432 та . Підходи з використанням capability широко використовуються в дослідницьких системах таких, як EROS і Combex DARPA Browser. Вони також використовуються в деяких віртуальних машинах, найбільш помітно в Smalltalk і Java. В даний час, в Кембриджському університеті працюють над заснованим DARPA проектом CHERI для створення сучасного capability-комп'ютера, що буде підтримувати і програми, розроблені для інших систем.
Оцінка рівня захисту
Рівень захисту певної системи може бути оцінений за допомогою вимірювання його близькості до .
Захист пам'яті в різних операційних системах
Різні операційні системи використовують різні форми захисту або відокремлення пам'яті. Хоча захист пам'яті був загальноприйнятий на більшості мейнфреймів і багатьох мікрокомп'ютерних системах з 1960х, справжнє відокремлення пам'яті не використовувалося в операційних системах для домашніх комп'ютерів до виходу (OS/2) в 1987 році. У попередніх системах такий недостатній захист, навіть використовувався як форма взаємодії між процесами, використовуючи вказівники. В сімействі операційних систем Windows 9x процеси можуть доступатися до системної пам'яті.
Деякі операційні системи, які реалізують захист пам'яті:
- Microsoft Windows, починаючи з Windows NT 3.1;
- (OS/2);
- , як необов'язковий модуль;
- Unix-подібні системи, включаючи Solaris, Linux, BSD, Mac OS X, iOS і GNU Hurd;
- і Inferno, створені в Bell Labs як послідовники Unix.
На Unix-подібних системах, виклик mprotect використовується для керування захистом пам'яті.
Див. також
- , для порушення захисту пам'яті
- Захищений режим
Примітки
- Intel (July 2008). (PDF). Intel. Архів оригіналу (PDF) за 19 квітня 2009. Процитовано 21 серпня 2008.
{{}}
: Cite має пустий невідомий параметр:|sectionurl=
() - (PDF). Архів оригіналу (PDF) за 28 листопада 2007. Процитовано 24 травня 2015.
- (PDF). Архів оригіналу (PDF) за 7 червня 2011. Процитовано 24 травня 2015.
- (PDF). Архів оригіналу (PDF) за 1 червня 2012. Процитовано 24 травня 2015.
- Cook, D.J. Measuring memory protection [ 10 липня 2020 у Wayback Machine.], accepted for 3rd International Conference on Software Engineering, Atlanta, Georgia, May 1978.
- . Everything2. 24 червня 2000. Архів оригіналу за 2 квітня 2015. Процитовано 29 квітня 2009.
- . The Open Group Base Specifications Issue 6. The Open Group. Архів оригіналу за 4 травня 2015. Процитовано 24 травня 2015.
Посилання
- Intel Developer Manuals [ 5 серпня 2011 у Wayback Machine.] — in-depth information on memory protection for Intel based architectures.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Zahist pam yati ce sposib kontrolyu prav dostupu do pam yati na komp yuteri sho ye chastinoyu bilshosti suchasnih operacijnih sistem Osnovnoyu metoyu zahistu pam yati ye zapobigannya dostupu do pam yati yaka ne bula vidilena pid potochnij proces Ce ne daye mozhlivosti programnim pomilkam chi shkidlivomu programnomu zabezpechennyu v potochnomu procesi vplivati na inshi procesi abo samu operacijnu sistemu Sproba dostupu do pam yati yaka ne nalezhit danomu procesu sprichinyaye aparatne pererivannya pastku yake nazivayut pomilkoyu segmentaciyi abo porushennyam pam yati Cya pomilka zazvichaj sprichinyaye avarijne zavershennya roboti procesu sho prizviv do pererivannya Zahist pam yati vklyuchaye dodatkovi tehniki dlya zabezpechennya bezpeki komp yutera taki yak ta zahist vikonuvanogo prostoru MetodiSegmentaciya Segmentaciya ce podil pam yati komp yutera na segmenti Posilannya na misce v pam yati vklyuchaye znachennya sho viznachaye segment i zmishennya v mezhah segmentu Arhitektura x86 maye bagato osoblivih funkcij pov yazanih z segmentaciyeyu yaki dopomagayut pri vikoristanni zahistu pam yati v cij arhitekturi U procesorah z arhitekturoyu x86 mozhe buti vikoristana abo dlya posilannya na segment komp yuternoyi pam yati Vkazivniki na segmenti pam yati mozhut takozh zberigatisya v segmentnih registrah procesora Na pochatku procesori x86 mistili 4 segmentnih registri CS segment kodu SS segment steku DS segment danih ta ES dodatkovij segment Piznishe bulo dodano she dva segmentni registri FS ta GS Podil na storinki Pri podili na storinki adresnij prostir pam yati dilitsya na bloki rivnogo rozmiru yaki nazivayutsya storinkami Vikoristovuyuchi aparatni zasobi virtualnoyi pam yati kozhna storinka mozhe znahoditis v bud yakomu misci fizichnoyi pam yati komp yutera abo buti poznachenoyu yak zahishena Virtualna pam yat dozvolyaye otrimati linijnij virtualnij adresnij prostir i vikoristovuvati jogo dlya dostupu do blokiv yaki skladayutsya z riznih fragmentiv adresnogo prostoru fizichnoyi pam yati Bilshist arhitektur komp yuternih sistem yaki pidtrimuyut podil na storinki takozh vikoristovuyut storinki yak osnovu zahistu pam yati Tablicya storinok vidobrazhaye virtualnu pam yat na fizichnu Tablicya storinok zazvichaj nevidima dlya procesu Tablicya storinok robit vidilennya dodatkovoyi pam yati prostishim oskilki kozhna nova storinka mozhe buti vidilena v bud yakomu misci fizichnoyi pam yati Programa ne mozhe dostupitisya do storinki yaka ne bula yavno vidilena dlya neyi bo kozhna adresa v pam yati vkazuye na storinku yaka bula vidilena dlya ciyeyi programi abo generuye pererivannya yake nazivayetsya pomilkoyu storinki Storinki yaki ne vidileni pid zhodnu programu abo vidileni pid bud yaku inshu programu ne mayut niyakoyi adresi z tochki zoru potochnoyi programi Pererivannya pomilki storinki ne obov yazkovo oznachaye pomilku programi Voni vikoristovuyutsya ne tilki dlya zahistu pam yati Operacijna sistema mozhe vikoristovuvati pevnij pidhid pri keruvanni tabliceyu storinok v yakomu pri zvertanni do storinki sho bula ranishe zapisana na disk vinikaye pererivannya pomilki storinki Operacijna sistema perehoplyuye ce pererivannya pidvantazhuye potribni storinki v pam yat pislya chogo programa prodovzhuye svoye vikonannya tak nibi ne stalosya zhodnoyi pomilki Cya shema vidoma yak mehanizm virtualnoyi pam yati dozvolyaye peremishati dani v pam yati yaki v danij moment ne vikoristovuyutsya na disk i nazad zrozumilim dlya program sposobom Cej mehanizm vikoristovuyetsya dlya zbilshennya zagalnoyi yemnosti pam yati U deyakih sistemah takih yak mehanizm pidvantazhennya storinok vikoristovuyetsya i dlya zahistu vikonuvanogo prostoru Klyuchi zahistu Mehanizm klyuchiv zahistu dilit fizichnu pam yat na bloki deyakogo rozmiru napr 4 kiB kozhen z yakih maye pov yazane z nim chislove znachennya yake nazivayetsya klyuchem zahistu Kozhen proces takozh maye pov yazane znachennya klyucha zahistu Pri dostupi do pam yati aparatnimi zasobami pereviryayetsya chi klyuch zahistu potochnogo procesu zbigayetsya zi znachennyam pov yazanim z blokom danih do yakogo vidbuvayetsya dostup yaksho zh ni to generuyetsya vinyatok Cej mehanizm buv predstavlenij v arhitekturi System 360 Sogodni vin dostupnij u arhitekturi ta aktivno vikoristovuyetsya operacijnoyu sistemoyu System z i yiyi pidsistemami Mehanizm klyuchiv zahistu System z opisanij vishe vikoristovuye asociaciyu z fizichnimi adresami Vin vidriznyayetsya vid mehanizmu klyuchiv zahistu yakij vikoristovuvavsya procesorami Intel Itanium i Hewlett Packard Precision Architecture HP PA takozh vidomij yak PA RISC yakij vikoristovuye asociaciyu z virtualnimi adresami i dozvolyaye pov yazuvati kilka klyuchiv do odnogo procesu U arhitekturah procesoriv Itanium i PA zapisam bufera asociativnoyi translyaciyi TLB vidpovidayut klyuchi key Itanium abo identifikatori dostupu access id PA Proces yakij vikonuyetsya maye kilka registriv dlya klyuchiv zahistu 16 dlya Itanium 4 dlya HP PA Klyuch zapisu TLB vibranij za dopomogoyu virtualnoyi adresi porivnyuyetsya z kozhnim registrom klyuchiv zahistu Yaksho hocha b yakijs z nih maye vidpovidne znachennya to pislya vikonannya dodatkovih perevirok dostup dozvolyayetsya Yaksho zhodnij ne pidhodit to generuyetsya pomilka abo vinyatok Obrobnik programnih pomilok pri bazhanni mozhe porivnyati cej klyuch z bilshim spiskom klyuchiv yaki pidtrimuye programne zabezpechennya Takim chinom registri klyuchiv zahistu v seredini procesora mozhut rozglyadatisya yak programno kerovanij kesh bilshogo spisku klyuchiv asocijovanih z procesom PA maye 15 18 bit klyucha Itanium yak minimum 18 Klyuchi zazvichaj priv yazani do domeniv zahistu protection domains takih yak biblioteki moduli ta inshi U arhitekturi x86 klyuchi zahistu dozvolyayut poznachati virtualni adresi dlya storinok koristuvacha vikoristovuyuchi bud yakij z 16 klyuchiv zahistu Vsi storinki poznacheni tim samim klyuchem utvoryuyut domen zahistu Novij registr mistit prava dostupu asocijovani z kozhnim domenom zahistu Operaciyi zchituvannya ta zapisu pereviryayut prava dostupu yak u tablici storinok tak i klyuchi zahistu asocijovani z domenom zahistu virtualnoyi adresi i dozvolyayut dostup tilki todi koli v oboh shemah dostup dozvolenij Prava dostupu klyuchiv zahistu mozhut buti viznacheni z koristuvackogo prostoru sho dozvolyaye programam na pryamu obmezhuvati dostup do danih bez vtruchannya operacijnoyi sistemi Oskilki klyuchi zahistu asocijovani z virtualnimi adresami to domeni zahistu mozhut buti riznimi v riznih adresnih prostorah i procesi yaki vikonuyutsya v riznih adresnih prostorah mozhut vikoristovuvati vsi 16 domeniv Simulyaciya segmentaciyi Simulyaciya ce vikoristannya programi kontrolyu dlya interpretaciyi instrukcij mashinnogo kodu deyakih arhitektur komp yuternih sistem Takij simulyator instrukcij mozhe zabezpechiti zahist pam yati vikoristovuyuchi shemu shozhu na segmentaciyu pri comu pereviryayuchi cilovu adresu ta dovzhinu kozhnoyi instrukciyi v realnomu chasi pered vlasne vikonannyam potribnih komand Simulyator povinen obchisliti cilovu adresu ta dovzhinu instrukciyi ta porivnyati yih zi spiskom dijsnih adresnih oblastej yaki vin zberigaye dlya potochnogo potoku takih yak bud yakij blok dinamichnoyi pam yati otrimanij z chasu zapusku potoku abo bud yakij slot dijsnoyi spilnoyi statichnoyi pam yati Znachennya dijsnosti mozhe zminyuvatisya vprodovzh zhittyevogo ciklu potoku v zalezhnosti vid kontekstu Dekoli mozhe buti dozvoleno zminyuvati statichnij blok pam yati a dekoli ni zvazhayuchi na potochnij rezhim vikonannya yakij mozhe zalezhati abo ne zalezhati vid klyucha zapisu abo stanu inspektora zapisu V zagalnomu ne rekomenduyetsya vikoristovuvati cej metod zahistu pam yati na procesorah de isnuyut bilsh adekvatni zasobi oskilki vin vimagaye dosit velikih obchislyuvalnih potuzhnostej komp yutera Prote cej metod zazvichaj vikoristovuyetsya dlya vidlagodzhennya ta testuvannya shob zabezpechiti dosit visokij riven detalizaciyi dlya zagalnih v inshomu vipadku porushen pam yati Vin mozhe tochno vkazati yaka same instrukciya namagayetsya perezapisati pevnu dilyanku pam yati sho mozhe mati odnakovij klyuch z dilyankoyu pam yati bez zahistu Adresuvannya na osnovi Capability Adresuvannya na osnovi Capability based addressing metod yakij ne vikoristovuyetsya v suchasnih komercijnih komp yuterah U comu metodi vkazivniki zamineni zahishenimi ob yektami yaki nazivayutsya capabilities sho mozhut buti stvoreni lishe vikoristovuyuchi privilejovani instrukciyi yaki mozhut buti vikonani lishe yadrom operacijnoyi sistemi abo deyakimi inshimi procesami z pravami na ce Takij pidhid daye yadru mozhlivist efektivno kontrolyuvati yakij proces maye dostup do yakogo ob yekta v pam yati bez potrebi vikoristovuvati okremi adresni prostori abo peremikachi kontekstu Lishe kilka komercijnih proektiv vikoristovuvali cej tip zahistu arhitektura Intel iAPX 432 ta Pidhodi z vikoristannyam capability shiroko vikoristovuyutsya v doslidnickih sistemah takih yak EROS i Combex DARPA Browser Voni takozh vikoristovuyutsya v deyakih virtualnih mashinah najbilsh pomitno v Smalltalk i Java V danij chas v Kembridzhskomu universiteti pracyuyut nad zasnovanim DARPA proektom CHERI dlya stvorennya suchasnogo capability komp yutera sho bude pidtrimuvati i programi rozrobleni dlya inshih sistem Ocinka rivnya zahistuRiven zahistu pevnoyi sistemi mozhe buti ocinenij za dopomogoyu vimiryuvannya jogo blizkosti do Zahist pam yati v riznih operacijnih sistemahRizni operacijni sistemi vikoristovuyut rizni formi zahistu abo vidokremlennya pam yati Hocha zahist pam yati buv zagalnoprijnyatij na bilshosti mejnfrejmiv i bagatoh mikrokomp yuternih sistemah z 1960h spravzhnye vidokremlennya pam yati ne vikoristovuvalosya v operacijnih sistemah dlya domashnih komp yuteriv do vihodu OS 2 v 1987 roci U poperednih sistemah takij nedostatnij zahist navit vikoristovuvavsya yak forma vzayemodiyi mizh procesami vikoristovuyuchi vkazivniki V simejstvi operacijnih sistem Windows 9x procesi mozhut dostupatisya do sistemnoyi pam yati Deyaki operacijni sistemi yaki realizuyut zahist pam yati Microsoft Windows pochinayuchi z Windows NT 3 1 OS 2 yak neobov yazkovij modul Unix podibni sistemi vklyuchayuchi Solaris Linux BSD Mac OS X iOS i GNU Hurd i Inferno stvoreni v Bell Labs yak poslidovniki Unix Na Unix podibnih sistemah viklik mprotect vikoristovuyetsya dlya keruvannya zahistom pam yati Div takozh dlya porushennya zahistu pam yati Zahishenij rezhimPrimitkiIntel July 2008 PDF Intel Arhiv originalu PDF za 19 kvitnya 2009 Procitovano 21 serpnya 2008 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite book title Shablon Cite book cite book a Cite maye pustij nevidomij parametr sectionurl dovidka PDF Arhiv originalu PDF za 28 listopada 2007 Procitovano 24 travnya 2015 PDF Arhiv originalu PDF za 7 chervnya 2011 Procitovano 24 travnya 2015 PDF Arhiv originalu PDF za 1 chervnya 2012 Procitovano 24 travnya 2015 Cook D J Measuring memory protection 10 lipnya 2020 u Wayback Machine accepted for 3rd International Conference on Software Engineering Atlanta Georgia May 1978 Everything2 24 chervnya 2000 Arhiv originalu za 2 kvitnya 2015 Procitovano 29 kvitnya 2009 The Open Group Base Specifications Issue 6 The Open Group Arhiv originalu za 4 travnya 2015 Procitovano 24 travnya 2015 PosilannyaIntel Developer Manuals 5 serpnya 2011 u Wayback Machine in depth information on memory protection for Intel based architectures