Mercurial > hg > Papers > 2023 > nana-sigos
comparison codedb.html @ 0:977222ed78ab
first commit
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 14 Apr 2023 20:27:47 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:977222ed78ab |
---|---|
1 <html> | |
2 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> | |
3 <head> | |
4 <STYLE type="text/css"> | |
5 .main { width:100%; } | |
6 .side { top:0px; width:0%; position:fixed; left:80%; display:none} | |
7 </STYLE> | |
8 <script type="text/javascript"> | |
9 function showElement(layer){ | |
10 var myLayer = document.getElementById(layer); | |
11 var main = document.getElementById('mmm'); | |
12 if(myLayer.style.display=="none"){ | |
13 myLayer.style.width="20%"; | |
14 main.style.width="80%"; | |
15 myLayer.style.display="block"; | |
16 myLayer.backgroundPosition="top"; | |
17 } else { | |
18 myLayer.style.width="0%"; | |
19 main.style.width="100%"; | |
20 myLayer.style.display="none"; | |
21 } | |
22 } | |
23 </script> | |
24 <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> | |
25 <script type="text/javascript" id="MathJax-script" async | |
26 src="https://cdn.jsdelivr.net/npm/mathjax/es5/tex-chtml.js"> | |
27 </script> | |
28 <title>Gears OS の Code Database</title> | |
29 </head> | |
30 <body> | |
31 <div class="main" id="mmm"> | |
32 <h1>Gears OS の Code Database</h1> | |
33 <a href="#" right="0px" onclick="javascript:showElement('menu')"> | |
34 <span>Menu</span> | |
35 </a> | |
36 <a href="#" left="0px" onclick="javascript:showElement('menu')"> | |
37 <span>Menu</span> | |
38 </a> | |
39 | |
40 <p> | |
41 | |
42 <hr/> | |
43 <h2><a name="content000">従来のOS</a></h2> | |
44 a.out にいろいろ入ってる | |
45 <p> | |
46 shared library | |
47 <p> | |
48 同じものがそこら中に | |
49 <p> | |
50 関数は実行前に linker が接続する | |
51 <p> | |
52 | |
53 <hr/> | |
54 <h2><a name="content001">Smalltalk / Lisp machine</a></h2> | |
55 byte code method が meory 上にある | |
56 <p> | |
57 同じものが重複しても良い | |
58 <p> | |
59 oblist に名前と関数の対応が入ってる | |
60 <p> | |
61 | |
62 <hr/> | |
63 <h2><a name="content002">code Gear</a></h2> | |
64 context から番号で参照される | |
65 <p> | |
66 引数は context から stub 経由で取り込まれる | |
67 <p> | |
68 | |
69 <hr/> | |
70 <h2><a name="content003">code gear database</a></h2> | |
71 番号で参照される codeGear を入れる database | |
72 <p> | |
73 | |
74 <hr/> | |
75 <h2><a name="content004">code set</a></h2> | |
76 context に入れて動かす code Gear を決める | |
77 <p> | |
78 実行時に変更されるかも知れない | |
79 <p> | |
80 番号と関数のアドレスの対応を用意する必要がある | |
81 <p> | |
82 | |
83 <pre> | |
84 これが a.out に対応する | |
85 | |
86 </pre> | |
87 対応表は構造をもっていても良い | |
88 <p> | |
89 | |
90 <hr/> | |
91 <h2><a name="content005">Linker / Loader が不要</a></h2> | |
92 かなり簡単になる | |
93 <p> | |
94 context の表を設定するものを書けば良い -- もちろん codeGear / dataGear | |
95 <p> | |
96 | |
97 <hr/> | |
98 <h2><a name="content006">現在の Gears OS</a></h2> | |
99 context の表はコンパイル時に構成されて最適化されている | |
100 <p> | |
101 実行時に構築すると最適化されない | |
102 <p> | |
103 | |
104 <pre> | |
105 JIT変換する方が望ましい | |
106 | |
107 </pre> | |
108 context の実行時再構成が必要になる | |
109 <p> | |
110 | |
111 <hr/> | |
112 <h2><a name="content007">code gear databas の検索</a></h2> | |
113 どうやって検索する? | |
114 <p> | |
115 | |
116 <pre> | |
117 interface name は ad-hoc | |
118 | |
119 </pre> | |
120 中身で検索する? code 自体と型自体 | |
121 <p> | |
122 code 自体の記述は? | |
123 <p> | |
124 とりあえずは ad-hoc でよいが...</div> | |
125 <ol class="side" id="menu"> | |
126 Gears OS の Code Database | |
127 <li><a href="#content000"> 従来のOS</a> | |
128 <li><a href="#content001"> Smalltalk / Lisp machine</a> | |
129 <li><a href="#content002"> code Gear</a> | |
130 <li><a href="#content003"> code gear database</a> | |
131 <li><a href="#content004"> code set</a> | |
132 <li><a href="#content005"> Linker / Loader が不要</a> | |
133 <li><a href="#content006"> 現在の Gears OS</a> | |
134 <li><a href="#content007"> code gear databas の検索</a> | |
135 </ol> | |
136 | |
137 <hr/> Shinji KONO <kono@ie.u-ryukyu.ac.jp> / Tue Jun 29 17:57:23 2021 | |
138 </body></html> |