Сколько лет компьютерам Mac, на которых нельзя запускать 64-разрядные приложения?

Мы пытаемся решить, сколько усилий нужно приложить для того, чтобы наше программное обеспечение хорошо работало в 32-битном режиме. (Это научное программное обеспечение, которое должно обрабатывать большие наборы данных, поэтому обеспечение его хорошей работы означает не только создание универсальных двоичных файлов, но и проектирование с учетом ограничений адресного пространства.)

В: В каком году были проданы последние компьютеры Mac, которые из коробки не могли запускать 64-битные приложения?

Под «из коробки» я подразумеваю попадание в руки наивных пользователей, которые не обновляют ОС, не выбирают другие ядра или существенно не изменяют конфигурацию системы по умолчанию.

Если вы спрашиваете о «наивных пользователях», которые «не выбирают разные ядра», я думаю, вам нужно перефразировать свой вопрос. Маки были 64-битными в течение довольно долгого времени, но загружается ли 64-битное ядро ​​​​по умолчанию — это другой вопрос. Например, Mac Pro имел 64-разрядные процессоры, начиная с начальной модели 2006 года, но начиная с модели середины 2010 года по умолчанию загружалось только 64-разрядное ядро.
Если они не могли запускать 64-битные программы без переключения на нестандартное ядро, то для меня до середины 2010 года они были 32-битными машинами.
Моя точка зрения - ваш вопрос в том виде, в котором он сформулирован, подходит почти для каждого Mac (за исключением начальных моделей Intel, поставляемых с процессорами Intel Core Solo и Intel Core Duo). Я бы предложил перефразировать так: «В каком году были проданы последние компьютеры Mac, которые по умолчанию не загружались с 64-битным ядром?»
Мне и всем остальным в моем офисе: «В каком году были проданы последние компьютеры Mac, не поддерживающие 64-разрядное программное обеспечение?» является синонимом «В каком году были выпущены последние компьютеры Mac, которые загружались ТОЛЬКО в 32-разрядную версию?» Невозможно запустить 64-разрядную версию = можно запустить только 32-разрядную версию, если только вы не хотите вернуться во времена 8-разрядных и 16-разрядных процессоров. Очевидно, что устройство 2011 года выпуска, которое по умолчанию работает в 32-битном режиме, но МОЖЕТ работать в 64-битном режиме, не соответствует этим критериям.
Я отредактировал вопрос, чтобы быть более точным. Я оставил «не могу запускать 64-битные приложения» в заголовке, потому что альтернатива была слишком многословной.
Обратите внимание, что даже 32-битные ядра могут запускать 64-битные программы, начиная с Tiger (я думаю).
Несмотря на другие ответы здесь, вопрос был сформулирован идеально, поскольку OS-X может запускать 64-битные приложения также при работе на 32-битном ядре (такова моя конфигурация с моим очень старым белым iMac 24 "2005 года). Этот iMac - Core-2-Duo. , чтобы противоречить предыдущим ответам, и с тех пор запускает 64-битные приложения.Вопрос сводится к тому, какой был последний Mac с 32-битным ПРОЦЕССОРОМ, которым, я думаю, будут Mac, использующие PPC G4.Я не знаю о ядре Intel- соло, но это не должно быть трудно проверить.
Mac, который загрузился с 32-битным ядром еще в 2006 году, по-прежнему без проблем запускал 64-битные приложения. Даже если бы приложение было «универсальным» (32 + 64), Mac предпочел бы запускать 64-битный двоичный файл на компьютерах Mac с 32-битным ядром.

Ответы (3)

РЕДАКТИРОВАТЬ : Основываясь на комментариях к вопросу и этому ответу, я думаю, что ссылка Mac OS X v10.6: Mac, использующие 64-битное ядро , гораздо более актуальна.

По сути, только Mac Pro середины 2010 года, MacBook Pro начала 2011 года и iMac середины 2011 года загружались по умолчанию в 64-битном режиме со Snow Leopard. Начиная с Lion (середина 2011 г.) каждый новый Mac только 64-битный.

Итак, чтобы ответить на ваш вопрос:

В каком году были проданы последние компьютеры Mac, которые не могли (без настройки пользователем) запускать 64-битное программное обеспечение?

==> 2011

РЕДАКТИРОВАТЬ 2 : Как упомянул Вебьорн Льоса в комментариях, запуск ядра в 32-битном или 64-битном режиме не имеет большого значения для вашего двоичного файла, поэтому вы, вероятно, можете предположить, что Mac, проданные после середины 2007 года, будут запускать 64-битное приложение ( на основании данных чуть ниже).


  • Мак мини :
    • последние 32-разрядные процессоры: конец 2006 г.
    • самые старые 64-битные процессоры: середина 2007 г.
  • iMac :
    • последние 32-разрядные процессоры: начало 2006 г.
    • самые старые 64-битные процессоры: конец 2006 г.
  • Мак Про :
    • всегда был 64-битным
  • Макбук :
    • последние 32-разрядные процессоры: начало 2006 г.
    • самые старые 64-битные процессоры: конец 2006 г.
  • Макбук Про :
    • последние 32-разрядные процессоры: начало 2006 г.
    • самые старые 64-битные процессоры: конец 2006 г.
  • Макбук Эйр :
    • всегда был 64-битным

Таким образом, кажется, что последним Mac с 32-битным процессором был Mac mini конца 2006 года.

Разве эти записи в Википедии для «Режима ядра по умолчанию» не означают, что они имели возможности обоих, но по умолчанию использовали один или другой?
Спасибо KyleCronin, исправил. @ Дэйв, если вы говорите о Mac Pro, я просмотрел все процессоры и основывал свои результаты на записи «Набор инструкций».
Я не оспариваю ваши выводы, но на собственном сайте Apple говорится, что Mac Pro 2009 был 64-разрядным, как и сайт, на который я ссылался в своем ответе. (См. support.apple.com/kb/SP506 )
@GuillaumeAlgis Ваши записи для Mac Pro неверны. Все модели Mac Pro, начиная с первых в 2006 году, имели 64-разрядные процессоры. См. это , показывающее, что двухъядерный процессор Intel Xeon, поставляемый в модели 2006 года, был 64-разрядным. Указанная вами дата — это первая модель, которая по умолчанию загрузилась с 64-битным ядром .
Кроме того, учитывая тип программы, которую обсуждает ОП, я полагаю, что Mac Pro будет очень популярной моделью среди его клиентов.
Спасибо Дэйву и Tubedogg за обнаружение ошибки, я отредактировал свой ответ.
Разве не правда, что Mac с 64-битными процессорами могли запускать 64-битные приложения, даже если ядро ​​было 32-битным?
@VebjornLjosa не знал об этом до того, как вы спросили, но, похоже, это работает, да stackoverflow.com/questions/49934/…
Я полагаю, тогда мне следует согласиться с первой версией вашего ответа?
Я так полагаю, да. Смотрите мою вторую правку.

Core Duo был последним 32-битным процессором. Так что я думаю, что это было где-то в 2006 году, когда Apple впервые перешла на процессоры Intel.

Редактировать:

См. Историю Apple для получения дополнительной информации.

В этом аспекте Apple немного «отступила», когда перешла на процессоры Intel. В то время все Mac на базе G5 PPC были 64-разрядными, а появление первого Core-Duo привело к появлению на рынке новых 32-разрядных компьютеров Mac, когда они уже постепенно отказывались от 32-разрядных. Хотя ненадолго.

Я хорошо помню основной доклад Стива Джобса на WWDC 2005, извиняющимся тоном объясняющий переход к Intel главным образом из-за «надежной дорожной карты процессоров, представленной ему Intel, по сравнению со снижением интереса IBM к настольным компьютерам с низким энергопотреблением».

Наконец, мой друг, вы можете с уверенностью забыть о 32-битной версии, если разрабатываете приложение. «Стандартная архитектура» Xcode для цели Mac - только 64-битная, и Apple уже несколько лет пренебрегает средой выполнения Obj-C в 32-битной версии.

А это значит - никакого ARC, никакого автосинтеза Свойства, хрупкие объекты isa и многое многое другое. Создание универсальной или 32-битной версии накладывает серьезные ограничения на вашу разработку.