В рамках проекта Darling развивается аналог Wine для запуска программ Mac OS X
Несмотря на то, что проект находится на начальной стадии развития и носит в основном академический характер (дипломная работа студента), он уже позволяет выполнять некоторые консольные приложения, собранные для Mac OS X. Например, протестирован запуск gcc-4.2, otool, nm, clang и других утилит. Поддерживается запуск как 32- так и 64-разрядных исполняемых файлов в формате Mach-O. У создателя проекта в настоящее время нет цели по обеспечению запуска любых программ, его область интересов пока ограничена только обеспечением выполнения инструментов, используемых для разработки приложений.
В настоящее время проект завязан на многих особенностях Linux, но не исключается его дальнейшее портирование для BSD-систем. Пока поддерживается запуск приложений для Mac OS X. Для поддержки запуска мобильных приложений, собранных для iOS, требуются дополнительные усилия по задействованию некоторых специфичных для iOS фреймворков и портированию ассемблерного кода для архитектуры ARM.
Организация выполнения программ в целом напоминает подход проекта Wine - производится разбор исполняемого файла, его загрузка в память и передача выполнения. Для работы приложений предоставляется совместимая на уровне ABI прослойка из библиотек, используемых в Mac OS X. Часть функций подобных библиотек реализуется путем прямого маппинга или трансляции через враппер в аналогичные функции, доступные в Linux. Для некоторых функций приходится создавать отдельные реализации, работающие поверх других нативных API.
В частности, в Darling задействованы наработки проекта GNUstep, в рамках которого развивается открытая реализация лежащего в основе Mac OS X и iOS программного интерфейса Cocoa, включая AppKit, базовые и runtime-библиотеки Objective-C, наборы виджетов и сопутствующие приложения. Кроме того, в Darling используются доступные открытые библиотеки и фреймворки, позволяющие обеспечить бинарную совместимость с Darwin и Mac OS X (например, системная библиотека libSystem, развиваемая проектом Darwin), а также заголовочные файлы с сайта Apple.
Источник: http://www.opennet.ru/opennews/art.shtml?num=35547
|
0 | Tweet | Нравится |
|