Головна |
До цих пір мова йшла про засоби апаратної підтримки управління пам'яттю, яке здійснює операційна система, використовуючи ці кошти. Кожному 32-розрядному процесу виділяється своє ВАП розміром 4Г байт. Коли виконується будь-якої потік, він отримує доступ тільки до тієї пам'яті, яка належить його процесу. Структура віртуального адресного простору процесу для різних версій Windows різна. Так, для Windows 2000 існує два варіанти. Перший варіант, як і в інших версіях системи, передбачає використання монопольного адресного простору процесу розміром до 2Г байт (рис.1.12). Другий застосовується для підтримки серверів баз даних і передбачає розширення просторів перед до 3Г байт (рис.1.13).
Структура віртуального адресного простору Windows 98 істотно відрізняється від першого і другого варіанту Windows 2000 (ріс.1.14)
Віртуальний адреса | призначення розділу |
00000000h | Для виявлення нульових покажчиків |
0FFFFh | |
010000h | Для коду і даних для користувача режиму |
07FFFFFFFh | |
080000000h | Для коду і даних режиму ядра |
0FFFFFFFFh |
Рис.1.12. Структура віртуального адресного простору Windows 2000
з розділом 2Г байт для користувача процесу.
Віртуальний адреса | призначення розділу |
00000000h | Для виявлення нульових покажчиків |
0FFFFh | |
010000h | Для коду і даних для користувача режиму |
0BFFFFFFFh | |
0C0000000h | Для коду і даних режиму ядра |
0FFFFFFFFh |
Рис.1.13. Структура віртуального адресного простору Windows 2000
з розділом 3Г байт для користувача процесу.
Віртуальний адреса | призначення розділу |
00000000h | Для виявлення нульових покажчиків |
0FFFh | |
01000h | Для сумісності з програмами DOS і 16-розрядної Windows |
03FFFFF h | |
0400000h | Для коду і даних для користувача режиму (монопольно використовується процесом) |
07FFFFFFFh | |
080000000h | Розділяється різними процесами адресний простір (файли, що проектуються в пам'ять, DLL) |
0BFFFFFFFh | |
0C0000000h | Для коду і даних режиму ядра |
0FFFFFFFFh |
Ріс.1.14. Структура віртуального адресного простору Windows 98.
Для роботи з отладчиком необхідно знати, з якого віртуального адреси система відображає виконуваний файл.
Адресний простір режиму реального адреси | Базово-індексна адресація зі зміщенням
ВСТУП | ВІДОМОСТІ ПРО АРХІТЕКТУРИ ПРОЦЕСОРІВ INTEL 80х86 І ОПЕРАЦІЙНОЇ СИСТЕМИ WINDOWS, НЕОБХІДНІ ДЛЯ ПРОГРАМУВАННЯ на асемблері | Програмно доступні регістри | сегментація | Дескриптори сегментів | консоль | Графічний інтерфейс користувача | Команди пересилання даних | Команди цілочисельний арифметики | Команди передачі управління |