Почему, согласно советнику по обновлению, 64-разрядная версия Windows 7 требует больше памяти, чем 32-разрядная?
2 ответа
У меня нет никакой специальной информации о консультанте по обновлению, но вот несколько вариантов:
Нет особой причины использовать 64-битную версию, если только у вас не будет более 3 ГБ ОЗУ, поскольку дополнительное адресное пространство для вас мало что даст. Существуют некоторые особые причины, такие как приложения с высоким уровнем безопасности или определенная обработка мультимедиа, но в общем случае адресное пространство памяти является причиной использования 64-битной ОС на данный момент.
64-битные операционные системы действительно используют больше места для хранения адресов памяти, поскольку каждый адрес обычно в два раза длиннее (это не совсем точно, но обобщение здесь подойдет). Это означает, что хранение данных в памяти занимает больше памяти. Опять же, однако, это на самом деле не причина не использовать 64-битную ОС, потому что, если вы используете ее, вы, вероятно, в любом случае воспользуетесь ее увеличенным адресным пространством с приличным объемом оперативной памяти.
Причины этого могут быть:
- это должно служить своего рода рекомендацией, какую версию выбрать. Если у вас есть 1 ГБ ОЗУ, вы вряд ли когда-либо обновите систему до более 2 ГБ, поэтому 64b не принесут вам никакой пользы.
- Реальные системные требования, представленные теми, кто действительно тестировал ОС, могут выглядеть примерно так: «Win7 x86 Edition требует 0,8 ГБ ОЗУ, x64 Edition требует 1,1 ГБ ОЗУ». Так как эти числа всегда округляются до ближайшего ГБ, вы заканчиваете с 1 ГБ и даже 2 ГБ.
Я думаю, что x64 Win7 будет работать на 1 ГБ, очень похоже на издание x86. Есть небольшая разница, вызванная большим размером указателя, но это определенно не приведет к увеличению потребления памяти более чем на 20%, но если у вас нет больше оперативной памяти, очень мало причин для использования 64-битной ОС.
Тем не менее, могут быть другие ситуации, когда x64 edition действительно потребуется намного больше памяти. Рассмотрим сценарий, в котором вы запускаете несколько приложений, некоторые из них 64b, другие 32b. Каждое приложение требует DLL, которые соответствуют его разрядности - следовательно, вам также понадобится загрузить много компонентов дважды, 32b и 64b, или, по крайней мере, иметь загруженные слои перевода 32b-64b вместо них.