Віртуальна пам'ять: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Radislav72 (обговорення | внесок)
Radislav72 (обговорення | внесок)
Рядок 18:
Розмір віртуального адресного простору залежить від конкретної апаратної платформи. На 32-розрядних системах теоретичний максимум для загального віртуального адресного простору становить 4 Гб. За замовчуванням [[Windows]] виділяє нижню половину цього простору (у діапазоні адрес від х00000000 до х7FFFFFFF) [[Процес (інформатика)|процесам]], а другу половину (у діапазоні адрес від х80000000 до xFFFFFFFF) використовує у власних цілях. Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows XP (SP2 і вище) і Windows Server 2003 підтримують завантажувані параметри /3GB і /USERVA, які вказують у файлі Boot.ini та дозволяють [[Процес (інформатика)|процесам]], що виконують [[програма|програми]] зі спеціальним прапорцем у заголовку образу, використовувати до 3 Гб закритого адресного простору й залишає операційній системі тільки 1 Гб. Цей варіант дає можливість вимогливій до пам’яті [[програма|програмі]] зберігати в адресному просторі свого [[Процес (інформатика)|процесу]] великі порції даних і тим самим зменшити частоту дискових звертань.
 
Кожному процесу виділяється власний віртуальний адресний простір<ref name="konovalenko" />. Для 32-розрядних [[Процес (інформатика)|процесів]] його розмір становить 4 Гб (це максимальний обсяг, який може використовуватися при 32-бітній адресації – 232). Для 64-розрядних [[Процес (інформатика)|процесів]] розмір адресного простору становить 16 екзабайт (264 байт). Потоки при виконанні отримують доступ тільки до пам'яті, яка належить його [[Процес (інформатика)|процесу]]. Пам'ять, відведена іншим [[Процес (інформатика)|процесам]], прихована від потоку й недоступна для використання. Тому дані різних [[Процес (інформатика)|процесів]], записані за тією ж віртуальною адресою, розміщуються в різних сторінках фізичної пам'яті (це забезпечує система трансляції адрес). У ряді випадків ізоляція може бути частково знята (наприклад, для відображених файлів). У подібних випадках забезпечують контроль доступу до області пам'яті, для чого створюють окремий об'єкт, який містить атрибути захисту.
4 Гб адресного простору система ділить на дві приблизно однакові за обсягом частини. Перша частина надається у користування [[Процес (інформатика)|процесу]], а друга резервується для системних потреб. Таким чином, за замовчуванням кожен користувацький процес в 32-розрядній версії Windows має у своєму розпорядженні власний адресний простір розміром до 2 Гб; інші 2 Гб використовує операційна система.
У системному просторі розміщуються такі компоненти<ref name="russinovich" />:
*Системний код. Містить образ операційної системи, HAL і драйвери пристроїв, які використовуються для завантаження системи. Сюди ж проектується частина підсистеми Windows режиму ядра, а також графічні драйвери.
*Гіперпростір. Особлива область, яка використовується для проектування на пам’ять списку робочого набору процесу й тимчасового проектування інших фізичних сторінок для ряду системних операцій.