У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


Захищений режим і віртуальна пам'ять для Windows

курсова робота з інформатики

ЗМІСТ

1. Аналіз, передумови

Віртуальна пам'ять (ВП, Virtual Memory) – з одного боку, це оперативна пам'ять віртуальної машини. З другого боку, віртуальна пам'ять – це система, що дозволяє прикладним програмам в різних віртуальних машинах бачити тільки свою оперативну пам'ять. Захист адресних просторів усередині однієї ВМ теж забезпечується системою віртуальної пам'яті. Найважливішою задачею системи віртуальної пам'яті є прозора (для прикладних програм) емуляція більшого об'єму оперативної пам'яті, ніж фізично встановлено в обчислювальній системі.

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

Дані на диск записуються в особливу тимчасову область, відому як файл підкачки. У міру того, як дані стають потрібні, вони прочитуються назад в пам'ять. Таким чином, в кожний окремий момент у фізичній пам'яті перебуває лише частина ваших програм і даних. Вся ця робота по підкачці залишається невидимою для користувача, який лише чує, як клацає дисковод. MS Windows перекачує фрагменти пам'яті, звані сторінками, використовуючи алгоритм заміщення LRU (найбільш давно використаних сторінок). Це означає, що першими виявляться скинені на диск сторінки, доступ до яких здійснювався найбільш давно. Такий підхід передбачає, що в більшості випадків ризик того, що секретні дані виявляться скиненими на диск, невідчутно малий, оскільки PGP не залишає їх в пам'яті надовго.

До цього файлу підкачки може дістати доступ кожний, кому фізично доступний ваш комп'ютер. Якщо вас турбує ця проблема, можливо, вам вдасться її вирішити, встановивши спеціально програмне забезпечення, що стирає дані у файлі підкачки (наприклад чудова програма Kremlin 2.21). Іншим можливим засобом є відключення механізму віртуальної пам'яті в операційній системі. Це дозволяє зробити і MS Windows, і MacOS. Відключення віртуальної пам'яті означає, що вам буде потрібно більше фізично встановлених мікросхем оперативної пам'яті.

Комп'ютерні системи створюються із застосуванням декількох рівнів пам'яті. На рис. 1 показані найважливіші з них з вказівкою орієнтовних значень. По мірі переходу до правої частини малюнка ці види пам'яті стають більш крупними, але менш швидкодійними (а також більш дешевими з розрахунку на один байт). Зокрема, можна бачити, що швидкості доступу характеризуються шістьма порядками величини і крайні їх значення відрізняються один від одного в 1000000 разів, а місткості характеризуються вісьма порядками величини і крайні їх значення відрізняються один від одного в 312500000 разів. (На практиці різниця в швидкодії іноді не така помітна, але ці цифри цілком прийнятні для цілей даного опису.) Найзначнішою відмінністю є відмінність між оперативною пам'яттю (або основною пам'яттю) і диском (або зовнішньою пам'яттю).

Рис. 1.1. Рівні зберігання з характеристиками швидкості і обміну

Потреба в додатковій зовнішній пам'яті надзвичайно велика, навіть не дивлячись на таку низьку її швидкодію. Було б непогано примусити диск підміняти оперативну пам'ять, коли її не вистачає, тимчасово переміщаючи невживаний код і дані на диск, щоб звільнити місце для діючих процесів.

Таким чином, віртуальна пам'ять є методом бездоганного поєднання доступу до оперативної пам'яті і диска; до основної і зовнішньої пам'яті. Додатки мають доступ до всієї оперативної пам'яті, неначе вона дійсно існує. Ми знаємо, що її насправді немає і тому називаємо її "віртуальною", але завдяки ядру додатку цього не помічають. З погляду додатків, віртуальна пам'ять рівносильна наявності величезного об'єму оперативної пам'яті, яка на практиці іноді просто повільно працює.

Термін "віртуальна пам'ять" має ще одне значення, яке, строго кажучи, не пов'язане з першим значенням. Таке поняття, як віртуальна пам'ять, відноситься також до методу надання процесам відкоректованої інформації про адреси, в яких вони знаходяться. Кожному процесу дозволено вважати, що його адреси починаються з нульової адреси і від нього нарощуються. Безумовно, насправді це не може бути істинним для всіх процесів одночасно, але ця угода зручна при виробленні виконуваного коду, оскільки процесам не потрібно повідомляти, що вони насправді не розташовуються з нульової адреси, і вони не повинні цього враховувати.

Ці два тлумачення не обов'язково пов'язані, оскільки теоретично будь-яка операційна система може надати кожному процесу його власний логічний адресний простір, не об'єднуючи при цьому основну і зовнішню пам'ять. Проте у всіх відомих реальних системах передбачено або обидві ці форми реалізації віртуальної пам'яті, або жодну. Саме з цим була пов'язана та плутанина, яка виникала на перших етапах розвитку операційних систем.

Щоб уникнути цієї багатозначності, багато хто вважає за краще закріплювати за терміном "віртуальна пам'ять" значення, пов'язане з логічним адресним простором, і використовувати для позначення способу тимчасового зберігання інформації на диску термін "сторінковий обмін" або "підкачка" (свопінг), характеризуючи використання віртуальної пам'яті лише як спосіб зберігання інформації. Хоча в міркуваннях цих прихильників чистоти термінології є частка істини, варто дотримуватись більш поширеного тлумачення.

Захищений режим з'явився в мікропроцесорах Intel починаючи з 80286, але остаточний вигляд знайшов в 80386. Як випливає з своєї назви, захищений


Сторінки: 1 2 3 4 5 6 7