Mercurial > hg > Papers > 2023 > nana-sigos
diff codedb.ind @ 0:977222ed78ab
first commit
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 14 Apr 2023 20:27:47 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/codedb.ind Fri Apr 14 20:27:47 2023 +0900 @@ -0,0 +1,69 @@ +-title: Gears OS の Code Database + +--従来のOS + +a.out にいろいろ入ってる + +shared library + +同じものがそこら中に + +関数は実行前に linker が接続する + +--Smalltalk / Lisp machine + +byte code method が meory 上にある + +同じものが重複しても良い + +oblist に名前と関数の対応が入ってる + +--code Gear + +context から番号で参照される + +引数は context から stub 経由で取り込まれる + +--code gear database + +番号で参照される codeGear を入れる database + +--code set + +context に入れて動かす code Gear を決める + +実行時に変更されるかも知れない + +番号と関数のアドレスの対応を用意する必要がある + + これが a.out に対応する + +対応表は構造をもっていても良い + +--Linker / Loader が不要 + +かなり簡単になる + +context の表を設定するものを書けば良い -- もちろん codeGear / dataGear + +--現在の Gears OS + +context の表はコンパイル時に構成されて最適化されている + +実行時に構築すると最適化されない + + JIT変換する方が望ましい + +context の実行時再構成が必要になる + +--code gear databas の検索 + +どうやって検索する? + + interface name は ad-hoc + +中身で検索する? code 自体と型自体 + +code 自体の記述は? + +とりあえずは ad-hoc でよいが...