Другие преимущества 64-битной ОС помимо расширения памяти?

11816
Jonathan Prior

Я пытаюсь убедить кого-то в преимуществах перехода на 64-битную ОС, но мне трудно найти аргументы, кроме «вы можете использовать более 3 ГБ ОЗУ». Есть ли какие-либо иные преимущества в использовании 64-битной операционной системы?

37
Хороший вопрос, я тоже так думал. Возможно, вам следует уточнить, какого человека вы пытаетесь убедить, потому что некоторые из приведенных ниже ответов будут слишком техническими, если мы говорим о случайном пользователе компьютера. Ash 14 лет назад 1
Ashh: это потому, что преимущества и недостатки 64-битных операционных систем очень технические. По крайней мере в Linux, для нетехнических конечных пользователей почти нет заметной разницы (даже я постоянно забываю, является ли машина, которую я использую, 64-битной или 32-битной); в Windows существует больше несовместимостей и странностей, с которыми приходится иметь дело в 64-битной среде, но, кроме того, нетехнический конечный пользователь вряд ли заметит разницу. CesarB 14 лет назад 1

7 ответов на вопрос

25
CesarB
  • Для x86-64 по сравнению с IA-32 регистров в два раза больше, что позволяет компиляторам генерировать лучший код.
  • В большинстве операционных систем 64-битный ABI позволяет генерировать лучший код, чем 32-битный ABI (например, путем передачи параметров в регистры, а не в стек).
  • Некоторые вещи, которые являются расширениями в IA-32, всегда присутствуют в x86-64, поэтому программы могут использовать их без необходимости кодирования запасного варианта (например, определенного уровня SSE).
  • И последнее, но не менее важное, 64-разрядная версия time_t, которая будет становиться все более и более важной по мере приближения к 2038 году.
Вам нужно объяснить, что вы имеете в виду: «в два раза больше регистров, что позволяет компиляторам генерировать лучший код». Что такое «лучший код»? Ash 14 лет назад 1
Также я заметил, что операции с 64-разрядными целыми числами примерно в четыре раза быстрее в 64-разрядном коде по сравнению с 32-разрядным кодом (я регулярно выбираю неправильный компилятор C здесь, а затем задаюсь вопросом, почему Lua быстрее C :)) Joey 14 лет назад 1
Ashh: Регистры - это места хранения, к которым у ЦП есть самый быстрый доступ, но в x86 они * очень * ограничены. Поэтому, если вам нужно много локальных переменных, вам придется постоянно перемещать их из регистров в стек и обратно, что требует времени. Чем больше регистров, тем больше вы можете держать их за раз, не используя стек. Сравните только с двумя руками: вы можете манипулировать только двумя вещами одновременно; с четырьмя руками вы можете сделать вдвое больше (если ваш мозг не отстает, но пока в стороне). Joey 14 лет назад 4
@ Йоханнес, вы должны добавить свой комментарий в качестве ответа на этот вопрос! Я риторически спрашивал, чтобы Цезарь добавил такое пояснение. Ash 14 лет назад 0
аш, Сезар сказал почти все, что можно сказать, поэтому я думаю, что оставить этот комментарий здесь совершенно уместно. Если он склонен к этому, он все равно может быть включен в сам ответ. Joey 14 лет назад 0
Я решил пойти с этим ответом в качестве ответа. Спасибо за помощь! Jonathan Prior 14 лет назад 0
Вам не нужна 64-битная архитектура процессора, чтобы иметь 64-битный time_t. Например, Microsoft Visual C ++ 2005 и более поздние версии поддерживают 64-битный time_t для 32-битных целей сборки. bk1e 14 лет назад 0
Вы привели несколько технических причин, не объясняя, что они значат. Что такое «лучший код» и как это выгодно пользователю? Igby Largeman 12 лет назад 1
Код может быть меньше (занимает меньше памяти) и может работать быстрее. Jamie Hanrahan 7 лет назад 0
7
ChrisInEdmonton

Фактически, вы можете использовать более 3 ГБ (или более 4 ГБ) оперативной памяти в 32-разрядных операционных системах. PAE предоставляет процессору x86 или x86-64 возможность доступа к 64 ГБ памяти даже в 32-разрядной операционной системе. Заметьте, это не так просто, как запуск 64-битной ОС. Память разбита на страницы, поэтому каждый процесс по-прежнему ограничен максимум 4 ГБ. Кроме того, не все операционные системы поддерживают это. В некоторых версиях 32-битной Windows использовалась PAE, но, к сожалению, они могли поддерживать плохо написанные драйверы, большинство версий ограничивало поддержку до 4 ГБ памяти. Например, Windows XP и Windows Vista ограничены 4 ГБ (и, как отмечалось, имеют тенденцию выставлять только около 3 ГБ). С другой стороны, Windows Server 2008 Enterprise, Datacenter поддерживает 64 ГБ оперативной памяти.

Ядро Linux поддерживает более 4 ГБ как часть ядра 2.6 . Однако дистрибутивы Linux иногда заставляют вас установить «серверный» образ ядра, чтобы использовать эту функцию.

