У мене MacBook Pro (5,1) з 4 ГБ пам’яті під керуванням 10A432 - але він працює під 32-бітним ядром.
Будь-які ідеї, чому б він не працював у 64-бітному режимі, і як я можу це зробити?
У мене MacBook Pro (5,1) з 4 ГБ пам’яті під керуванням 10A432 - але він працює під 32-бітним ядром.
Будь-які ідеї, чому б він не працював у 64-бітному режимі, і як я можу це зробити?
Відповіді:
У Огляді Джона Сіракузи про Снігового Леопарда він обговорює 64-бітний перехід .
Коротка версія полягає в тому, що немає "змішаного режиму", для 64-бітного ядра потрібні 64-бітні розширення та драйвери .
Оскільки вони ще не широко доступні, Apple вирішила встановити за замовчуванням 32-розрядні, щоб не зламати багато речей.
Інструкції зі статті:
Для всіх Macs, що підтримують K64, завантажте одночасно клавіші "6" та "4", щоб вибрати 64-бітове ядро. Для більш постійного рішення скористайтеся командою nvram для додавання
arch=x86_64
доboot-args
рядка або відредагуйте файл/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
та додайтеarch=x86_64
до рядка прапори ядра:
...
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>
...
Щоб повернутися до 32-бітного ядра, утримуйте клавіші "3" та "2" під час завантаження або скористайтеся однією з методик, замінених "x86_64" на "i386".
Немало користі для запуску 64-бітного ядра у Snow Leopard, на відміну від більшості інших операційних систем. У Windows та Linux для запуску 64-розрядних програм вам потрібне 64-бітове ядро. В OS X ви можете запускати 64-бітні програми з 32-бітним ядром.
Більшість людей, мабуть, стурбовані тим, що запуск 32-розрядного ядра в OS X обмежує продуктивність або можливості їх машин, але на практиці це не має значного матеріального впливу. 32-бітове ядро підтримує запущені 64-розрядні програми, і ці програми мають віртуальний 64-розрядний адресний простір, який ядро відображається в 36-бітному адресному просторі PAE, тому вони поводяться так само, як і в 64- бітове ядро, просто з більш обмеженим використанням пам’яті та відображенням вводу / виводу пам’яті у відповідний діапазон. Те, як Apple обробляє цей адресний простір у 32-бітному ядрі, призводить до обмеження об'ємом 32 ГБ для фізичної пам'яті, порушуючи 32-розрядний ліміт 4 ГБ з PAE. Виконання продуктивності не має великої користі, якщо він взагалі вимірюється, коли використовується 64-бітове ядро з 32 ГБ пам'яті або менше. Якщо ти хочеш,6і 4клавіші при запуску. Сумніваюся, ви побачили б і суттєву різницю у виконанні.
Інша проблема - сумісність з драйверами пристроїв, розширеннями ядра та прошивкою пристрою. Для драйверів пристроїв та розширень ядра вони повинні відповідати біт-ніс, бути перекомпільовані або переписані (особливо, якщо вони мають будь-яку збірку, які частини є загальними для цих типів коду). EFI Apple спочатку поставився лише у 32-розрядному режимі, а останнім часом деякі моделі мають 64-бітну прошивку. Щоб операційна система могла спілкуватися з прошивкою, розрядність ядра та EFI повинні відповідати. Що стосується розмови з EFI - це такі речі, як вибір стартового диска або деякі елементи керування живленням (наприклад, якщо у вас більше однієї інсталяції OS X і вам потрібно прокинутися зі сну після вичерпання акумулятора).
Отже, чи буде 64-бітове ядро користю? Практично не вистачає ефективності, і я можу бачити мудрість у Apple, використовуючи 32-бітні ядра для більшості машин, на яких працює Snow Leopard для кращої сумісності.
Відповідно до того, що було просочено до MacRumors (оскільки офіційні документи знаходяться під NDA) ( Джерело ), лише такі комп'ютери підтримують 64-бітове ядро:
Тільки XServes за замовчуванням використовує 64-бітове ядро.
Якщо ви запускаєте комп'ютер, що тримає клавіші 6і, 4ви запускаєте 64-бітове ядро, або, згідно з іншим джерелом, порушуючи їх NDA, ви можете редагувати /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
додавання прапора ядра або робити це в nvram.
На жаль затуманене посилання Джейсона приховало дуже корисну інформацію:
ioreg -l -p IODeviceTree | grep firmware-abi
64-бітові EFI-маки звітуватимуть
| | "firmware-abi" = <"EFI64">
Поки Snow Leopard не буде випущений, ми не будемо знати, які системи підтримуватимуть 64/32 бітовий режим ... Але всі вказівки на те, що Snow Leopard буде прозорим із підтримкою ядра ...
Але, на жаль, вибачте, що ви "збилися", якщо ви зареєстрований член Appleseed, форум Appleseed обговорює, як змусити ядро до 64-бітного режиму. В іншому випадку, якщо ви отримали Snow Leopard в іншому місці, не хвилюйтеся про це.
Випуск Snow Leopard - прямо за кутом ...
Це добре, ось чому:
32-бітний SL запустить 64-бітні програми; SL сумісний з 64 бітами незалежно від версії ядра, яку ви завантажуєте
SL навіть у випадку завантаження 32-розрядного ядра все одно зможе запускати 64-бітні програми та адресувати більше 4 Гб оперативної пам’яті
тому, що вам знадобиться 64-бітове ядро, це якщо ядро потрібно для адреси більше 32 ГБ оперативної пам’яті (отже, це за замовчуванням для Xserve) або у вас 64-бітний кекс (розробники)
64-бітні ядра не роблять ваш комп'ютер чарівно швидшим; якщо вам не потрібно більше 32 ГБ оперативної пам’яті (все-таки тільки IOW зберігається), вона вам також не потрібна для вирішення причин.
зробивши 32-бітові за замовчуванням у споживчих системах та надавши професіоналам та розробникам 64-бітну опцію ядра Apple, зберігає максимальну сумісність І максимальну гнучкість
64 біт - це в основному варіант для розробників; вони можуть використовувати його для тестування своїх 64-бітних драйверів / кексів, щоб переконатися, що вони працюють з 64-бітовим ядром
Перефразоване і цитується від Snow Leopard завантажує за замовчуванням 32-бітове ядро