Інші переваги 64-бітних ОС, окрім розширення пам'яті?


37

Я намагаюся переконати когось у перевазі переходу на 64-бітну операційну систему, але мені важко знайти аргументи, окрім "ви можете використовувати більше 3 Гб оперативної пам'яті". Чи існують інші чітко комунікабельні переваги використання 64-розрядної операційної системи?


1
Гарне питання, я думав те ж саме. Можливо, вам слід пояснити, яку людину ви намагаєтеся переконати, оскільки деякі з наведених нижче відповідей будуть надто технічними, якщо мова йде про випадкового користувача комп'ютера.
Ash

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

Відповіді:


25
  • Для x86-64 порівняно з IA-32 існує в два рази більше реєстрів, що дозволяє компіляторам генерувати кращий код.
  • У більшості операційних систем 64-розрядний ABI дозволяє генерувати кращий код, ніж 32-бітний ABI (наприклад, передаючи параметри регістрів, а не стеку).
  • Деякі речі, які є розширеннями на IA-32, завжди присутні на x86-64, тому програми можуть використовувати їх без необхідності кодувати резервні копії (наприклад, певний рівень SSE).
  • Останній, але не менш важливий, 64-бітний time_t, що буде все більш і більш важливим, коли ми наблизимося до 2038 року.

1
Потрібно пояснити, що ви маєте на увазі: "у два рази більше регістрів, що дозволяє компіляторам генерувати кращий код". Що таке "кращий код"?
Ash

1
Крім того, я помітив, що операції з 64-розрядними цілими є приблизно в чотири рази швидше в 64-бітному коді проти 32-бітного коду (я регулярно вибираю неправильний компілятор C тут, а потім дивуюся, чому Lua швидше, ніж C :))
Joey

4
ashh: Регістри є місцями зберігання, до яких CPU має швидкий доступ, але на x86 вони є дуже обмежений ресурс. Отже, якщо у вас є багато локальних змінних, які вам потрібні, вам доведеться постійно змінювати їх з регістрів на стек і назад, що вимагає часу. З більшою кількістю регістрів ви можете тримати більше їх у досяжності за один раз без необхідності використовувати стек. Порівнюйте лише з двома руками: ви можете керувати лише двома речами одночасно; з чотирма руками, ви можете зробити в два рази більше (якщо ваш мозок продовжує працювати, але це поки в стороні).
Joey

@Johannes, ви повинні додати свій коментар як відповідь на це запитання! Я запитував риторично, щоб Сезар додав таке роз'яснення.
Ash

1
Ви надали кілька технічних причин, не пояснюючи, що означає будь-який з них. Що таке "кращий код" і як він користується користувачеві?
Igby Largeman

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-бітного користувача, що дає вам повний доступ до & gt;
TRS-80

5

Це дійсно залежить від того, для чого ви хочете використовувати ОС. Для переважної більшості "нормальних" користувачів перехід на 64-бітне дійсно не дає їм нічого. Єдині області, в яких 64-біт насправді корисний, це якщо ви хочете використовувати більше 4 Гб пам'яті (як ви стверджували), або робити обчислення з числами, які не вписуються в 32-біт.

Зрештою, всі комп'ютери та ОС прийдуть тільки в 64-розрядних варіантах, але поки що, якщо все, що вони хочуть зробити, є пошук в Інтернеті або перевірка електронної пошти, немає необхідності переходити до 64-бітного.


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

2
@marc, більшість випадкових користувачів не збирається відчувати себе таким чином, якщо виробники програмного забезпечення не почнуть писати клієнти електронної пошти, веб-браузери і програми текстових процесорів, які потребують> 4 Гб оперативної пам'яті. Знову ж таки, я впевнений, що це не задовго до цього.
Ash

@ashh мій Firefox вже любить використовувати ~ 2 Гб оперативної пам'яті. Це не займе довго :)
Quiark

4

Можна не тільки мати більше 3 Гб оперативної пам'яті, а будь-яке програмне забезпечення, що збирається з 64-бітовим кодом, може використовувати 64-бітові регістри і типи даних, які, безумовно, можуть прискорити додатки, які переміщуються величезними обсягами даних, наприклад, 3D-програмами, CAD, Photoshop і т.д.

Проте, якщо ви просто середній Джо, який не працює з креативними програмами, а просто читає електронну пошту, переглядає веб-сторінки, дивиться відео YouTube, ви, напевно, навіть не помітите, якщо ви не підключите пристрій, який потребує 64 бітові драйвери, але постачальник не випустив жодного.


2
Я мав цю проблему багато разів. Якщо ви використовуєте x-64-бітну систему, яку ви використовуєте як сервер, ви можете виявити неприємний сюрприз, коли ви почнете додавати додаткове обладнання, яке ви лежите. Хорошим ілюстративним прикладом дилеми, яку я пережив, було, коли я спробував додати в систему карту NIC 3C509 NIC. Є ніяких драйверів anywehre для застарілих апаратних засобів. Я виявив, що я був над бочкою і повинен був купити преміум Intel NIC карту, щоб отримати 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.