Хорошая точка зрения. Я не могу понять, почему люди до сих пор считают, что им нужна 64-битная ОС, чтобы использовать более 4 ГБ ОЗУ. neu242 14 лет назад 0
В Linux другой вариант - запустить 64-битное ядро ​​и 32-битное пространство пользователя, что дает вам полный доступ к ОЗУ> = 4 ГБ, хотя процессы по-прежнему ограничены 4 ГБ каждый. TRS-80 14 лет назад 0
5
Andy

Это действительно зависит от того, для чего вы хотите использовать ОС. Для подавляющего большинства «нормальных» пользователей переход на 64-битные системы практически ничего не дает. Единственная область, в которой 64-битная версия действительно полезна, - это если вы хотите использовать более 4 ГБ памяти (как вы сказали) или выполнять вычисления с числами, которые не вписываются в 32-битные.

В конце концов, все ПК и ОС будут доступны только в 64-разрядных версиях, но на данный момент, если все, что они хотят сделать, - это выходить в Интернет или проверять электронную почту, нет острой необходимости переходить на 64-разрядную версию.

Для меня поддержка дополнительной памяти действительно является достаточно хорошей причиной для обновления. Бьюсь об заклад, со временем, большинство случайных пользователей будут чувствовать себя так же :-) marc_s 14 лет назад 0
@marc, большинство случайных пользователей не будут чувствовать себя так, пока поставщики программного обеспечения не начнут писать почтовые клиенты, веб-браузеры и программы для обработки текстов, которые требуют> 4 ГБ ОЗУ. Опять же, я уверен, что это не займет много времени, прежде чем это произойдет. Ash 14 лет назад 2
@ashh мой Firefox уже любит использовать ~ 2 ГБ оперативной памяти. Это не займет много времени :) Quiark 14 лет назад 0
4
M4dRefluX

Мало того, что вы можете иметь более 3 ГБ ОЗУ, любое программное обеспечение, скомпилированное / написанное с учетом 64-битной архитектуры, может использовать 64-битные регистры и типы данных, что, безусловно, может ускорить работу приложений, перемещающихся по огромным объемам данных, таких как 3D-программы. CAD, Photoshop и др.

Однако, если вы просто обычный Джо, который не работает с творческими программами и просто читает электронную почту, просматривает веб-страницы, просматривает видео на YouTube, вы, вероятно, даже не заметите, если не подключите устройство, которому требуется 64 немного драйверов, но производитель не выпустил ни одного.

У меня была эта проблема во многих случаях. Если вы используете x-64-битную систему, которую вы используете как сервер, вы можете обнаружить неприятный сюрприз, когда начнете добавлять дополнительное оборудование, которое у вас есть. Хорошим иллюстративным примером дилеммы, с которой я столкнулся, была попытка добавить в систему карту 3COM 3c509 NIC. НЕТ драйверов для устаревшего оборудования. Я обнаружил, что у меня не хватает денег, и мне пришлось купить NIC-карту Intel Premium, чтобы получить работающий 64-битный драйвер. Эта проблема исчезнет со временем. У поставщиков недостаточно стимулов для поддержки старого оборудования. Axxmasterr 14 лет назад 2
@Axxmasterr: слоты ISA и поддержка процессора x64 на одной материнской плате? Шутки в сторону? Там не может быть так много таких. Это какой-то промышленный ПК? bk1e 14 лет назад 0
3
Milan Gardian

Движок .NET JIT (Just-In-Time) содержит более продвинутые оптимизации в версии x64 (например, оптимизация хвостовой рекурсии). Это означает, что .NET-приложения могут работать быстрее в 64-битных системах.

0
Simon P Stevens

Вот и все.

Для обычных домашних пользователей x64 не дает никаких преимуществ. Во всяком случае, потому что все ваши указатели и теперь 64-битные, вы можете обнаружить, что вы используете больше памяти, чтобы сделать то же самое.

Единственное существенное преимущество для x64 - это больше памяти, и в настоящее время она реально используется только серверами.

0
Wim ten Brink

Если вы можете найти хорошие 64-битные версии вашего популярного программного обеспечения, тогда да, обновление до 64-битной версии будет преимуществом. И есть 64-битные версии определенных приложений. Однако эти приложения, как правило, связаны с манипулированием изображениями, редактированием фильмов и, конечно, редактированием звука. В основном, просто приложения, которые будут обрабатывать множество данных. Качество просмотра фильма на DVD на вашем ПК также повысится, поскольку система может обрабатывать данные немного быстрее и также может хранить больше данных, если в вашей системе доступно больше оперативной памяти.

Также есть небольшой прирост производительности, если вы склонны запускать множество приложений одновременно. (Даже если все эти приложения 32-битные версии!) Почему? Поскольку сама ОС может обрабатывать дополнительную память немного проще, что позволяет большему количеству приложений оставаться в памяти, что приводит к меньшему количеству подкачки в файл подкачки. (И вы можете иметь гораздо больший файл подкачки тоже!)

Но я обновился до 64-битной, потому что я много манипулирую изображениями, что требует мощной системы и большого количества памяти. (Ну, мне нужно много памяти, по крайней мере.)

Похожие вопросы