OC WINDOWS 95
Процессор делит доступное адресное пространство на 4-х килобайтные страницы общим числом около миллиона (220), что и дает 4 Гбайта адресуемой памяти. Диспетчер виртуальной памяти процессора устанавливает соответствие между виртуальными адресами страниц памяти и их физическим расположением в оперативной памяти ПК или в файле виртуальной памяти. Он же и контролирует объем страниц между ОЗУ и виртуальной памятью 4Гбайта адресов памяти W95 распределяет следующим образом:
|
4 Гбайт |
Операционная система |
Kernel, CDI, код нулевого кольца |
Системная область |
|
3 Гбайт |
Программы |
DLL и другие разделяемые объекты |
Разделяемая область |
|
2 Гбайт |
Программы Win 32 и Win 16 |
Область приложений |
|
|
4 Мбайт |
Программы Win 16 |
||
|
1 Мбайт |
Программы MS-DOS |
0-1Мбайт. Доступно только для программ MS-DOS и драйверов устройств реального режима;
1-4Мбайт. Используется только программами Win16. Операционная система и программы Win32 не занимают эти адреса.
4Мбайт-2Гбайт. Используется программами Win32 и некоторыми программами Win16.
2Гбайт-3Гбайт. Используется разделяемыми объектами, такими, как динамически загружаемыми модулями COMMDLG.DLL и COMMDLG32.DLL, содержащими элементы стандартных диалоговых окон Windows.
3Гбайт-4Гбайт. Используется только ОС для ее внутренних нужд.
Когда виртуальный адрес, по которому обращается применение, не соответствует странице, расписанной в физической памяти, процессор сообщает об ошибке и диспетчер виртуальной памяти подкачивает требуемую страницу из файла обмена. При этом предварительно обычно приходится освобождать соответствующий объем физической памяти и сбрасывать какую-нибудь другую страницу из памяти в файл обмена. Для этого используется классический алгоритм «удаление стариков» (LRU, least recently used) – т.е. сбрасывает в файл обмена наиболее редко используемые страницы памяти.
предыдущаяследующая