Запуск ОС X 10.6 в 64-бітному режимі


3

OS X 10.6 працює за замовчуванням у 32-бітному режимі ядра.

Що я отримую, якщо запускаю в 64-бітному режимі ядра? Будь-які переваги?

Відповіді:


8

У Mac OS X є 3 окремі 32/64-бітні "комутатори режиму":

1: Фізична адреса шини оперативної пам'яті, яка визначається (здивує) процесором та набором підтримки чіпсета (саме тут заходять PAE і такі). Саме це визначає, чи може комп'ютер адресувати більше 4 Гб фізичної оперативної пам’яті (насправді близько 3,2 ГБ, оскільки деякий адресний простір потрібен для вводу / виводу, особливо пам’яті відеокарти).

2: Режим, в якому працює конкретна програма, який, як правило, 64-розрядний, якщо підтримують його і процесор, і програма (хоча це можна змінити різними способами, наприклад, використовуючи Отримати інформацію в додатку, щоб вибрати "Відкрити в 32-бітний режим ", або запускаючи його з командного рядка з arch -arch i386). Саме це визначає, чи здатна конкретна програма адресувати більше 4 ГБ віртуальної пам'яті. Зауважте, що це не залежить від фізичного обмеження оперативної пам’яті - цілком можливо запустити 64-бітну програму на Mac із 32-бітним чіпсетом і використовувати її величезну кількість VM, це лише 3,2 Гб або близько того бути у фізичній оперативній пам'яті в будь-який момент. Можливо також мати Mac із підтримкою PAE та (скажімо) 20 Гб фізичної оперативної пам’яті, з п'ятьма 32-бітовими процесами, кожен з яких використовує максимум 4 Гб VM

3: Нарешті, те, про що ви запитали, ядро. Оскільки це не обмежує ні фізичну оперативну пам’ять, ні простір пам’яті за процес (за винятком я зауважу за хвилину), це не має значення майже так само, як перші два (саме тому Apple залишає його в 32- бітовий режим за замовчуванням). Однак у нього є кілька ефектів: 64-бітове ядро ​​не може завантажувати 32-бітні розширення (драйвери тощо); 64-бітове ядро, як правило, працює трохи швидше (див . тести Mac Performance Guide ); 64-бітове ядро ​​може зберігати великі таблиці сторінок (що стає важливим, коли ви піднімаєтесь до площі 100 ГБ фізичної оперативної пам’яті); і 64-бітове ядро ​​також матиме більші обмеження щодо деяких інших речей, таких як кількість відкритих файлів.


Кількість відкритих TCP / IP-з'єднань також збільшується, IIRC з сесії WWDC на 64-бітній дивовижності ...
peelman

@peelman: Я пам’ятаю це, але деталі трохи нечіткі. Ця стаття kbase показує, як процес, відкритий файл і потік обмежує масштаб фізичної оперативної пам’яті під 64-бітним ядром, але я не впевнений, чи мають сеанси TCP окремий ліміт або просто вважаються відкритими файлами. Крім того, на цій сторінці згадується краще кешування буфера під 64-бітним ядром (як і згадка про згадку про таблицю сторінок - вона пропонує 64-бітну для> 32 ГБ оперативної пам'яті).
Гордон Девіссон

2

Ваше програмне забезпечення для кодеків / стиснення / шифрування повинно працювати швидше, якщо вони побудовані для 64-розрядної архітектури та користуються нею (наприклад, якщо ви використовуєте FileVault).

Я деякий час працював як з 32-бітними, так і з 64-бітовими ядрами, і вони не сильно відрізняються від погляду користувача для щоденного використання.

Однак були недоліки: MacFUSE не працює на 64-бітному ядрі.


1
32-бітове ядро ​​тепер у будь-якому випадку може використовувати більше 4 Гб оперативної пам’яті.
Chealion

@Chealion, я весь час забуваю про PAE! Однак додатки все ще обмежені адресним простором 4 Гб, я не думаю, що існує спосіб їх обійти.
Алекс Б

3
ні, програми можуть працювати в 64-бітному режимі (і використовувати велику кількість оперативної пам’яті) під 32-бітним ядром.
Гордон Девіссон

@ Gordon, Гм, це стає для мене несподіванкою. Я вважаю, що це все ще означає, що 32-бітне ядро ​​повинне знати 64-бітний віртуальний адресний простір програми, щоб перевести адресу на фізичну адресу. Або я помиляюся?
Алекс Б

Ядро (безпосередньо) не обробляє переклад адрес. Він підтримує таблиці сторінок, але це на 1/64-й розмір керованої пам'яті, тому ядро ​​не потребує більше 4 Гб, поки фізична ОЗУ не стане досить великою ...
Gordon Davisson,

-2

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

Хоча я не комп'ютерний гуру, хтось ще хоче перевірити?


1
32-бітове ядро ​​дозволяє 64-бітні програми.
Марк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.