C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 42 - Виртуальная память / MSDN rus / Visual C++

Шаг 42 - Виртуальная память

В Win32 API используется плоская 32-разрядная модель памяти. Для адресации используются 32 разрядные указатели. Хотя 32-разрядный указатель может адресовать 4 гигабайта памяти, процесс Windows 95 может только обращаться к 2 гигабайтам, так как верхние 2 Гб зарезервированы для использования операционной системой. Схема разделения памяти вот такая.

0xFFFFFFFF
	Регион размером 1 GB. Драйвера и системные DLL
0xC0000000
	
0xBFFFFFFF
	Регион размером 1 GB. DLL и Файлы проецируемые в память
0x80000000

0x7FFFFFFF
	Регион размером 2 GB. Память для программ (процессов) 
0x00400000

0x003FFFFF
	Память приложений MS DOS
0x00000000

Виртуальная память - это память компьютера, которая объединяет оперативную память в виде модулей SIMM, DIMM и память на жестком диске. Это позволяет использовать намного больше памяти чем физически установлено в виде модулей. Процесс переноса оперативной памяти на диск и обратно называется подкачкой. Виртуальные адреса не совпадают с физическими в связи с этим программа имеет собственное адресное пространство, которое VMM преобразуем в физические адреса. Файл подкачки на диске имеет имя Pagefile.sys. Windows предоставляет программе доступ ко всему адресному пространству и вызовы DLL это прямые вызовы, что говорит о том, что можно записать все куда угодно это опасно, но эффективно.

Управляет виртуальной память в WIN32 - VMM(Virtual Memory Manager) - часть операционной системы, занимающаяся управлением виртуальной памятью. Для программиста существует понятие Virtual Memory API - набор функций, позволяющих приложению работать с виртуальным адресным пространством.


| |
Автор Каев Артем.
[AD]