Miláčku (software) - Darling (software)
![]() | |
![]() Jednoduchá aplikace „HelloWorld“ pro kakao předvedená na macOS (vlevo) a GNU / Linux (vpravo) | |
Původní autoři | Luboš Doležel |
---|---|
Úložiště | https://github.com/darlinghq/darling |
Operační systém | GNU /Linux |
Typ | Vrstva kompatibility |
Licence | Různé, primárně GPLv3[1] |
webová stránka | miláčku |
zlatíčko moje je zdarma a open-source Operační Systém Mac vrstva kompatibility pro GNU / Linux. Duplikuje funkce Operační Systém Mac poskytnutím alternativních implementací knihoven a rámců, které programy macOS volají.[2] Tato metoda duplikace se liší od ostatních metod, které lze také považovat za emulaci, kde programy macOS běží v a virtuální stroj. Darling byl nazýván protějškem VÍNO pro spouštění aplikací OS X.[3]
Projekt byl zahájen v létě 2012 a navazuje na předchozí projekt s názvem maloader, který byl z důvodu nedostatku času přerušen. Vývojář testuje aplikace, například Půlnoční velitel nebo Unarchiver na vrstvě. Zatím se ukázalo, že vrstva funguje s mnoha konzolové aplikace, ale momentálně nepodporuje grafické aplikace.[4][5] Darling má schopnost extrahovat Obrázek disku Apple.[6]
Projekt může také podporovat iOS aplikace v budoucnosti.[7]
Architektura
U vstupu do systému Darling je nakladač pro Mach-O binární soubory, spustitelný formát pro Apple operační systémy. Darlingův předchůdce, maloader, představil maximalistický přístup k problému tím, že se pokusil replikovat vše, co Apple dynamická knihovna loader dyld dělá. Ukázalo se to jako těžké a od roku 2017, kdy „přechod Mach-O“ používal Darling lehký zavaděč natolik, aby místo toho spustil open-source Apple dyld.[8]
Chcete-li binárním souborům macOS poskytnout a jádro, Darling používá upravený XNU jádro zabalené do Linuxu modul jádra. Tento modul zpracovává typickou práci a Machovo jádro, hlavně přístavy IPC zacházení.[9] Jak tým přidává, v modulu darling-mach existují některé problémy s licencí GNU GPL úpravy APSL jádro.[10]
Vyšší než jádro je prostředí root. Miláček, stejně jako VÍNO, podporuje chroot předpony, implementované pomocí Linuxu overlayfs (na rozdíl od překladu cesty ve VÍNO). PID, Obory názvů IPC a UTS se používají k vytvoření kontejner pro systém Darwin uvnitř.
Rámec a systémové knihovny v Darlingu jsou v co nejlepší míře založeny na zdrojový kód vydané společností Apple. Přechod Mach-O umožňuje snadnější vytváření těchto rámců, protože jsou nyní vytvořeny jako formát Mach-O, pro který byly určeny.[8] Chcete-li vyplnit mezery pro mnoho vyšších rámců, jako je Kakao, Darling používá kód od společnosti Cocotron, ApportableFoundation, a GNUstep.[11]
Reference
- ^ https://github.com/darlinghq/darling/blob/master/LICENSE
- ^ Brodkin, Jon (6. srpna 2013). „Aplikace OS X běží na GNU / Linux s emulátorem typu Wine pro Mac“. Ars Technica. Citováno 23. ledna 2014.
- ^ Lynch, Jim. „Budeme někdy schopni spouštět aplikace OS X v Linuxu s Darlingem?“. InfoWorld. Citováno 2018-07-23.
- ^ "Stav projektu". Miláčku. Citováno 23. ledna 2014.
- ^ „Project Darling is still trying to run macOS / OSX Software on Linux - Phoronix“. www.phoronix.com. Citováno 2018-07-23.
- ^ „C ++ Hello World And Rose Gold Walled Garden of Doom“. Hacker v poledne. 2018-01-29. Citováno 2018-07-23.
- ^ Heath, Nick (15. července 2013). „Aplikace OS X na cestě do Linuxu s laskavým svolením projektu Darling“. ZDNet. Citováno 23. ledna 2014.
- ^ A b Bugaev, Sergey. „Mach-O propojení a načítání triků“. Citováno 12. ledna 2020.
- ^ „Pokyny k sestavení“. zlatíčko moje.
Darling používá modul jádra k zajištění určitých specifických funkcí OS X, zejména Mach Ports IPC. Bez tohoto modulu nelze spustit žádnou aplikaci OS X, protože Libc vyžaduje pro svou inicializaci Mach Porty a dokonce i pro velmi základní věci, jako je sleep ().
- ^ „Problém: Kód od společnosti Apple pod APSL není kompatibilní s GPL.“. GitHub. Citováno 12. ledna 2020.
- ^ „Domovská stránka FAQ“. Miláčku. Citováno 12. ledna 2019.