view 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
line wrap: on
line source

<html>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<head>
<STYLE type="text/css">
.main { width:100%; }
.side { top:0px; width:0%; position:fixed; left:80%; display:none}
</STYLE>
<script type="text/javascript">
function showElement(layer){
    var myLayer = document.getElementById(layer);
    var main = document.getElementById('mmm');
    if(myLayer.style.display=="none"){
        myLayer.style.width="20%";
        main.style.width="80%";
        myLayer.style.display="block";
        myLayer.backgroundPosition="top";
    } else { 
        myLayer.style.width="0%";
        main.style.width="100%";
        myLayer.style.display="none";
    }
}
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-script" async
  src="https://cdn.jsdelivr.net/npm/mathjax/es5/tex-chtml.js">
</script>
<title>Gears OS の Code Database</title>
</head>
<body>
<div class="main" id="mmm">
<h1>Gears OS の Code Database</h1>
<a href="#" right="0px" onclick="javascript:showElement('menu')">
<span>Menu</span>
</a>
<a href="#" left="0px" onclick="javascript:showElement('menu')">
<span>Menu</span>
</a>

<p>

<hr/>
<h2><a name="content000">従来のOS</a></h2>
a.out  にいろいろ入ってる
<p>
shared library 
<p>
同じものがそこら中に
<p>
関数は実行前に linker が接続する
<p>

<hr/>
<h2><a name="content001">Smalltalk / Lisp machine</a></h2>
byte code method が meory 上にある
<p>
同じものが重複しても良い
<p>
oblist に名前と関数の対応が入ってる
<p>

<hr/>
<h2><a name="content002">code Gear</a></h2>
context から番号で参照される
<p>
引数は context から stub 経由で取り込まれる
<p>

<hr/>
<h2><a name="content003">code gear database</a></h2>
番号で参照される codeGear を入れる database
<p>

<hr/>
<h2><a name="content004">code set</a></h2>
context に入れて動かす code Gear を決める
<p>
実行時に変更されるかも知れない
<p>
番号と関数のアドレスの対応を用意する必要がある 
<p>

<pre>
  これが a.out に対応する

</pre>
対応表は構造をもっていても良い
<p>

<hr/>
<h2><a name="content005">Linker / Loader が不要</a></h2>
かなり簡単になる
<p>
context の表を設定するものを書けば良い -- もちろん codeGear / dataGear
<p>

<hr/>
<h2><a name="content006">現在の Gears OS</a></h2>
context の表はコンパイル時に構成されて最適化されている
<p>
実行時に構築すると最適化されない 
<p>

<pre>
   JIT変換する方が望ましい

</pre>
context の実行時再構成が必要になる
<p>

<hr/>
<h2><a name="content007">code gear databas の検索</a></h2>
どうやって検索する?
<p>

<pre>
   interface name は ad-hoc

</pre>
中身で検索する? code 自体と型自体
<p>
code 自体の記述は?
<p>
とりあえずは ad-hoc でよいが...</div>
<ol class="side" id="menu">
Gears OS の Code Database
<li><a href="#content000">  従来のOS</a>
<li><a href="#content001">  Smalltalk / Lisp machine</a>
<li><a href="#content002">  code Gear</a>
<li><a href="#content003">  code gear database</a>
<li><a href="#content004">  code set</a>
<li><a href="#content005">  Linker / Loader が不要</a>
<li><a href="#content006">  現在の Gears OS</a>
<li><a href="#content007">  code gear databas の検索</a>
</ol>

<hr/> Shinji KONO <kono@ie.u-ryukyu.ac.jp> /  Tue Jun 29 17:57:23 2021
</body></html>