view codedb.ind @ 3:94599d58426f

fix mindmap
author nana
date Sun, 16 Apr 2023 22:34:49 +0900
parents 977222ed78ab
children
line wrap: on
line source

-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 でよいが...