-1

Возможный дубликат:
Почему Windows показывает только около 3,5 ГБ моего 4 ГБ + ОЗУ?

Я наткнулся во многих блогах об ограничениях 32-битной Windows в отличие от 64-битной. Основное отличие состоит в том, что 32-разрядная ОС может выделять только 2 ГБ ОЗУ на процесс и 4 ГБ ОЗУ вместе.

Хотя указанная причина заключается в том, что 32-битная ОС может назначать только 2 ^ 32 адресного пространства, но я все еще озадачен, как этот лимит вступает в игру? Может ли кто-нибудь просветить меня об этом?

2 ответа2

8

Причина в том, что 2 32 - это наибольшее целое число, которое может быть сохранено в одной 32-битной переменной.

Поэтому, если у вас нет какой-либо схемы для разделения указателей на 2 (или более) переменных или использования 64-битных целых чисел, физически невозможно адресовать больший объем памяти. Будет много причин, по которым 32-разрядные целые числа или только одна переменная будут использоваться для адресации памяти, но скорость и надежность будут первыми в списке.

7

Это комбинация факторов, и эта информация была предоставлена здесь ... хотя и в битах (без каламбура).

Во-первых, как уже говорилось, существует физическое ограничение 32-битной модели. Бит равен 1 или 0. 32 из них вместе занимают определенное количество места. Вы знаете ... двоичный файл ... 10101010 и т.д. 4 Гб уникального пространства. Диапазон целочисленных значений, которые могут быть сохранены в 32 битах, составляет от 0 до 4 294 967 295. Следовательно, процессор с 32-битными адресами памяти может напрямую обращаться к 4 Гбайт байтово-адресуемой памяти.

Теперь, с расширением физического адреса или PAE ... хорошо ... ну, чтобы процитировать " 32-разрядный размер виртуального адреса не изменился, поэтому обычное прикладное программное обеспечение продолжает использовать инструкции с 32-разрядными адресами и (в плоском виде модель памяти) ограничена 4 гигабайтами виртуального адресного пространства.Операционная система использует таблицы страниц для сопоставления этого 4-ГБ адресного пространства с [большим объемом] физической памяти. Отображение обычно применяется по-разному для каждого процесса. Таким образом, дополнительная память полезна, хотя ни одно обычное приложение не может получить доступ ко всем этим одновременно. «Таким образом, даже при использовании PAE, хотя ваша ОС будет распознавать и отображать, что в вашей 32-битной системе имеется более 4 ГБ, ни одна программа не будет иметь доступа ко всей вашей оперативной памяти одновременно.

Это проясняет путаницу? В 32-битной системе есть только 4 ГБ уникальных адресных пространств памяти. Поскольку вы не можете использовать одно и то же адресное пространство памяти дважды одновременно, не вызывая ошибки, это физическое ограничение. Попытайтесь вспомнить ... когда были представлены 32-битные системы, люди не имели представления об использовании систем с таким большим количеством оперативной памяти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .