Контакти

Максимум пам'яті для 32 розрядної системи. Оперативна пам'ять і система Windows. Максимальний об'єм оперативної пам'яті в Windows

Скільки пам'яті може використовувати 32 бітна операційна система

Спочатку трохи теорії.
Найпростіший елемент інформації - біт. Він є мінімальною одиницею інформації і може приймати значення 0 або 1. За ним йде байт, він складається з 8 біт. Так як біт може приймати 2 значення, то все виходить 2 8 \u003d 256 значень байта.

Тепер розглянемо адресацію пам'яті. У будь-якого комп'ютера є оперативна пам'ять (ОЗУ) - адресний простір, необхідне для зберігання даних, які використовуються в наразі. Для отримання інформації з ОЗУ спочатку процесор повинен вибрати адресу потрібного біта, який зберігатися в одній з мікросхем пам'яті, а вже потім його прочитати. Цей процес і називається адресацією пам'яті. Одним з властивостей архітектури комп'ютера є кількість бітів, використовуваних при адресації пам'яті.

32 бітні ОС для адресації пам'яті використовують 2 32 біт, що становить 4294967296 біт або 4 Гігабайт (Гб). Це означає, що максимальний обсяг пам'яті, до якого може звертатися 32 бітна операційна система, становить 4 Гб. Однак навіть цей обсяг використовувати в повній мірі нам не вдасться, оскільки компоненти операційної системи і пристрої вимагають виділеного адресного простору в межах перших 32 біт (4 Гбайт) оперативної пам'яті. Наприклад, відеокарта з 512 Мбайт пам'яті зажадає синхронізації цієї пам'яті з оперативної, що знизить доступну ємність на 512 Мбайт.

Таким чином, загальний обсяг пам'яті, доступної в 32 - бітної ОС Windows зазвичай становить 3.25-3.75 Гб в залежності від використовуваного заліза.

Деякі версії Windows підтримують функцію під назвою Physical Address Extension (PAE), що дозволяє використовувати більше 4 Гбайт пам'яті завдяки спеціальній технології переадресації. Дана технологія дозволяє процесору працювати не з 32-бітної, а з 36-бітної адресацією, теоретично розширюючи доступні йому адреси до 2 36 \u003d 68719476736 байт (64 Гб). При цьому саме адресний простір залишається 32-бітовим, тобто рівним 4 Гб, але за рахунок зміненого відображення на нього фізичної пам'яті стає можливим використання більшого її об'єму.

Згідно з офіційною інформацією Microsoft, режим PAE можна використовувати в наступних 32-бітних операційних системах:

  • Microsoft Windows Server 2000 Enterprise / Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise / Datacenter Edition
  • Microsoft Windows Server 2008 Enterprise / Datacenter Edition

У Server 2008 PAE включений за замовчуванням, якщо на сервері на хардварний рівні включена технологія DEP (Data Execution Prevention), або сервер має можливість гарячого додавання пам'яті (hot-add memory). В іншому випадку PAE необхідно включити примусово за допомогою BCDEdit, за допомогою такої команди:

BCDEdit / set [(ID)] pae ForceEnabled

Щоб включити PAE в Server 2000 \\ 2003 необхідно вказати в файлі Boot.ini ключ / PAE. Ось приклад файлу Boot.ini, що містить ключ PAE:


timeout \u003d 30
default \u003d multi (0) disk (0) rdisk (0) partition (2) \\ WINDOWS
multi (0) disk (0) rdisk (0) partition (2) \\ WINDOWS \u003d "Windows Server 2003, Enterprise" / fastdetect / PAE

Варто зауважити, що можливість використовувати режим PAE для клієнтських ОС була реалізована в другому сервіс-паку до Windows XP. Однак в процесі тестування з'ясувалося, що при використанні цього режиму відбувається велика кількість збоїв. Справа в тому, що драйвери деяких пристроїв, в основному таких як аудіо- і відео, жорстко запрограмовані на роботу з адресами пам'яті в межах 4 ГБ. Вони обрізають всі адреси вище цього обсягу, що призводить до пошкодження вмісту пам'яті з усіма супутніми наслідками. Оскільки, як правило, сервера не використовують подібні пристрої, то з серверними системами подібних проблем не виникало.

У зв'язку з виявленими недоліками вирішено було прибрати з 32-розрядних клієнтських систем можливість працювати з пам'яттю понад 4 ГБ, хоча теоретично це можливо. Тому в клієнтських ОС сімейства Windows дана технологія хоча і присутній, однак не активована на рівні ядра, і спроба її використовувати ні до чого не приведе.

Підводячи підсумок скажу, що якщо є необхідність в обсязі пам'яті більше 4 Гб, то найкращий варіант - це використовувати 64 бітну ОС, адже в ній обмеження на розмір пам'яті становить до 192 Гб для настільних і 2 Тб для серверних ОС.

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

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

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

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

Вперше я реально зіткнувся з проблемою великої пам'яті коли до мене в руки потрапив ноутбук з 4 ГБ оперативної пам'яті і Windows 7 Professional x86. Захотілося з'ясувати що до чого. А саме, - куди "зникла" частина встановленої пам'яті і чи не можна її якось повернути? Адже обсяг фізичної пам 'яті найбезпосереднішим чином впливає на швидкодію системи.

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

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

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

На перший погляд в силу того, що математичним межею для 32-розрядної адресної шини є 4 ГБ і саме такий максимальний розмір офіційно заявлений Microsoft, як підтримуваний в клієнтських версіях Windows x86, названий вище кордон в ~ 3 ГБ може здатися дивним. Однак, як незабаром стане зрозуміло, нічого дивного в цьому немає, а Microsoft злегка вводить народ в оману.

Максимальний розмір оперативної пам'яті, який підтримують 32-розрядні системи

Сьогодні ми розберемося з питанням: чи можуть 32-розрядні системи працювати з фізичною пам'яттю більше 4 ГБ в принципі і якщо так, то яким чином.

Головне, що треба зробити на самому початку, це чітко розділити між собою три поняття:

  1. Властивості процесора;
  2. 32-бітна операційна система;
  3. 32-розрядний додаток (програма)

Останні два дуже часто змішують в одну купу, чого в даному випадку, робити якраз не слід. Почнемо по порядку і здалеку - зробимо короткий історичний екскурс.

процесор

