5

Я следил за этой статьей ... http://support.apple.com/kb/HT3696 и обнаружил, что

Processor name: IntelCore i7 

это означает, что это 64 бит.

Однако, когда я делаю "uname -a" в терминале, результат кажется противоречивым.

MYMACHINE:~ himalay$ uname -a
Darwin MYMACHINE 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386

Также через Perl его то же самое ..

MYMACHINE:~ himalay$ perl -V:myarchname
myarchname='i386-darwin';

Насколько я знаю, i386 32-битный. Может кто-то прояснить это. Спасибо.

4 ответа4

13

Короче говоря, современные версии OS X способны запускать 32- и 64-битные исполняемые файлы (приложения, инструменты командной строки и т.д.). Эти исполняемые файлы могут распространяться как «толстые» исполняемые файлы, которые содержат исполняемый файл для запуска в виде 32- или 64-разрядного процесса. OS X предлагает двойственность в этом отношении, когда другие ОС более строги в отношении исполняемых, загружаемых и собираемых двоичных файлов.

В OS X у вас может быть процессор Intel, который совместим с 64 битами. Ваше ядро может работать в 32 или 64 бит, а ваши программы могут работать в 32 или 64 бит. Это зависит от вашей конфигурации и от того, как были созданы программы / расширения / библиотеки.

По сути, ваша путаница возникает из-за разницы между аппаратными возможностями и режимом программного обеспечения, которое вы запускаете и которое запрашиваете. Ваш процессор / оборудование может работать с 64-битными исполняемыми файлами, но вы запросили состояние активного 32-битного процесса.

2

OS X, даже 64-битные версии, по умолчанию загружаются с 32-битным ядром; Вы должны явно переключиться на 64-битное ядро.

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

1

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

1

смотри под яблоком -> про этот макинтош

uname дает вам информацию о KERNEL, который вы используете, а не об основном оборудовании (amd64, 64-битное оборудование поддерживает IA32, 32-битные ядра)

http://osxbook.com/book/bonus/ancient/procfs/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .