エミュレータを(簡単な方法で)理解しているので、システムXの機能を使用するプログラムの関数呼び出しを、プログラムが実行されるシステムYで使用される機能に変換または置き換えます。Wineプロジェクトは、Wineはエミュレータではないと主張しています。
仮想マシンやエミュレーターのような内部Windowsロジックをシミュレートする代わりに、WineはWindows API呼び出しをオンザフライでPOSIX呼び出しに変換し、他のメソッドのパフォーマンスとメモリペナルティーを排除し、Windowsアプリケーションをデスクトップにきれいに統合できるようにします。
さて、エミュレータと仮想マシンは、Windows以外のホストシステムで内部Windowsロジックをどのようにシミュレートしますか?それは、Windowsシステムコールをホストのそれぞれのコールに変換することではないでしょうか?エミュレーターと非エミュレーター(Wineなど)の違いは、エミュレーターがオペレーティングシステム全体をエミュレートし、アプリケーションがエミュレーターと通信していることを知らずにそのシステムAPIを使用するのに対し、非エミュレーターはアプリケーションの呼び出しをホストの(そして、アプリケーションもそれを知らないかもしれません)?エミュレーターとWineの違いは、間接レベルの追加だけですか?