Darling è un progetto opernsource che sfruttando il kernel Darwin consente di emulare software creato per OS X su Linux.
Darling funziona modo similare a Wine.
Darling analizza i file eseguibili utilizzando il kernel Darwin (Mach Object Files; Mach-O), quindi li carica in memoria (così come ld-linux.so fa con gli eseguibili ELF ) e li esegue. Tutto ciò non è ovviamente sufficiente. Darling fornisce anche un set di librerie e frameworks disponibili su OS X e compatibili con ABI.
Inoltre Darling effettua:
- direttamente una mappatura delle funzioni rispetto a quelle disponibili su Linux oppure
- utilizza funzioni native per colmale l’incompatibilità ABI oppure
- fornisce una reimplementazione utilizzando altre API native
Darwin è un sistema operativo open source con supporto POSIX rilasciato da Apple Inc. nel 2000. E’ costituito da codice sviluppato da Apple e da codice derivato daNeXTSTEP, BSD, e altri progetti free.
Darwin costituisce il set di base di componenti su cui si basano Mac OS X e iOS. Darwin è compatibile con Single UNIX Specification version 3 (SUSv3) e POSIX UNIX applicazioni e utility.
Darwin è costruito attorno a XNU, un kernel ibrido che combina il Mach 3 microkernel, diversi elementi di BSD e un device driver API chiamato I/O Kit orientato ad oggetti. Il kernel ibrido rappresenta un compromesso tra la flessibilità del microkernel e le prestazioni di un kernel monolitico.
E’ possibile scaricare i sorgenti del progetto Darling tramite repository git eseguendo da terminale:
git clone --recursive git://github.com/LubosD/darling.git
In questa pagina trovate tutte le informazioni utili per la compilazione