Звернемося до таблиці основних характеристик процесорів (мало не написав х86, що було б помилкою - ця система команд вперше з'явилася у процесора 8086)\u003e

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

Для початку звернемо увагу на 16-розрядні процесори. Якби вони мали 16-розрядну адресну шину, то максимальний розмір доступної їм фізичної пам'яті становив би всього 64 КБ (2 в 16-й ступеня одно 65536). Однак уже Intel 8086 міг працювати з пам'яттю до 1 МБ, а 80286 вже до 16 МБ завдяки 20 і, відповідно, 24 бітам шини адреси.

Епоха процесорів IA-32 і 4 ГБ оперативної пам'яті почалася з Intel 80386 в 1985 році. Протягом наступних 10 років процесори архітектури IA-32 не мали фізичної можливості працювати з пам'яттю більше 4 ГБ.

У 1995 році був представлений процесор Intel Pentium Pro. Поряд з абсолютно новою архітектурою ядра цей процесор отримав 36-бітну адресну шину завдяки чому, як не важко підрахувати, максимальний розмір доступної йому фізичною пам'яті збільшився до 64 ГБ (в сучасних 64-розрядних процесорах використовуються 37 розрядів, що збільшує межа адресується фізичної пам'яті до 128 ГБ).

Крім того, в процесорі був реалізований «хитрий» механізм управління пам'яттю, який відображав фізичну пам'ять, розташовану за межами 4 ГБ, в 32-розрядну віртуальну пам'ять в діапазоні 0 - 4 ГБ «обманюючи» таким чином 32-розрядні додатки. Такий режим управління пам'яттю процесором х86 отримав назву PAE (Physical Address Extension - розширення фізичних адрес).

Pentium Pro позиціонувався в той час як процесор для серверів і робочих станцій. Дійсно, уявити собі в 1995 році настільний комп'ютер з об'ємом оперативної пам'яті не те що більше, а хоча б віддалено наближається до 4 ГБ, було не просто. Пам'ять вимірювалася тоді мегабайтами. І в наш час 4 ГБ пам'яті в настільному комп'ютері або ноутбуці потрібні далеко не всім. Крім того, цей процесор був дуже дорогим і мав проблеми з швидкодією і під час популярних у той час 16-розрядних додатків.

Можна сказати, що таке рішення було новим для 32-розрядних процесорів, однак, в силу того, що раніше подібна практика повсюдно застосовувалася в 16-розрядних процесорах, революційної її назвати складно.

Якщо вже заговорили про процесорах, то відзначимо, що перший 64-розрядний процесор х86 з'явився не у Intel, а у її головного конкурента - компанії AMD в 2003 році. До цього моменту в Intel уже був, випущений в 2001 році, 64-розрядний процесор Itanium абсолютно нової архітектури IA-64, не сумісної з х86. У тому числі через останнього, процесор не набув поширення на настільних комп'ютерах. У 2003 році спеціально для Itanium була випущена єдина версія Windows XP 64-Bit Edition Version 2003 (Itanium 2). Проект був припинений в 2005 році за непотрібністю.

Не всі, але переважна більшість сучасних процесорів х86 для настільних комп'ютерів є 64-розрядними і мають підтримку PAE. Завдяки цьому вони не тільки можуть працювати з пам'яттю більше 4 ГБ, а й надають таку можливість 32-бітовим операційним системам.

Найпростіше визначити підтримку режиму PAE процесором виявилося в Linux. В Ubuntu, або в будь-якому з її численних клонів, можна набрати в терміналі:

grep -color \u003d always -i PAE / proc / cpuinfo

В результаті має вийти щось на зразок цього\u003e

32-розрядні операційні системи

Першою в ряду 32-розрядних ОС Microsoft стала Windows NT 3.1, випущена в 1993 році. Вона призначалася для корпоративного сектора, тобто для серверів і робочих станцій. Двома роками пізніше в 1995 році з'явилася Windows 95 - операційна система для настільних комп'ютерів і ноутбуків. Між двома цими подіями в 1994 році була представлена \u200b\u200bверсія 1.0 ядра Linux. 32-розрядна архітектура виявилася настільки вдалою і «достатньою», що вона повсюдно використовується до сих пір на протязі ось вже 2-х десятиліть. Останньою 32-бітної серверної операційної системою Microsoft стала Windows Server 2008. Однак, новітня Windows 8 як і раніше пропонується в двох варіантах. Суперечки про те, що краще - 32 або 64 не припиняються і сьогодні.

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

Якщо у Вас 32-розрядний Linux, то проблем з використанням пам'яті об'ємом більше 4 ГБ, швидше за все, не виникне. В операційних системах Linux підтримка PAE з'явилася в 1999 році в ядрі 2.3.23 і використовується з тих пір без жодних обмежень.

Можна відзначити, що, наприклад, популярний Linux Mint взагалі поставляється сьогодні виключно з ядром PAE і вимагає його обов'язкової підтримки процесором. До речі, як в Windows 8. Не всі цій обставині раді, так як очевидно все ще збереглися процесори без підтримки PAE.

Подивимося таблицю максимально підтримуваних розмірів фізичної пам'яті, взяту зі статті 2005 року в msdn.microsoft.com, для Windows 2000, Windows XP і Windows Server 2003\u003e

Як видно з цієї таблиці, режим PAE підтримується у всіх версіях ОС Microsoft починаючи з Windows 2000. Варіації розмірів максимальної пам'яті в різних версіях серверних операційних систем пояснюються виключно їх позиціонуванням на ринку компанією Microsoft. Напевно, так простіше пояснити їх відрізняється один від одного вартість. Для нас особливий інтерес представляють рядки таблиці, які прямо говорить про те, що у всіх версіях Windows XP загальний адресний простір фізичної пам'яті обмежене на рівні 4 ГБ. Саме штучно обмежена в ядрі, так як підтримка PAE є. З чим пов'язано таке обмеження, причому не тільки в ХР, але і у всіх наступних настільних 32-розрядних версіях Windows, розберемося у.

Режим PAE може бути включений, може бути виключений. Починаючи з Windows XP SP2 PAE включається примусово для забезпечення роботи технології безпеки DEP (Data Execution Prevention - запобігання виконання даних).

DEP - це технологія, яка дозволяє захистити операційну систему від великого класу шкідливого коду, Який спочатку впроваджується в область пам'яті, відведену під дані і маскується під дані, а потім намагається з неї запуститися. Технологія DEP таке виконання шкідливого коду блокує. Реалізується технологія як програмно, так і апаратно. В останньому випадку процесор позначає окремі сторінки пам'яті як що не містять виконуваного коду зміненим старшим бітом в адресній таблиці PTE (Page Table Entry) віртуальної пам'яті, А потім перехоплює і запобігає запуск виконуваного коду з цих сторінок.

Переходимо до нашого останнього сьогоднішнього пункту.

32-розрядні додатки

