MacOS X на x86: от теории к практике

Многообразие платформ вынуждает разработчиков портировать программы, на что тратится много времени и денег. Проще всего дело обстоит с кроссплатформенными языками, которые не зависят от архитектуры процессора и не имеют никакой связи с типом операционной системы. В основе таких языков лежит интерпретатор, который занимается переводом языка в функции операционной системы. Что же нужно для того, чтобы портировать саму операционную систему на другую архитектуру процессора? Здесь есть два варианта: первый наиболее трудный, но и самый правильный - добиться совместимости между архитектурами на уровне исходных кодов, второй предполагает наличие всё того же интерпретатора, как и в случае с кроссплатформенными языками.

Решив освоить архитектуру x86, компании Apple пришлось выбирать по какому пути ей пойти. Выбор был сделан в пользу второго способа. Что из этого получилось - читаем далее.

MacOS X на x86

 "Мы намерены создать несколько действительно выдающихся компьютеров, и что может помешать нам, так это планы развития PowerPC"

Стив Джобс

В июне 2005 года представителями Apple и Intel было сделано официальное заявление, в котором говорилось о скором переводе всей линейки компьютеров Macintosh на платформу x86. В качестве производителя процессоров была выбрана компания Intel.

В августе того же 2005 года был проведён конкурс на успешный запуск MacOS X на платформе x86. Спустя 12 часов работы Джастин Нолан (Justin Nolan) представил образец работающей системы на процессоре производства Intel. Совместимость была достигнута с помощью патча с драйверами от VMWare. Они выполняли трансляцию кода в понятный для архитектуры x86 вид.

Ещё несколько лет назад затея сменить архитектуру была обречена на провал. Apple со своим лозунгом "Думай иначе" позиционировала свои компьютеры как мощную современную понятную систему и переход на Intel сильно бил по её идеологии.

Судя по всему, сделать этот шаг компанию во многом вынудила необходимость отвоёвывать долю рынка ноутбуков. Вскоре после выхода платформы Intel Centrino стал фаворитом среди мобильных процессоров, чего нельзя сказать о PowerPC G5. Обильное тепловыделение просто не позволяло использовать его в мобильных системах. К тому же у Intel были хорошие планы по дальнейшему совершенствованию своих ЦП.

Технически перенос операционной системы с архитектуры PowerPC на x86 не проблематичен. Если в System 7, System 8 и System 9 Apple использовала только свои наработки, то в десятой версии дистрибутива ядро Darwin состоит из Mach 3.0, BSD 4.0 и наработок сторонних компаний.

Mach 3 обладает всеми необходимыми характеристиками современной операционной системы: защищённая память, вытесняющая многозадачность, динамическая виртуальная память и др.

Из BSD была взята модель работы с процессами и потоками в системе, а также система пользовательских аккаунтов. Darwin уже несколько лет существует для платформы x86 и, установив его, мы получим очередной клон Unix, к тому же весьма удачный.

Графический интерфейс MacOS также во многом состоит из кроссплатформенных стандартов OpenGL, QuickTime и PDF, которые были уже давно портированы на различные платформы. В такой ситуации полностью переписывать все исходные коды не потребовалось. В большинстве случаев обошлись простой перекомпиляцией. Что касается поддержки старых приложений, работавших на PowerPC, выход был найден в использовании трансляции кода - технологии Rosetta. На неё ложится вся работа по прозрачному переводу инструкций процессора PowerPC в инструкции x86.

Тем не менее, в случае использования Rosetta в приложениях, скомпилированных для старых систем все же возможны проблемы в работе. Также прозрачная трансляция кода в некоторых ситуациях может вызвать серьёзную нагрузку на процессор и неработоспособность некоторых приложений. Есть ещё одна проблема, связанная с портированием MacOS X на x86-драйвера. Вернее их отсутствие. Нормальную поддержку видео и кое-какой периферии можно получить только на чипсетах Intel. В случае использования iMac Intel для всего оборудования уже есть необходимые драйвера.

Содержание Далее
Одной страницей
Назад
Стр. 1. История Apple и предпосылки к переходу на x86
Стр. 2. Проект Star Trek – попытка возродить Apple?
Стр. 3. MacOS X на x86
Стр. 4. Дистрибутивы, патчи
Стр. 5. Установка
Стр. 6. Впечатления, вывод
Комментарии
Добавить комментарий

Введите имя:
Войти от:
или
Ваш комментарий:


Введите код:

E-mail (не обязательно)
Адрес электронной почты не предназначен к показу и будет использован только для уведомлений об ответах



Смартфоны со съемными аккумуляторами 2018-2019 годов
14 смартфонов со съемным аккумулятором и один телефон
15 июля 2019 / 3
Смартфон с каплевидным вырезом - Samsung Galaxy A30
Недорогой современный смартфон без моноброви
22 апреля 2019 / 3
Android 10. Первый взгляд
Что будет в «юбилейной» ОС Google, которая выйдет в 2019 года
29 июля 2018 / 1
Смартфон Huawei с хорошей камерой - Huawei P20
Эффектный флагман со своим лицом
22 июля 2018 / 4
 
 
Анонс Windows 11 состоится 24 июня
Продажи iPhone 12 mini не оправдали ожидания
Будущий iPad Pro получит стеклянный корпус
Sun Valley может выйти уже осенью 2021 года
Samsung приступила к лицензированию Ultra Thin Glass (UTG)
Компания фокусируется на бытовой технике и электромобилях
 
 

Опрос

Какими картами вы пользуетесь?
или оставить собственный вариант в комментариях (14)





Статистика