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


40

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


1
Хороший вопрос, я тоже так думал. Возможно, вам следует уточнить, какого человека вы пытаетесь убедить, потому что некоторые из приведенных ниже ответов будут слишком техническими, если мы говорим о случайном пользователе компьютера.
Эш

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

Ответы:


27
  • Для x86-64 по сравнению с IA-32 регистров в два раза больше, что позволяет компиляторам генерировать лучший код.
  • В большинстве операционных систем 64-битный ABI позволяет генерировать лучший код, чем 32-битный ABI (например, путем передачи параметров в регистры, а не в стек).
  • Некоторые вещи, которые являются расширениями в IA-32, всегда присутствуют в x86-64, поэтому программы могут использовать их без необходимости кодирования запасного варианта (например, определенного уровня SSE).
  • И последнее, но не менее важное, 64-разрядная версия time_t, которая будет становиться все более и более важной по мере приближения к 2038 году.

2
Вам нужно объяснить, что вы имеете в виду: «в два раза больше регистров, что позволяет компиляторам генерировать лучший код». Что такое «лучший код»?
Эш

1
Также я заметил, что операции с 64-битными целыми числами примерно в четыре раза быстрее в 64-битном коде по сравнению с 32-битным кодом (я регулярно выбираю неправильный компилятор C здесь, а затем задаюсь вопросом, почему Lua быстрее C :))
Джои

4
Ashh: Регистры - это места хранения, к которым у ЦП есть самый быстрый доступ, но на x86 они являются очень ограниченным ресурсом. Поэтому, если вам нужно много локальных переменных, вам придется постоянно перемещать их из регистров в стек и обратно, что требует времени. Чем больше регистров, тем больше вы можете держать их за раз, не используя стек. Сравните только с двумя руками: вы можете манипулировать только двумя вещами одновременно; с четырьмя руками вы можете сделать вдвое больше (если ваш мозг не отстает, но пока в стороне).
Джои

@ Йоханнес, вы должны добавить свой комментарий в качестве ответа на этот вопрос! Я риторически спрашивал, чтобы Цезарь добавил такое пояснение.
Эш

1
Вы привели несколько технических причин, не объясняя, что они значат. Что такое «лучший код» и чем он полезен для пользователя?
Игби Ларджман

7

На самом деле вы можете использовать более 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

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

5

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

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


Для меня поддержка дополнительной памяти уже является достаточно хорошей причиной для обновления. Бьюсь об заклад, со временем, большинство случайных пользователей будут чувствовать себя так же :-)
marc_s

2
@marc, большинство случайных пользователей не будут чувствовать себя так, пока поставщики программного обеспечения не начнут писать почтовые клиенты, веб-браузеры и программы для обработки текстов, которые требуют> 4 ГБ ОЗУ. Опять же, я уверен, что это не займет много времени, прежде чем это произойдет.
Пепел

@ashh мой Firefox уже любит использовать ~ 2 ГБ оперативной памяти. Это не займет много времени :)
Quiark

4

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

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


2
У меня была эта проблема во многих случаях. Если вы используете x-64-битную систему, которую вы используете как сервер, вы можете обнаружить неприятный сюрприз, когда начнете добавлять дополнительное оборудование, которое у вас лежит. Хорошим иллюстративным примером дилеммы, с которой я столкнулся, была попытка добавить в систему плату сетевого адаптера 3COM 3c509. НЕТ драйверов для устаревшего оборудования. Я обнаружил, что у меня все закончилось, и мне пришлось купить карту NIC Intel премиум-класса, чтобы получить работающий 64-разрядный драйвер. Эта проблема исчезнет со временем. У поставщиков недостаточно стимулов для поддержки старого оборудования.
Axxmasterr

@Axxmasterr: слоты ISA и поддержка процессора x64 на одной материнской плате? Шутки в сторону? Там не может быть так много таких. Это какой-то промышленный ПК?
bk1e

3

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


0

Вот и все.

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

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


0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.