Завдяки диспетчеру пам'яті процесора, який здійснює її розподіл в режимі PAE незалежно від роботи додатків, і підтримки такого режиму роботи операційною системою, 32-розрядні додатки відокремлені від фізичної пам'яті і не мають відомостей про її реальному розмірі. Кожному з додатком, так як для них зберігається 32-бітове адресний простір, як і раніше доступні тільки 4 ГБ віртуальної пам'яті. У Windows під потреби самого додатка з цих 4 ГБ віддається рівно половина, в Linuх - 3 ГБ. У Windows існує можливість примусово віддати додатком 3 ГБ, але, в більшості випадків, це є недоцільним.

Необхідно мати на увазі, що включення режиму PAE аж ніяк не еквівалентно переходу на 64-бітну систему, в якій кожному з додатком виділяється незрівнянно більший обсяг пам'яті. Якщо за рахунок PAE спробувати безпосередньо задовольнити непомірний апетит нікого сучасного додатки, наприклад, просунутої комп'ютерної гри, То нічого доброго не вийде. А ось якщо потрібно одночасно запустити кілька вимогливих до пам'яті програм, то користь від PAE буде пряма. В першу чергу це стосується серверів.

Наприклад, потрібно одночасна робота двох віртуальних машин, кожній з яких відведено по 2 ГБ пам'яті. Що буде без PAE зрозуміло - друга віртуальна машина, швидше за все, просто не запуститься, ну або в системі почнеться такий інтенсивний обмін з swap-файлом, що процес перейде в категорію «покрокова стратегія» (забігаючи в перед скажу, що в реальному експерименті з віртуальними машинами, Про який можна прочитати в, swap не допоміг). З включеним PAE, за умови достатнього обсягу фізичного ОЗУ хостовой машини, обидві віртуальні машини будуть благополучно працювати. Насправді все трохи складніше, але, в загальних рисах, так.

До недоліків PAE зазвичай відносять можливе зниження продуктивності системи через зменшення швидкості доступу до пам'яті, пов'язаної з додатковими операціями на перемикання відображуваних сторінок пам'яті, і погану роботу деяких драйверів пристроїв в 36-бітному адресному просторі.

На цьому поки що зупинимося і підведемо підсумки:

  • Практично всі сучасні 32-бітові операційні системи вміють працювати з оперативною пам'яттю розміром більше 4 ГБ. Така можливість з'явилася в 1995 році завдяки впровадженню в процесори технології PAE (Physical Address Extension - розширення фізичних адрес);
  • Не дивлячись на те, що підтримка PAE дозволяє задіяти фізичну пам'ять об'ємом до 64 (128) ГБ, робота ядра операційної системи в такому режимі абсолютно не еквівалентна переходу на 64-бітну ОС. Додатки продовжують виконуватися в звичайному для них 32-розрядному адресному просторі, але при цьому, якщо встановлена \u200b\u200bфізична пам'ять перевищує 4 ГБ, самих додатків може бути одночасно запущено більше;
  • У режимі PAE може спостерігатися зниження швидкості доступу до пам'яті і проблеми з драйверами пристроїв;
  • В операційних системах Microsoft Windows верхня межа доступної фізичної пам'яті обмежений програмно на рівні ядра ОС.

Останній пункт наших сьогоднішніх висновків ми детально розберемо в.

