マイペースなプログラミング日記

x86エミュレータやFPGA、WebGLにお熱なd-kamiがマイペースに書くブログ

たまにはエミュレータのエントリも書いてくれ!

と思う方もいらっしゃるとおもうので、たまにはエミュレータのエントリを書きます。えぇ、x86エミュレータです。今、作ってるblink-dというハイパーバイザ的ななんとかバイザです多分。blink-dにはスーパーバイザがいないのでハイパーバイザといういい方が正しいのかどうか知りません!まぁ、バーチャルマシンモニタだとかそんな感じで呼べばいいんじゃないですかね(適当)。

それで久しぶりに聞いたもしくは初めて聞いたblink-dって何ぞ?って話ですが、blink-dはx86エミュレータ+DOM操作+HTML5な感じの構成のWebアプリケーションです。簡単に言うとブラウザで動くx86エミュレータです。blink-dにはアプリケーション(と私が呼んでいる)プログラムが存在し、アプリケーションはC++アセンブリ言語で書きます。書いたらサーバにソースコードを送ってサーバにインストールされているclangでコンパイルして、ブラウザに送信します。ブラウザではコンパイルしてできたx86バイナリをJavaScriptでエミュレートして、ソフトウェア割り込みを通じてDOM操作などをします。

 

開発環境としてはブラウザでこんな感じになります

f:id:d-kami:20150816234745p:plain