changeset 10:8550077113b9

fix
author mir3636
date Fri, 22 Dec 2017 22:53:23 +0900
parents e61e468bf6fc
children 490464faf432
files Paper/main.tex
diffstat 1 files changed, 21 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Paper/main.tex	Fri Dec 22 21:31:15 2017 +0900
+++ b/Paper/main.tex	Fri Dec 22 22:53:23 2017 +0900
@@ -171,7 +171,7 @@
  \label{fig:metaCS}
 \end{figure}
 
-Gears OS は Context と呼ばれる接続可能な Code Gear、Data Gear のリスト、Temporal Data Gear のためのメモリ空間等を持っている Meta Data Gear を持つ。
+Gears OS は Context と呼ばれる使用されるすべての Code Gear、Data Gear 持っている Meta Data Gear を持つ。
 Gears OS は必要な Code Gear、Data Gear に参照したい場合、この Context を通す必要がある。
 
 しかし Context を通常の計算から直接扱うのはセキュリティ上好ましくない。
@@ -212,7 +212,7 @@
 Data Gear は union と struct によって表現される。
 Context には Data Gear の Data Type の情報が格納されている。
 この情報から確保する Data Gear のサイズなどを決定する。
-Temporal Data Gear のためのメモリ空間は Context 毎に異なり、互いに干渉することはできない。
+%Temporal Data Gear のためのメモリ空間は Context 毎に異なり、互いに干渉することはできない。
 
 Context は Task でもあり、Taskは通常のOSのスレッドに対応する。
 Task は実行する Code Gear と Data Gear をすべて持っている。
@@ -328,8 +328,25 @@
 %Interfaceの有用性
 
 \section{今後の課題}
-本研究では LLVM/Clang のデバッグ、interface の記述、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う Perl スクリプトの生成を行なった。
-これにより Gears OS のコードの煩雑さは改善され、ユーザーは Context への接続を意識する必要がなくなった。
+本論文では Code Gear、 Data Gear によって構成される Gears OS のプロトタイプの設計、実装、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う Perl スクリプトの生成を行なった。
+Code Gear 、Data Gear を処理とデータの単位として用いて Gears OS を設計した。
+Code Gear、Data Gear にはメタ計算を記述するための Meta Code Gear、Meta Data Gear が存在する。
+メタ計算を Meta Code Gear、によって行うことでメタ計算を階層化して行うことができる。
+Code Gear は関数より細かく分割されてるためメタ計算を柔軟に記述できる。
+
+Code Gear と Data Gear は Interface と呼ばれるまとまりとして記述される。
+Interface は使用される Data Gear の定義と、それに対する操作を行う Code Gear の集合である。
+Interface は複数の実装をもち、Meta Data Gear として定義される。
+従来の関数呼び出しでは引数をスタック上に構成し、関数の実装アドレスを Call するが、
+Gears OS では引数は Context 上に用意された Interface の Data Gear に格納され、操作に対応する Code Gear に goto する。
+
+Context は使用する Code Gear、Data Gear をすべて格納している Meta Data Gear である。
+通常の計算から Context を直接扱うことはセキュリティ上好ましくない。
+このため Context から必要なデータを取り出して Code Gear に接続する Meta Code Gear である stub Code Gear を定義した。
+stub Code Gear は Code Gear 毎に記述され、Code Gear 間の遷移に挿入される。
+
+これらのメタ計算の記述は煩雑であるため Perl スクリプトによる自動生成を行なった。 
+これにより Gears OS のコードの煩雑さは改善され、ユーザーレベルではメタを意識する必要がなくなった。
 
 今後の課題は Code Gear からメタ計算を行う meta Code Gear を生成できるようにし、ユーザーがメタレベルの処理を意識せずにコードを記述できるようにする。
 また、今回 Perl スクリプトによって Context や stub の生成を行なったが、LLVM/clang 上で実装しコンパイラで直接 CbC を実行できるようにすることを目的とする。