Так хотілося б похвалити автора, стаття дійсно розумна.
Складно правда було знайти, стільки шлаку довелося перелопатити в інеті (((
Олександр, підкажіть, чи правильно я зрозумів, що якщо я на пропаченной винде запускаю будь-який процес, ну припустимо 3D MAX, то під нього буде відведено обсяг не більше 4 ГБ, навіть якщо у мене їх 16?
Тобто я можу запустити 4 Макса і кожен з них от'ест по 4 ГБ пам'яті, але так що б один зайняв все 16 ГБ не вийде.
Windows 7 (32).
Заздалегідь дякую.

  • Дякую за відгук. Так, Ви все зрозуміли абсолютно правильно. Кожен 32-розрядний процес буде оперувати з пам'яттю не більше 4-х Гб. Насправді безпосередньо програмі буде доступна лише половина від 4 Гб. Інша половина буде залишена під системні потреби. Для того, щоб трохи змінити це співвідношення в нову секцію завантаження в BCD додано рядок «increaseuserva 2500».

    Еххх, шкода.
    Виходить, що від перезаліва вінди нікуди не дітися, що б по повній навантажити оперативку (((
    Спасибі за оперативну відповідь.

    Не турбуйтеся. Як то кажуть, що б не робилося, воно все на краще. Якщо пам'яті багато і є ресурсномістке додаток, то х64 з будь-якого і краще і правильніше. Крім того через «кривих» драйверів, після зняття 4 Гб обмеження в 32-розрядної Windows, на жаль, до сих пір немає ніякої гарантії її стабільної роботи.

    • Згоден, метушні, звичайно, багато. Однак, може бути є можливість не встановлювати абсолютно всі програми одномоментно, а в міру потреби? На домашньому настільному комп'ютері я зазвичай встановлюю нову систему на окремий диск і якийсь час «нова» і «стара» існують паралельно. На роботі я також забороняв своїм технічним персоналом вашої заново системи поверх, тобто на диск зі «старої» системою. Більш того, цей диск деякий час (від місяця до трьох) зберігався в недоторканому стані. Такий підхід гарантував повну відсутність втрат даних будь-якого штибу.

      Хммм, цікава думка.
      Я як раз хотів новий гвинт прикупити, ось на нього і вкрячіть нову вінду.
      Ще раз дякую.

  • Минуло кілька років з тих пір, як була написана стаття «Чотири гігабайти пам'яті - недосяжна мета? », А питань, чому Windows не бачить усі чотири гігабайти, менше не стало. До числа шукає відповіді додалися і власники 64-розрядних систем, яких ця проблема, здавалося б, не повинна була торкнутися. І стало ясно, що пора писати нову статтю на цю ж тему. Як і раніше, мова піде тільки про операційні системи Windows, причому в основному клієнтських, тобто Windows XP, Windows Vista, Windows 7 і прийдешньої Windows 8. У деяких випадках навмисно будуть використовуватися кілька спрощені опису тих чи інших аспектів. Це дасть можливість зосередитися на предметі даної статті, не вдаючись у зайві подробиці, зокрема, внутрішнього устрою процесорів і наборів мікросхем (чіпсетів) для системних плат. Рекомендуємо попередньо прочитати зазначену вище статтю, так як не всі, сказане в ній, буде повторено тут.

    Хоча теоретично 32-розрядної системі доступні (без додаткових хитрувань) до 4 ГБ фізичної пам'яті, 32-розрядні клієнтські версії Windows не можуть використовувати весь цей обсяг через те, що частина адрес використовується пристроями комп'ютера. Ту частину ОЗУ, адреси якої збігаються з адресами пристроїв, необхідно відключати, щоб уникнути конфлікту між ОЗУ і пам'яттю відповідного пристрою - наприклад, відеоадаптера.

    Мал. 1. Якщо оперативна пам'ять в адресах, які використовуються пристроями, не відключили, виникає конфлікт

    Оперативна пам'ять заповнює адреси, починаючи з нульового, а пристроям, як правило, відводяться адреси в четвертому гігабайті. Поки розмір ОЗУ не перевищує двох-трьох гігабайт, конфлікти не виникають. Як тільки верхня межа встановленої пам'яті відповідає ту зону, де знаходяться адреси пристроїв, виникає проблема: по одному і тому ж адресою знаходяться і осередок оперативної пам'яті, і осередок пам'яті пристрою (того ж відеоадаптера). У цьому випадку запис даних в пам'ять призведе до спотворення зображення на моніторі і навпаки: зміна зображення - до спотворення змісту пам'яті, тобто програмного коду або даних (скажімо, тексту в документі). Щоб конфлікти не виникали, операційній системі доводиться відмовлятися від використання тієї частини ОЗУ, яка перекривається з адресами пристроїв.

    В середині дев'яностих років минулого століття для розширення доступного обсягу ОЗУ була розроблена технологія PAE (Physical Address Extension), що збільшує число ліній адреси з 32 до 36 - тим самим максимальний обсяг ОЗУ виростав з 4 до 64 ГБ. Ця технологія спочатку призначалася для серверів, проте пізніше з'явилася і в клієнтської Windows XP. Деякі особливості реалізації цієї технології в сучасних контролерах пам'яті дають можливість не тільки використовувати PAE за її прямим призначенням, а й «перекидати» пам'ять в інші адреси. Таким чином, частина пам'яті, яка заради запобігання конфліктів не використовується, може бути переміщена в старші адреси, наприклад в п'ятий гігабайт - і знову стати доступною системі.

    В обговоренні першої статті було висловлено зауваження, що некоректно ототожнювати наявність в контролері пам'яті системної плати підтримки PAE - і здатність плати переадресовувати пам'ять; що це цілком можуть бути речі, один з одним не пов'язані. Однак практика показує, що в «залізі» для настільних систем це поняття взаємозамінні. Наприклад, Intel в документації до свого набору мікросхем G35 ні слова не говорить про можливість (реально існуючої) переадресації пам'яті, зате підкреслює підтримку РАЕ. А що не підтримує PAE набір i945 не має і переадресації пам'яті. З процесорами AMD64 і останніми моделями процесорів Intel справи ще простіше: в них контролер пам'яті вбудований в процесор, і підтримка PAE (і ОЗУ розміром більше 4 ГБ) автоматично має на увазі підтримку переадресації.

    Мал. 2. Переведення

    Малюнок досить умовний, переадресація зовсім не обов'язково виконується блоками саме по одному гігабайту, дискретність може бути іншою і визначається контролером пам'яті (який, нагадаємо, є або частиною обладнання системної плати, або частиною процесора). У програмі BIOS Setup комп'ютера зазвичай буває настройка, дозволяє або забороняє переадресацію. Вона може мати різні найменування - наприклад, Memory remap, Memory hole, 64-bit OS тощо. Її назва найкраще з'ясувати в керівництві до системної плати. Необхідно відзначити, що якщо використовується 32-розрядна система, то на деяких системних платах, переважно досить старих, переадресацію необхідно відключати - в іншому випадку обсяг доступного системі ОЗУ може зменшитися.

    За замовчуванням в Windows XP режим РАЕ був відключений, оскільки реальної потреби в ньому не було (нагадаємо, що в 2001 році типовий обсяг пам'яті настільного комп'ютера становив 128-256 МБ). Проте, якщо його включити, то ХР могла б використовувати всі чотири гігабайти пам'яті - за умови, звичайно, що системна плата підтримувала б РАЕ. Але, повторимо, реальної потреби включати цей режим в ті роки не було. При бажанні читач може для проби встановити на сучасний комп'ютер Windows XP або Windows XP SP1 (робити це для роботи, звичайно, не варто), включити режим PAE і своїми очима переконатися, що системі доступні чотири гігабайти оперативної пам'яті.

    У 2003 році «Майкрософт» почала розробляти другий пакет виправлень для Windows XP (вийшов у 2004 році), оскільки зіткнулася з необхідністю суттєво знизити число вразливостей в компонентах ОС. Одним із шляхів було використання запобігання виконання даних (Data Execution Prevention, DEP) - набору програмних і апаратних технологій, що дозволяють виконувати додаткові перевірки вмісту пам'яті і в ряді випадків запобігати запуск шкідливого коду. Ці перевірки виконуються як на програмному рівні, так і на апаратному (при наявності відповідного процесора). AMD назвала цю функцію процесора «захист сторінок від виконання» (no-execute page-protection, NX), а Intel використовувала термін «заборона на виконання» (Execute Disable bit, XD).

    Однак використання такої апаратної захисту вимагає перекладу процесора в режим PAE, тому Windows XP SP2 при виявленні відповідного процесора стала включати цей режим за замовчуванням. І ось тут «Майкрософт» зіткнулася з досить серйозною проблемою: виявилося, що не всі драйвери можуть працювати в режимі PAE. Спробуємо пояснити цю особливість, не надто заглиблюючись в пристрій процесорів і механізми адресації.

    У Windows використовується так звана плоска модель пам'яті. Тридцять два розряду адреси забезпечують звернення до простору розміром чотири гігабайти. Таким чином, кожному осередку ОЗУ або комірці пам'яті іншого пристрою відповідає певний адресу, і ніяких двозначностей тут бути не може. Включений режим PAE дає можливість використовувати 36 розрядів адреси і збільшити кількість осередків пам'яті в 16 разів. Але ж система команд процесора залишається тією ж самою і може адресувати тільки 4 мільярди (довічних) байтів! І ось, щоб забезпечити можливість доступу до будь-якого з 64 мільярдів байтів, вказавши тільки 32 розряду адреси, в процесорі включається додатковий етап трансляції адрес (ті, кого цікавлять подробиці, можуть звернутися до спеціальної літератури - наприклад, книзі Руссиновича і Соломона « Внутрішній пристрій Windows »). В результаті 32-розрядний адреса в програмі може вказувати на будь-який з байтів в 36-розрядному просторі.

    Прикладних програм ця особливість ніяк не стосується, вони працюють в своїх власних віртуальних адресах. А ось драйверам, які повинні звертатися до реальних адресами конкретних пристроїв, доводиться вирішувати додаткові завдання. Адже сформований цим драйвером 32-розрядний адреса може після додаткового етапу трансляції виявитися зовсім іншим, і видана драйвером команда може, наприклад, замість виведення значка на екран змінити значення в одній з комірок таблиці Excel. А якщо виявляться запорченних будь-які системні дані, то тут і до аварійного завершення роботи з висновком синього екрану рукою подати. Тому для успішної роботи в режимі PAE драйвери повинні бути написані з урахуванням особливостей цього режиму.

    Однак оскільки історично склалося так, що до того часу в клієнтських комп'ютерах PAE не використовувався деякі компанії не вважали за потрібне підтримувати цей режим в написаних ними драйвери. Адже обладнання, яке вони випускали ( звукові плати, Наприклад), які не призначалося для серверів, і драйвери не мали серверної версії - так навіщо без необхідності ці драйвери ускладнювати? Тим більше, що для тестування роботи в режимі PAE раніше було потрібно встановлювати серверну ОС і використовувати серверне обладнання (Системні плати для настільних комп'ютерів лише відносно недавно стали підтримувати PAE). Так що розробникам драйверів простіше і вигідніше було просто забути про цей PAE і забезпечити працездатність на звичайних клієнтських комп'ютерах зі звичайними персональними, а не серверними ОС.

    І ось з такими драйверами і виникли проблеми в XP SP2. Хоча кількість фірм, драйвери яких переставали працювати або навіть викликали крах системи, виявилася невеликою, кількість випущених цими фірмами пристроїв обчислювалася мільйонами. Відповідно, і кількість користувачів, які могли б після установки SP2 отримати неприємний сюрприз, виявлялося досить значним. В результаті багато користувачів і самі відмовилися б встановлювати цей пакет, і рознесли б про нього погану славу, що вплинуло б і на інших користувачів. Вони, хоч і без будь-яких вагомих причин, теж відмовилися б його встановлювати.

    А необхідність підвищення безпеки ХР компанія «Майкрософт» відчувала дуже гостро. Втім, міркування на тему, чому ми побачили Windows XP SP2 і не побачили чогось на кшталт Windows XP Second Edition, виходять за рамки даної статті.

    Головне, що нас цікавить, це те, що для забезпечення сумісності з погано написаними драйверами функціональність PAE в SP2 для Windows XP була обрізана. І хоча сам цей режим існує і, більш того, на комп'ютерах з сучасними процесорами включається за замовчуванням, ніякого розширення адресного простору він не дає, просто передаючи на вихід ті ж адреси, які були подані на вхід. Фактично система поводиться як звичайна 32-розрядна без PAE.

    Те ж саме поведінка була успадкована Windows Vista, а потім перейшло до Windows 7 і майбутньої Windows 8. Звичайно, 32-розрядних. Причина, по якій ця поведінка не змінилося, залишилася тією ж самою: забезпечення сумісності. Тим більше, що необхідність вигадувати частки гігабайти відпала: ті, кому потрібні великі обсяги пам'яті, можуть використовувати 64-розрядні версії ОС.

    Іноді можна почути запитання: якщо саме цей обрізаний режим PAE заважає системі бачити всі чотири гігабайти - так, може, відключити його зовсім, щоб не заважав, і, вуаля, системі стануть доступні 4 ГБ? На жаль, не стануть: для цього потрібно як раз наявність PAE, притому повноцінного. Інший не так уже й рідко задається питання звучить так: якщо пристрої дійсно заважають системі використовувати всю пам'ять і резервують її частина під свої потреби, то чому ж вони нічого не резервували, коли в комп'ютері стояло два гігабайти оперативної пам'яті?

    Повернемося до першого малюнку і розглянемо ситуацію докладніше. Перш за все зазначимо, що потрібно чітко розрізняти два поняття: розмір адресного простору і обсяг ОЗУ. Змішання їх воєдино перешкоджає розумінню суті питання. Адресний простір - це набір усіх існуючих (до яких може звернутися процесор і інші пристрої) адрес. Для процесорів сімейства i386 це 4 гігабайти в звичайному режимі і 64 ГБ з використанням PAE. У 64-розрядних систем розмір адресного простору складає 2 ТБ.

    Розмір адресного простору ніяк не залежить від обсягу ОЗУ. Навіть якщо витягнути з комп'ютера всю оперативну пам'ять, розмір адресного простору не зміниться ні на йоту.

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

    Розглянемо, як же в комп'ютері використовується адресний простір. Відразу підкреслимо, що його розподіл виконується обладнанням комп'ютера ( «залізом») і операційна система в загальному випадку не може на це вплинути. Є тільки один спосіб: змінити налаштування обладнання за допомогою технології Plug & Play. Про неї багато говорили в середині 90-х років минулого століття, але тепер вона сприймається як щось само собою зрозуміле, і все збільшується число людей, які про неї навіть не чули.

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

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

    Раз вже про це зайшла мова, зауважимо, що в ряді системних плат є настройка під назвою «P & P OS». Якщо ця настройка виключена (No), то системна плата виконує розподіл адрес для всіх пристроїв. Якщо включена (Yes), то розподіл пам'яті виконується тільки для пристроїв, необхідних для завантаження, а налаштуванням інших пристроїв буде займатися операційна система. У разі Windows XP і більш нових ОС цього сімейства це налаштування рекомендується включати, оскільки в більшості випадків Windows виконає необхідні конфігурації принаймні не гірше, ніж BIOS.

    Оскільки при такому самоконфігурірованіі розподіляються адреси пам'яті, не має ніякого значення, скільки ОЗУ встановлено в комп'ютері - процес все одно буде протікати однаково.

    Коли в комп'ютер вставлено кілька ОЗУ, то адресний простір для нього виділяється від низу до верху, починаючи з нульового адреси і далі в бік збільшення адрес. Адреси пристроїв, навпаки, виділяються у верхній області (в четвертому гігабайті) в сторону зменшення адрес, але не обов'язково суміжними блоками - частіше, навпаки, несуміжними. Як тільки зони адрес, що виділяються для ОЗУ (з одного боку) і для пристроїв (з іншого боку), стикнуться, стає можливим конфлікт адрес, і обсяг використовуваного ОЗУ доводиться обмежувати.

    Оскільки зміна адреси під час налаштування пристроїв виконується з деяким кроком, обумовленим характеристиками пристрою, заданими виробником, то суцільний ділянку адрес для пристроїв отримати неможливо - між адресами окремих пристроїв з'являються невикористовувані проміжки. Теоретично ці проміжки можна було б використовувати для звернення до оперативної пам'яті, але це ускладнило б роботу диспетчера пам'яті операційної системи. З цієї та з інших причин Windows використовує ОЗУ до першого адреси пам'яті, зайнятого пристроєм. ОЗУ, яке перебуває від цієї адреси і вище, залишиться невикористаним. Якщо, звичайно, контролер пам'яті не організує переадресацію.

    Іноді задають питання: а чи можна вплинути на розподіл адрес, щоб зрушити всі пристрої в адресному просторі якомога вище і зробити якомога більше пам'яті доступної системі. У загальному випадку без втручання в конструкцію або прошивки самих пристроїв це зробити неможливо. Якщо ж руки все-таки сверблять, а часу не шкода, можна спробувати наступний метод: в BIOS Setup включити настройку «PnP OS» (вона може або зовсім відсутні або називатися по-іншому), щоб адреси для більшості пристроїв розподіляла Windows, а потім перевстановлювати драйвери, використовуючи відредаговані файли inf з віддаленими областями пам'яті, які, на ваш погляд, розташовані занадто низько.

    В інтернеті можна знайти різні поради, які, нібито, повинні дати системі можливість використовувати всі чотири гігабайти, засновані на примусовому включенні PAE. Як легко зрозуміти з викладеного, ніякого виграшу це дати не може, оскільки не має значення, чи включений PAE автоматично або примусово - працює цей режим в обох випадках однаково.

    Може виникнути також питання: а що буде, якщо встановити відеоадаптер з чотирма гігабайтами пам'яті. Адже тоді виходить, що система залишиться зовсім без ОЗУ і працювати не зможе. Насправді нічого страшного не станеться: Відеоадаптери вже досить давно використовують ділянку адресного простору розміром 256 МБ, і доступ до всього обсягу пам'яті відеоприскорювача здійснюється через вікно такого розміру. Так що більше 256 мегабайт відеоадаптер не відніме. Можливо, в якихось моделях розмір цього вікна збільшений вдвічі або навіть вчетверо, але автору в руки вони поки не потрапляли.

    64 розряду

    Отже, з 32-розрядними системами ми розібралися. Тепер перейдемо до 64-розрядних.

    Ось вже тут-то, здавалося б, ніяких підводних каменів бути не повинно. Система може використовувати набагато більше чотирьох гігабайт, так що, на перший погляд, досить увіткнути в системну плату пам'ять і встановити систему. Але виявляється, не все так просто. Перш за все, відзначимо, що спеціального обладнання, призначеного тільки для 64-розрядних систем, знайти не вдасться (ми говоримо про звичайні ПК). Будь-яка системна плата, мережева плата, відеоадаптер тощо., Що працюють в 64-розрядної системі, повинні з однаковим успіхом працювати в 32-розрядної.

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

    Не підтримують переадресацію системні плати на наборах мікросхем Intel до 945 включно. Новими їх, звичайно, не назвеш, але комп'ютери на їх базі ще існують і використовуються. Так ось, на таких платах і 64-розрядна, і 32-розрядна системи зможуть побачити однакову кількість пам'яті, і воно буде менше 4 ГБ. Чому менше - описано вище.

    З 64-розрядними процесорами AMD справа йде простіше: у них контролер пам'яті вже досить давно вбудований в процесор, і переадресація відсутня тільки в застарілих моделях. Всі процесори для 939-контактного гнізда і більш нові підтримують більше 4 ГБ і, відповідно, вміють виконувати переадресацію пам'яті. Те ж саме відноситься до процесорам Intel сімейств Core i3, i5, i7.

    Втім, і тут може бути заковика: якщо на системній платі не виконана розводка додаткових адресних ліній, то не буде і можливості звернутися до переадресований пам'яті. А деякі молодші моделі системних плат для здешевлення випускають саме такими, так що необхідно дивитися опис конкретної системної плати.

    І тут нас чекає сюрприз, подібний до того, з яким ми стикаємося в 32-розрядної системі: використання адресного простору для роботи пристроїв може обмежити обсяг пам'яті, доступний Windows.

    Наприклад, якщо системна плата підтримує до 8 Гб оперативної пам'яті (скажімо, яка використовує набір мікросхем G35), і встановити всі ці 8 ГБ, то використовуватися будуть тільки ≈7-7,25 ГБ. Причина полягає в наступному: на такій системній платі розведені 33 лінії адреси, що, з точки зору виробника, цілком логічно - навіщо ускладнювати конструкцію, якщо більше 8 ГБ плата все одно не підтримує? Тому навіть якщо контролер пам'яті зможе перекинути невикористаний ділянку ОЗУ в дев'ятий гігабайт, звернутися до нього все одно буде неможливо. Для цього буде потрібно 34-розрядний адреса, який фізично не можна сформувати на 33-розрядної системної шини. Точно так же на платах, що підтримують 16 ГБ, Windows зможе використовувати ≈15-15,25 ГБ і так далі.

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

    Мал. 3. Ця настройка обмежує верхню межу адрес, а не розмір пам'яті

    Тобто якщо задати цю величину рівної 4096 МБ, то пам'ять, розташована вище цієї межі (переадресувати в п'ятий гігабайт, наприклад), використовуватися не буде, і фактично обсяг пам'яті буде обмежений приблизно трьома гігабайтами. Цю особливість в деяких випадках вдається використовувати для діагностики того, працює переадресація чи ні. Наприклад, автору зустрівся випадок, коли на ноутбуці Windows використовувала 3,75 ГБ з чотирьох, і було неясно: чи то не працює переадресація, то чи пам'ять використовується на якісь потреби. Установка прапорця і обмеження розміру пам'яті чотирма гігабайтами привели до того, що стали використовуватися тільки 3,25 ГБ. З цього можна зробити висновок, що переадресація працювала, а чверть гігабайти, отже, використовувалася для відеоадаптера або якихось інших цілей.

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

    Зовсім недавно на блозі сайт була опублікована замітка, в допомогу тим, хто збирається оновлювати свій комп'ютер або ж купувати / збирати новий. А саме, в ній йшлося про те, скільки оперативної пам'яті потрібно комп'ютера в залежності від тих завдань, які передніми ставляться: Скільки оперативної пам'яті потрібно?

    Наступною нашою заміткою за планом була стаття про підтримку різних обсягів пам'яті з боку операційної системи - про розрядності операційної системи; про те, що не всі обсяги пам'яті підтримуються всіма версіями Windows. Окреме спасибі всім читачам, які в коментарях на блозі згадали про тему розрядності: після прочитання їх я зрозумів, що короткої замітки в блозі на цю тему - мало. Потрібен детальний матеріал на цю тему.

    Саме тому було вирішено написати статтю, (лікнеп, якщо хочете) з цього питання і розмістити її тут, на ITexpertPortal.com - в архіві безкоштовних навчальних матеріалів і статей на важливі теми комп'ютерної грамотності.

    Отже, повернемося до основної теми, до розрядності операційних систем і до підтримки різних обсягів пам'яті. Спочатку відповімо на питання:

    Що таке розрядність взагалі?

    Наукове визначення: В інформатиці розрядністю електронного (зокрема, периферійного) пристрої або шини називається кількість розрядів (бітів), одночасно оброблюваних цим пристроєм або переданих цією шиною. Термін застосовується до складових частин обчислювальних, периферійних або вимірювальних пристроїв: шинам даних комп'ютерів, процесорам і т.д. Розрядністю комп'ютера називають розрядність його машинного слова. (Джерело - Вікіпедія).

    Думаю, все просто і зрозуміло. Розрядність - здатність одночасно обробляти якусь кількість бітів, якщо говорити простіше.

    Насправді, все не так просто, і щоб висвітлити повністю це питання і "по-науковому" - ніякої статті не вистачить. Тому, не будемо заглиблюватися в курс архітектури ПК, а торкнемося чисто практичні моменти, з якими доводиться стикатися і які мають значення для нас - користувачів.

    Причому тут обсяг оперативної пам'яті?

    Існує дві версії операційної системи Windows (принаймні поки - тільки дві). Не важливо, що саме ми візьмемо з сучасних та актуальних систем: XP, Vista або 7.
    Всі ці системи існують в двох варіантах - 32-бітові та 64-бітові. наприклад:

    Windows 7 Ultimate 32-bit (або х86 - рівнозначні позначення)
    Windows 7 Ultimate 64-bit (
    або x64 - рівнозначні позначення)
    Windows Vista Ultimate x86 (x86 -
    це позначення 32-бітової версії)
    Windows Visa Ultimate x64 (відповідно - 64-бітна версія)

    Архітектурні відмінності між 32 і 64-бітових версіях Windows, зрозуміло, є. Говорити про них можна довго, але це ні до чого, повірте мені. 🙂

    Найголовніші особливості і відмінності, які безпосередньо стосуються користувача і з якими доводиться стикатися:

    1. Максимальний об'єм оперативної пам'яті.
    2. Розрядність операційної системи.
    3. Розрядність процесора.

    Ось про це ми з вами поговоримо докладніше ...

    Максимальний об'єм оперативної пам'яті.

    32-бітна операційна система може адресувати (тобто може використовувати, "бачити") не більше 4 ГБ оперативної пам'яті. Це найголовніша відмінність, і найсуттєвіше. Якщо у вашому комп'ютері встановлено, скажімо, 2 ГБ, то 32-бітна операційна система працює з таким обсягом нормально.

    Якщо ви у становите 4 ГБ пам'яті і будете працювати під керуванням 32-бітної ОС, то вона просто не побачить такий обсяг. Все, що вона зможе використовувати - це приблизно 3.5 ГБ з 4 ГБ. Інший обсяг вона не може надати для працюючих програм. Зрозуміло, якщо ви встановите в комп'ютер 8 ГБ пам'яті, скажімо, і при цьому будете залишатися на 32-бітної системі, то вона так само не побачить більше 3.5 ГБ з усього встановленого обсягу.

    64-бітна операційна система може працювати з набагато більшими обсягами пам'яті - до 192 ГБ (для Windows 7). Тобто якщо ви, скажімо, захотіли встановити 8 ГБ пам'яті, то обов'язково потрібно переходити на 64-бітну ОС, в іншому випадку, ви просто не зможете використовувати настільки великий доступний обсяг.

    Ми розглянули, можна сказати, "крайності", до 2 ГБ і 8 ГБ і більше. А як бути з золотою серединою? Що, якщо у вас вже встановлено або ж ви плануєте збільшити обсяг пам'яті до 4 ГБ? Чи потрібно в цьому випадку переходити на 64-бітну ОС, щоб комп'ютер зміг використовувати не 3.3, а всі 4 ГБ пам'яті?

    Не все так просто ... 64-бітові версії ОС використовують помітно більше пам'яті. Всі змінні тепер уже не 32-бітові, а 64-бітові. Зазвичай це збільшує обсяг додатків на 20-40%, що призводить і до відповідного зростання обсягу займаної пам'яті. На такі файлові формати, як музика або відео, це не впливає.

    Встановлювати 64-бітну версіюWindows , Щоб краще використовувати 4 Гбайт пам'яті, сенсу не має, нехай навіть 32-бітна версія розпізнає тільки до 3,5 ГБ пам'яті. Проблема криється в тому, що ви отримаєте відсутню пам'ять, проте відразу ж її втратите з тієї причини, що 64-бітна версія вимагає для себе більше пам'яті. Так що перехід на 64 біта актуальний тільки при пам'яті більшого обсягу: 6, 8 ГБ і більше.

    Отже, якщо ви вирішили встановити багато пам'яті, і тут 64-бітна ОС потрібна точно, то можливо, вас цікавить питання:

    Якими особливостями володіє 64-бітна Windows Vista / 7?

    Візуально - ніякими. Тобто зовні - це звичайна ОС, нічим не виділяється від 32-бітного варіанту. Ви можете визначити її приналежність до 64-бітної архітектури тільки зайшовши в пункт "властивості системи" в панелі управління - там вказана розрядність.

    Технічно - невеликі відмінності є. Перше, власне, що 64-бітна ОС "бачить" великі обсяги пам'яті і вміє з ними працювати. Друге - вона дозволяє запускати 64-бітові додатки.

    64-бітна ОС дозволяє запускати і звичайні 32-бітові програми. Звичним способом, ніяких налаштувань для цього не потрібно. Все як завжди. Просто в 64-бітної системі присутній підсистема виконання 32-х розрядних додатків. Тому, ви з успіхом можете встановлювати і працювати як з 32-бітними, так і з 64-бітними додатками.

    Зараз таких х64-додатків трохи, хоча їх число постійно зростає. Особливо це стосується ресурсномістких програм - графічних і відеоредакторів і так далі. Тобто всіх програм, яким потрібні в першу чергу великі обсяги доступної для роботи пам'яті. Наприклад, щоб якийсь відеоредактор міг використовувати в роботі більше 4 ГБ з доступної пам'яті.

    Наприклад, компанія Adobe заявляла, що сучасні програми серії Adobe CS5 - будуть тільки 64-бітові. Це означає, що, скажімо, Photoshop CS5, Dreamweaver CS5і т.п. зможуть запуститься тільки на 64-бітної системі. На 32-бітної ОС вони просто не запустяться. Чому?

    Тому що в 64-бітної ОС можуть працювати 32-бітові додатки, але не навпаки!

    Наступний технічний момент - 64-бітові ОС вимагають 64-бітних драйверів. Як правило, всі сучасні (не старше двох років) пристрої ПК, ноутбуки та периферія мають на доданому диску встановлення дві версії драйверів - 32 і 64-бітну. Тому з сучасними пристроями проблем не виникне - як зазвичай вставляємо диск з драйвером в привід і запускаємо установку, інсталятор сам визначить версію Windows і запустить відповідний розрядності драйвер.

    Якщо диска немає або на ньому немає 64-бітного драйвера, необхідно відвідати офіційний сайт розробника конкретного пристрою, Щоб завантажити такий драйвер. Те саме можна сказати і до застарілого обладнання.

    ОБОВ'ЯЗКОВО перевірте наявність 64-бітових версій ВСІХ необхідних драйверів ще ДО початку установки 64-бітової версії Windows!

    Розрядність процесора.

    Де взяти / як визначити 64-бітові додатки?

    64-бітове програмне забезпечення можна визначити без праці. На упаковці в системних вимогах, як правило, вказується, що дана програма 64-бітна. Це ж може бути вказано окремо на упаковці.

    Якщо ж ви купуєте якусь ПО через інтернет, то приналежність до 64-бітної архітектури теж вказується.

    Ось приклад: моя ліцензійна версія коробочки Windows Vista Ultimate. В комплекті два настановних диска - 32 і 64-бітна версія ОС:

    Не звертайте увагу на "англомовність" в даному випадку, просто ОС була куплена в Сполучених Штатах.

    Але це в даному випадку - Vista Ultimate (тільки Ultimate) так поставлялася, в двох версіях. Як правило, та ж Windows, наприклад (або будь-яка інша програма) продається АБО 32-бітна АБО 64-бітна, про що зазначено на коробці, як я вже згадував.

    На цьому відмінності і особливості 64-бітових операційних систем Windows, значимі для користувача закінчуються.

    В іншому - все точно так же, як і на звичних 32-бітних Windows XP / Vista / 7.

    У цій статті ми розберемося, як прибрати обмеження 4 Гб пам'яті на 32 бітових версіях Windows 8 і Windows 8.1, і задіяти всю доступну на комп'ютері оперативну пам'ять.

    більшість користувачів Windows переконані, що 32 бітні ОС Microsoft не підтримують більше 4 Гб оперативної пам'яті. Таким чином, максимум пам'яті, доступної в Windows 8 / 8.1 x86 - 4 Гб. А з урахуванням того, що Windows резервує частину пам'яті під свої потреби і потреби периферійних пристроїв) найчастіше для відеокарти), кінцевому користувачеві для використання доступні зазвичай близько 3-3,5 Гбайт пам'яті.

    На перший погляд, усе логічно - межею адресації для 32 розрядної адресної шини є ті самі 4 Гб. У всіх офіційних документах Microsoft вказує саме цей максимальний розмір пам'яті, підтримуваний у всіх клієнтських версіях x86-системі. Хоча насправді Microsoft трохи вводить всіх в оману.

    Що таке PAE і навіщо він потрібен

    PAE (Physical Address Extension - розширення фізичної адресації) - ця опція x86 процесора, що дозволяє йому отримати доступ більш ніж до 4 Гб фізичної пам'яті. Не будемо заглиблюватися в технічні подробиці технології PAE, просто відзначимо, що це технологія підтримується всіма процесорами і безпосередньо в OC Windows вже досить давно.

    Так, наприклад, 32 бітна версія Windows Server, запущена на процесорі x86, може використовувати PAE для доступу до всієї оперативної пам'яті системи (до 64 Гб або до 128 Гб в залежності від покоління процесора).

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

    Примітка. PAE може використовуватися тільки на 32 бітових версіях Windows, запущених на сумісних з цим режимом x86 процесорах.

    Обмеження режиму PAE

    • PAE не має права продовжувати ВАП кожного процесу. Кожен процес, запущений на 32 бітної системі все так же обмежений 4 Гб адресного простору.

      Порада. PAE не допоможе збільшити кількість пам'яті, доступної для ресурсоемкого додатки (наприклад, графічного або редактора відео). Якщо така необхідність є, краще перейти на 64 розрядну ОС.

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

    Отже, можна зробити висновок, що верхня межа доступної фізичної пам'яті в 32 бітових версіях Windows обмежений програмно на рівні ядра ОС. А якщо є програмне обмеження, це означає, що його можна обійти! Яким же чином включити режим PAE в 32 бітної Windows 8.1 і задіяти всю доступну оперативну пам'ять.

    Патч, що включає PAE і дозволяє задіяти всю оперативну пам'ять на Windows 8 / 8.1 x86

    Включити режим PAE в Windows 8 (Windows 8.1) штатними засобами не вийде (для цього доведеться вручну в HEX редакторі правити файл ядра ntoskrnl.exe і перепідписувати його). Найпростіше скористатися готовим патчем PatchPae2, Який написаний ентузіастом Wen Jia Liu. Завантажити патч PatchPae2 можна. (Архів містить сам патчер - PatchPae2.exe, його вихідні коди і необхідні інструкції).

    Патч являє собою невелику утиліту командного рядка, Яка дозволяє модифікувати файли ядра 32 бітних версій Windows з метою активація режиму PAE, що дозволяє використовувати більше 4 Гб оперативної пам'яті (до 128 Гб пам'яті).

    Патч PatchPae2 буде працювати з наступними ОС:

    • Windows Vista SP2
    • Windows 7 / Windows 7 SP1
    • Windows 8 / Windows 8.1

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

    Установка PAE - патча в Windows 8 / 8.1

    Увага. Дану інструкцію можна використовувати тільки для 32 бітних версій Windows 8 і Windows 8.1, для попередніх ОС Microsoft процедура трохи відрізняється! Будьте уважні!


    Примітка. У будь-який момент часу користувач, перезавантажити, може в завантажувальному меню переключитися з режиму PAE на звичайний, або назад.

    Важливо! Після установки патча необхідно бути особливо уважними при установці оновлень безпеки Windows. Оскільки деякі оновлень Windows іноді містять і поновлення для ядра, після їх установки необхідно оновити і ядро \u200b\u200bPAE: PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe

    Крім того, можуть виникнути проблеми, описані і.

    Видалення патча PAE

    Щоб видалити патч PAE з системи, необхідно:

    1. Видалити відповідний запис з завантажувального меню (найпростіше це зробити за допомогою msconfig)
    2. видаліть файли ntoskrnx.exe і winloadp.exe у каталозі % Windir% \\ System32.

    Ніяких інших змін в систему патч не вносить.



    Сподобалася стаття? поділіться їй