Noah è una utility che consente di avviare programmi per Linux su Mac. È più precisamente un sottosistema Darwin per Linux o “una shell Bash di Ubuntu su macOS”. Peculiarità di Noah è l’implementazione come hypervisor (di serie con macOS Sierra e seguenti) che “cattura” le chiamate di sistema Linux e le “traduce” in chiamate Darwin, il sistema operativo libero che, insieme ad altri componenti, forma il sistema operativo macOS.
Noah è in grado di intepretare anche i file ELF (Executable and Linking Format), formato binario standard che consente di avviare direttamente vari eseguibili, senza modificare alcunché.
Gli sviluppatori hanno sfruttato una caratteristica poco nota integrata in OS X dalla versione 10.10 in poi, l’Hypervisor.framework, un framework che consente agli sviluppatori di sfruttare la virtualizzazione su uno strato superiore di OS X, inclusa la virtualizzazione senza bisogno di ricorrere a estensioni per il kernel (KEXT) di terze parti. Poiché non sfrutta KEXT, il sistema può essere sfruttato tranquillamente anche in abbinamento ai i meccanismi di protezione rootless o SIP (System Integrity Protection) integrati da OS X 10.11.x. in poi.
L’utility si installa usando homebrew o macports (sistemi di gestione dei pacchetti che consentono di semplifica l’ installazione su macOS del software open source). Al primo avvio, è scaricato e installato un ambiente linux nella directory home (per default unubuntu 16.04 in ~/.noah/tree). Il requisito minimo è la presenza di macOS Sierra o versioni seguenti. La differenza rispetto a software come virtualizzazione completo, come VirtualBox, è qualcosa di molto più leggero e meglio integrato con macOS.