Я понял, что самой целью 10.6 было переписать основной компонент, чтобы максимально использовать 64-битную версию. Итак, вы говорите, что большую часть времени вы будете запускать оптимизированный код в 32-битной среде? ...
ОскарРиз
не знаю, большая часть кода явно 64-битная, но ядро, похоже, не для меня, во всяком случае
Короткая версия: из-за отсутствия «смешанного режима» 64-битное ядро требует 64-битных расширений ядра и драйверов .
Так как они пока еще не доступны, Apple выбрала 32-битную версию по умолчанию, чтобы избежать поломок.
Инструкция из статьи:
Для всех Mac с поддержкой K64 загрузитесь, одновременно удерживая клавиши «6» и «4», чтобы выбрать 64-разрядное ядро. Для более постоянного решения используйте команду nvram, чтобы добавить ее arch=x86_64в boot-argsстроку, или отредактируйте файл /Library/Preferences/SystemConfiguration/com.apple.Boot.plistи добавьте arch=x86_64в строку флагов ядра:
Чтобы переключиться обратно на 32-битное ядро, удерживайте клавиши «3» и «2» во время загрузки или используйте один из описанных выше приемов, заменив «x86_64» на «i386».
Спасибо Гарету за редактирование (перефразированное изображение ссылается на imgur от arstechnica и цитирует соответствующие инструкции из статьи).
Озеро
7
В отличие от большинства других операционных систем, запуск Snow-Leopard в 64-разрядном ядре не дает больших преимуществ. В 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-битным ядром:
Mac Pro начала 2008 года (MacPro 3,1)
Начало Xserve 2008 года (Xserve 2,1)
MacBook Pro (15 "/ 17") (MacBookPro 4,1)
2008 iMacs (iMac 8,1)
Unibody MacBook Pro (MacBookPro 5,1 и 5,2)
Mac Pro начала 2009 года (MacPro 4,1)
2009 iMacs (iMac 9,1)
Начало 2009 года Xserve (Xserve 3,1).
Только XServe по умолчанию используют 64-битное ядро.
Если вы запускаете компьютер , удерживая 6и 4ключи вы запустить 64-битное ядро, или в соответствии с другим источником нарушения их NDA вы можете изменить , /Library/Preferences/SystemConfiguration/com.apple.Boot.plistдобавив флаг ядра или сделать это в NVRAM.
Я тоже это заметил, поэтому я поставил свой код модели.
Chopper3
Начиная с [6] [4] работает, но каково преимущество работы ядра на 64 битах? ...
ОскарРиз
@ Оскар Рейес: Вы можете использовать 64-битные драйверы, а процессы могут получить доступ к более чем 4 ГБ памяти. Так прямо сейчас? Нет, если вы не запускаете приложение на стороне сервера, которое может использовать более 4 ГБ памяти - следовательно, 64-битное значение по умолчанию для Xserve.
Chealion
5
К сожалению, запутанная ссылка Джейсона скрыла очень полезную информацию:
До выхода Snow Leopard мы не будем знать, какие системы будут поддерживать режим 64/32 бит ... Но все признаки того, что Snow Leopard будет прозрачным с поддержкой ядра ...
Но, увы, извините за то, что я «унылый», если вы являетесь зарегистрированным пользователем Appleseed, на форуме Appleseed обсуждается, как перевести ядро в 64-битный режим. В противном случае, если вы получили Snow Leopard в другом месте, не беспокойтесь об этом.
32-битный SL БУДЕТ запускать 64-битные приложения; SL совместим с 64 битами независимо от того, какую версию ядра вы загружаете
SL даже при загрузке с 32-битным ядром все равно сможет запускать 64-битные приложения и обращаться к более чем 4 ГБ ОЗУ
Причина, по которой вам нужно 64-битное ядро, заключается в том, что ядру нужно было обращаться к более чем 32 ГБ ОЗУ (следовательно, это по умолчанию на Xserve), или у вас есть 64-битный кекс (разработчики)
64-битные ядра не делают ваш компьютер волшебно быстрее; если вам не требуется более 32 ГБ ОЗУ (в любом случае, только в IOW только Xserve), вам это не нужно по причинам
установив 32-битное значение по умолчанию в потребительских системах и предоставив профессионалам и разработчикам опцию 64-битного ядра, Apple сохраняет максимальную совместимость и максимальную гибкость
64 бит - это в основном опция разработчика; они могут использовать его для тестирования своих новых 64-битных драйверов / kexts, чтобы убедиться, что они работают с 64-битным ядром
Ответы:
В «Обзоре снежного барса» Джона Сиракузы он обсуждает 64-битный переход .
Короткая версия: из-за отсутствия «смешанного режима» 64-битное ядро требует 64-битных расширений ядра и драйверов .
Так как они пока еще не доступны, Apple выбрала 32-битную версию по умолчанию, чтобы избежать поломок.
Инструкция из статьи:
источник
В отличие от большинства других операционных систем, запуск Snow-Leopard в 64-разрядном ядре не дает больших преимуществ. В 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-битным ядром:
Только XServe по умолчанию используют 64-битное ядро.
Если вы запускаете компьютер , удерживая 6и 4ключи вы запустить 64-битное ядро, или в соответствии с другим источником нарушения их NDA вы можете изменить ,
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
добавив флаг ядра или сделать это в NVRAM.источник
К сожалению, запутанная ссылка Джейсона скрыла очень полезную информацию:
64-битные EFI Mac будут сообщать
источник
До выхода Snow Leopard мы не будем знать, какие системы будут поддерживать режим 64/32 бит ... Но все признаки того, что Snow Leopard будет прозрачным с поддержкой ядра ...
Но, увы, извините за то, что я «унылый», если вы являетесь зарегистрированным пользователем Appleseed, на форуме Appleseed обсуждается, как перевести ядро в 64-битный режим. В противном случае, если вы получили Snow Leopard в другом месте, не беспокойтесь об этом.
Выпуск Snow Leopard уже не за горами ...
источник
Это нормально, вот почему:
Перефразируя и цитируя Snow Leopard, по умолчанию загружается 32-битное ядро.
источник