![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Управление памятью в Windows
32-х битные операционные системы Windows предоставляют каждому процессу виртуальное адресное пространство размером 4Гб (232=4294967296 байт). Адресное пространство каждого процесса закрыто, и один процесс не может обратиться к памяти другого процесса. Организация виртуальной памяти Windows Адресное пространство процесса разбивается на разделы, каждый из которых имеет свое назначение. Распределение разделов зависит от ядра операционной системы Windows. Распределение памяти в операционных системах Windows 98 и Windows 2000 показано в таблице:
Рис. Организация адресного пространства процесса в Windows.
Попытка обращения по нулевому указателю является одной из самых распространенных ошибок при работе с памятью. Для выявления таких ошибок адресное пространство начинается со специального раздела, любое обращение к которому вызывает ошибку доступа к памяти. Так как в Windows 98 все процессы работают в одном адресном пространстве, то первые 4 МБ адресного пространства резервируются для 16-ти битных программ Windows 3x и DOS. Поскольку в Windows 2000 каждый процесс работает в собственном адресном пространстве, такой регион там не требуется. Следующий раздел памяти используется для размещения кода и данных программ. В Windows 2000 в этот раздел загружаются все выполняемые файлы и динамически загружаемые библиотеки, а также проецируемые в память файлы, используемые приложением. В Windows 98 в этом разделе располагается только код и данные пользовательских программ и библиотек. Системные библиотеки и все проецируемые в память файлы располагаются в отдельном разделе. После раздела пользовательского кода и данных в Windows 2000 располагается закрытый для доступа раздел размером 64 КБ который используется для упрощения выявления попыток обращений к памяти, используемой операционной системой. В последний раздел виртуальной памяти отображаются код и данные операционной системы, включая код ядра, драйвера устройств, области ввода-вывода, таблицы страниц.
|