Дарлинг (бағдарламалық жасақтама) - Darling (software)

Қымбаттым
Darling project logo.png
MacOS (сол жақта) және GNU / Linux (оң жақта) қарапайым 'HelloWorld' какао қолданбасы
MacOS (сол жақта) және GNU / Linux (оң жақта) қарапайым 'HelloWorld' какао қолданбасы
Түпнұсқа автор (лар)Любош Долежель
Репозиторийhttps://github.com/darlinghq/darling
Операциялық жүйеGNU /Linux
ТүріҮйлесімділік қабаты
ЛицензияӘр түрлі, бірінші кезекте GPLv3[1]
Веб-сайтсүйіктім.org

Қымбаттым Бұл ақысыз және ашық көзі macOS үйлесімділік қабаты GNU / Linux үшін. Ол функцияларын қайталайды macOS macOS бағдарламалары шақыратын кітапханалар мен фреймворктердің баламалы орындалуын қамтамасыз ету арқылы.[2] Бұл қайталану әдісі эмуляция деп санауға болатын басқа әдістерден ерекшеленеді, мұнда macOS бағдарламалары а виртуалды машина. Дарлингті әріптес деп атады ШАРАП OS X қосымшаларын іске қосуға арналған.[3]

Жоба 2012 жылдың жазында басталды және уақыт жетіспеуіне байланысты тоқтатылған maloader деп аталатын алдыңғы жобаға негізделген. Өңдеуші қосымшаларды сынақтан өткізеді, мысалы Түн ортасындағы командир немесе Unarchiver қабатта. Әзірге қабаттың көптеген адамдармен жұмыс істейтіндігі көрсетілген консольдық бағдарламалар, бірақ қазіргі уақытта қолдамайды графикалық қосымшалар.[4][5] Дарлингтің ан шығаруға қабілеті бар Apple Disk кескіні.[6]

Жоба қолдау көрсетуі мүмкін iOS болашақта қосымшалар.[7]

Сәулет

Дарлинг жүйесіне кіргенде арналған Мах-О екілік файл, орындалатын формат Apple's операциялық жүйелер. Дарлингтің предшественники, малоадер Apple-дің бәрін қайталауға тырысып, мәселеге максималистік көзқарас ұсынды. динамикалық кітапхана жүктеу машинасы жасайды. Бұл өте қиын болды, және 2017 жылдан бастап «Mach-O ауысуы» Дарлинг оның орнына ашық көзі бар Apple dyld-ті іске қосу үшін жеткілікті мөлшерде жеңіл тиегішті пайдаланады.[8]

MacOS екілік файлдарын а ядро, Darling модификацияланған қолданады XNU Linux-ке оралған ядро ядро модулі. Бұл модуль а-ның әдеттегі жұмысын басқарады Мах ядросы, негізінен Порттар IPC өңдеу.[9] Лицензиялаудың кейбір мәселелері сүйіктім-махуль модулінде бар, өйткені команда қосып отыр GNU GPL өзгертулер APSL ядро.[10]

Түбірлік орта ядроға қарағанда жоғары. Дарлинг, WINE сияқты, қолдайды хроот Linux көмегімен іске асырылған префикстер қабаттасулар (WINE-дағы жол аудармасынан айырмашылығы). PID А құру үшін IPC және UTS атаулар кеңістігі қолданылады контейнер ішіндегі Дарвин жүйесі үшін.

Дарлингтегі құрылымдар мен жүйелік кітапханалар мүмкіндігінше негізделген бастапқы код Apple шығарған. Mach-O ауысуы бұл жақтауларды оңай құруға мүмкіндік береді, өйткені қазір олар Mach-O форматына сай салынған.[8] Сияқты көптеген жоғары деңгейлі жақтаулардың орнын толтыру үшін Какао, Дарлинг Cocotron кодын қолданады, Ықтимал негіз, және GNUstep.[11]

Әдебиеттер тізімі

  1. ^ https://github.com/darlinghq/darling/blob/master/LICENSE
  2. ^ Бродкин, Джон (6 тамыз 2013). «OS X қосымшалары GNU / Linux жүйесінде Mac бағдарламалық жасақтамасына арналған шарап тәрізді эмулятормен жұмыс істейді». Ars Technica. Алынған 23 қаңтар 2014.
  3. ^ Линч, Джим. «Біз ешқашан Darling-пен Linux-те OS X қосымшаларын басқара аламыз ба?». InfoWorld. Алынған 2018-07-23.
  4. ^ «Жоба мәртебесі». Дарлинг жобасы. Алынған 23 қаңтар 2014.
  5. ^ «Darling жобасы әлі күнге дейін Linux - Phoronix-те macOS / OSX бағдарламалық жасақтамасын іске қосуға тырысуда». www.phoronix.com. Алынған 2018-07-23.
  6. ^ «A C ++ сәлем әлемі және раушан алтынмен қоршалған бақыт бақшасы». Хакер түс. 2018-01-29. Алынған 2018-07-23.
  7. ^ Хит, Ник (15 шілде 2013). «OS X қосымшалары Linux-қа Darling жобасының ілтипатымен бара жатыр». ZDNet. Алынған 23 қаңтар 2014.
  8. ^ а б Бугаев, Сергей. «Mach-O байланыстыру және жүктеу трюктері». Алынған 12 қаңтар 2020.
  9. ^ «Құрылыс нұсқаулары». Қымбаттым. Darling ядролық модульді OS X-нің белгілі бір ерекшеліктерін қамтамасыз ету үшін пайдаланады, негізінен Mach Ports IPC. Бұл модульсіз ешқандай OS X қосымшасын іске қосуға болмайды, өйткені Libc инициализациясы үшін Mach порттарын, тіпті ұйқы () сияқты өте қарапайым нәрселерді қажет етеді.
  10. ^ «Мәселе: APSL бойынша Apple компаниясының коды GPL-мен сәйкес келмейді». GitHub. Алынған 12 қаңтар 2020.
  11. ^ «Үйге қойылатын сұрақтар». Дарлинг жобасы. Алынған 12 қаңтар 2019.