軽量バーチャルマシーンLina

linux用アプリをクロスプラットフォームで使用可能にする軽量バーチャルマシーンLina。いままではCygwinのようにシステムコールマッピングを使った方法や仮想化を使った方法があったが、システムコールは常に完全一致でマッピングをすることができないことから、コンパイルができなかったり、アプリケーションが想定したように動作しない場合があった。仮想化では別のOS上に別のOSをまるごと重ねる方法をとるがゲストOS上で動くアプリは完全にホストOSと統合できなかった。Linaではリソース・マッピングの方法でLinux用途で開発したアプリがwindows上でwindowsアプリケーションのように動作できる。ユーザーの視点から言えば通常使っているOS上での使用感そのままにlinuxアプリを使用できることから、ユーザー・インターフェイスにおける不気味の谷現象を克服することができるかもしれない。

LINA is a lightweight virtual machine that allows desktop applications to be developed for Linux and run with a native look-and-feel on Windows, Mac OS X, and various flavors of *nix. I asked Nile Geisinger, CTO of LINA, for a quick summary of the technology involved:
LINA takes a new approach. In LINA, Linux applications run on a cross-platform Linux kernel on a virtual machine. LINA uses resource mapping instead of syscall mapping. So the Windows file system is mapped to a Linux file system, the Windows GUI APIs are mapped to Linux GUI APIs, etc. From the perspective of the LINA Linux application, it is running in a standard Linux operating system. From the perspective of the user, the LINA application is identical to a normal Windows or Mac OS X application.

http://radar.oreilly.com/archives/2007/05/beyond_the_brow.html
http://d.hatena.ne.jp/huixing/20070518/uncannyvalley
http://openlina.com/