esvm0001
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* ES-VM #1
-(by [[K]], 2020.06.13)
** (1)
-ES-Cでは、いきなりx86の機械語を生成するのではなく、仮想...
-これはx86だけを考えるのなら明らかに無駄です。x86だけ考え...
-今はx86やx64が主流ですが、今後もそうであるかは不明です。...
-そういうVMレイヤがあったほうがよいのだとしても、自分でわ...
-しかしこれはうまい方法ではないと思います。なぜならx86よ...
-またx86は32bitもしくは64bitですが、遠い将来はもっと幅の...
-ということで、VMレイヤの機械語の仕様は、ビット幅に上限が...
-x86やx64の仕様ではこれらを表現できないので、独自の機械語...
** (2)
-さてES-VMはコンパイラの移植性を高めるためだけの、単なる...
-ES-VMは、レイヤとして最下層であるべきです。つまり、実CPU...
-たとえて言うなら、x86は世代によって内部構成が異なってい...
-つまりデバッグの際にx86の機械語を見たり、x86のマシンのレ...
--「とりあえずES-VMの機械語からx86に変換したよー、それじ...
-私は数年前からJITコンパイラを何度か作っていますが、その...
gcc → アセンブラ → リンカ → 機械語
--こうなっているおかげで、アセンブラはWindowsの実行ファイ...
--gccは、機械語のことを気にしないで、アセンブラを出力すれ...
--こういう積み重ねで、プログラミング言語は進化してきた
--それなのに、JITコンパイラを作ろうとすると、これらのツー...
--つまり、既存ツールは、「より下位の知識が全く不要な世界...
//-gccは内部で何度か変換を繰り返して、最終的にアセンブラ...
-だからもういかなる時もES-VMより下のレイヤの知識がなくて...
** (3)
-今更なのですが、結局私が第一世代OSASKで掲げたエミュレー...
-今は、Javaがあり、.NETがあり、Monoがあり、LLVMがあり、Ja...
-私はES-VMによって、「移植作業のいらない世界」を作りたい...
** (4) 提供される機能
-[1]ES-VMのバイトコードとターゲット情報を渡すと、機械語を...
--これは純粋に単純なフィルタでしかないので、このプログラ...
--ターゲットを現在動作中のものにして、返された関数をすぐ...
--どのラベルがどのアドレスになったかなどの情報も提供する...
--変換に際しては、安全モードと高速モードを提供。
--またステップ実行的なこともできるようにしたい(そういう...
--任意の時点で、ES-VMにおけるレジスタや、ES-VMにおけるメ...
-[2](これは年内に作る予定はないけど)x86の機械語を渡すと...
--これができると、Windowsの実行ファイルが「はりぼてOS」で...
--もちろんx86だけではなく、他のCPUやWindows以外のファイル...
--まあ、5年後とか10年後だよな、たぶん。
-文章にして書いてみると、かなりかつての「エミュレータOS」...
-ES-VMは言語処理系のバックエンドとして考えていたけど、エ...
** (5) エミュレータOSとの対応関係
-エミュレータOSでは、OSとエミュレータドライバが連携するこ...
-ES-VMによる「エミュレータOSもどき」では、たとえばFM-TOWN...
-つまりこれは言語処理系からエミュレータに発展させたという...
-この場合、仮にバイトコードコンパイラが完備していれば、す...
-そしてエミュレータOSの予言のように、OSは性能で競われるよ...
* こめんと欄
-今こそ私は Inferno OS を勉強するべきなんじゃないかという...
#comment
終了行:
* ES-VM #1
-(by [[K]], 2020.06.13)
** (1)
-ES-Cでは、いきなりx86の機械語を生成するのではなく、仮想...
-これはx86だけを考えるのなら明らかに無駄です。x86だけ考え...
-今はx86やx64が主流ですが、今後もそうであるかは不明です。...
-そういうVMレイヤがあったほうがよいのだとしても、自分でわ...
-しかしこれはうまい方法ではないと思います。なぜならx86よ...
-またx86は32bitもしくは64bitですが、遠い将来はもっと幅の...
-ということで、VMレイヤの機械語の仕様は、ビット幅に上限が...
-x86やx64の仕様ではこれらを表現できないので、独自の機械語...
** (2)
-さてES-VMはコンパイラの移植性を高めるためだけの、単なる...
-ES-VMは、レイヤとして最下層であるべきです。つまり、実CPU...
-たとえて言うなら、x86は世代によって内部構成が異なってい...
-つまりデバッグの際にx86の機械語を見たり、x86のマシンのレ...
--「とりあえずES-VMの機械語からx86に変換したよー、それじ...
-私は数年前からJITコンパイラを何度か作っていますが、その...
gcc → アセンブラ → リンカ → 機械語
--こうなっているおかげで、アセンブラはWindowsの実行ファイ...
--gccは、機械語のことを気にしないで、アセンブラを出力すれ...
--こういう積み重ねで、プログラミング言語は進化してきた
--それなのに、JITコンパイラを作ろうとすると、これらのツー...
--つまり、既存ツールは、「より下位の知識が全く不要な世界...
//-gccは内部で何度か変換を繰り返して、最終的にアセンブラ...
-だからもういかなる時もES-VMより下のレイヤの知識がなくて...
** (3)
-今更なのですが、結局私が第一世代OSASKで掲げたエミュレー...
-今は、Javaがあり、.NETがあり、Monoがあり、LLVMがあり、Ja...
-私はES-VMによって、「移植作業のいらない世界」を作りたい...
** (4) 提供される機能
-[1]ES-VMのバイトコードとターゲット情報を渡すと、機械語を...
--これは純粋に単純なフィルタでしかないので、このプログラ...
--ターゲットを現在動作中のものにして、返された関数をすぐ...
--どのラベルがどのアドレスになったかなどの情報も提供する...
--変換に際しては、安全モードと高速モードを提供。
--またステップ実行的なこともできるようにしたい(そういう...
--任意の時点で、ES-VMにおけるレジスタや、ES-VMにおけるメ...
-[2](これは年内に作る予定はないけど)x86の機械語を渡すと...
--これができると、Windowsの実行ファイルが「はりぼてOS」で...
--もちろんx86だけではなく、他のCPUやWindows以外のファイル...
--まあ、5年後とか10年後だよな、たぶん。
-文章にして書いてみると、かなりかつての「エミュレータOS」...
-ES-VMは言語処理系のバックエンドとして考えていたけど、エ...
** (5) エミュレータOSとの対応関係
-エミュレータOSでは、OSとエミュレータドライバが連携するこ...
-ES-VMによる「エミュレータOSもどき」では、たとえばFM-TOWN...
-つまりこれは言語処理系からエミュレータに発展させたという...
-この場合、仮にバイトコードコンパイラが完備していれば、す...
-そしてエミュレータOSの予言のように、OSは性能で競われるよ...
* こめんと欄
-今こそ私は Inferno OS を勉強するべきなんじゃないかという...
#comment
ページ名: