changeset 8:a6372acc8f0e

fix
author mir3636
date Fri, 22 Dec 2017 17:22:47 +0900
parents f57143305847
children e61e468bf6fc
files Paper/main.tex
diffstat 1 files changed, 24 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/Paper/main.tex	Thu Dec 21 18:57:57 2017 +0900
+++ b/Paper/main.tex	Fri Dec 22 17:22:47 2017 +0900
@@ -230,18 +230,18 @@
 
 %\lstinputlisting[label=excbc, caption=CbC で記述された stack のコード]{./src/ex_stack.cbc}
 
-\section{interface と implement}
-interface は呼び出しの引数になる Data Gear の集合であり、そこで呼び出される Code Gear のエントリである。
+\section{Interface}
+Interface は呼び出しの引数になる Data Gear の集合であり、そこで呼び出される Code Gear のエントリである。
 呼び出される Code Gear の引数となる Data Gear はここで全て定義される。
 
-Code\ref{interface}は stack の interface である。
+Code\ref{interface}は stack の Interface である。
 Code Gear、Data Gear に参照するために Context を通す必要があるが、
-interface を記述することでデータ構造の api と Data Gear を結びつけることが出来、呼び出しが容易になった。
+Interface を記述することでデータ構造の api と Data Gear を結びつけることが出来る。
 
 \lstinputlisting[label=interface, caption=Interface]{./src/Stack.cbc}
 
-Code\ref{implement}は stack の implement の例である。 
-createImpl は関数呼び出しで呼び出され、interface と implement の初期化と Code Gear のポインタの設定を行う。
+Code\ref{implement}は stack の Implement の例である。 
+createImpl は関数呼び出しで呼び出され、Implement の初期化と Code Gear のスロットに対応する Code Gear の番号を入れる。
 %return で interface を返し、その先で Code Gear や Data Gear へ継続できるようになる。
 
 \lstinputlisting[label=implement, caption=Implement]{./src/stackimpl.cbc}
@@ -259,12 +259,6 @@
 %\lstinputlisting[label=gearef1, caption=定義前のコード]{./src/ex_code1}
 %\lstinputlisting[label=gearef2, caption=Gearef、GearImplを用いたコード]{./src/ex_code2}
 
-%\section{stub Code Gear}
-%Code Gear が必要とする Data Gear を取り出す際に Context を通す必要があるが、
-%Context を直接扱うのはセキュリティ上好ましくない。
-%そこで Context から必要なデータを取り出して Code Gear に接続する stub Code Gear を定義し、これを介して間接的に必要な Data Gear にアクセスする。
-%stub Code Gear は Code Gear 毎に生成され、次の Code Gear へと継続する間に挟まれる。
-
 \section{stub Code Gear の生成}
 
 Gears OS を CbC で実装する上でメタ計算の記述が煩雑であることがわかった。
@@ -313,8 +307,26 @@
 \lstinputlisting[label=init_context, caption=生成されたinitContext]{./src/gencontext.c}
 
 %\section{比較}
+%従来の OS は、ユーザーレベルとシステムレベルを持っているが、
+%システムレベルではメタ計算の分離ができない。
+%しかし Gears ではメタ計算を Meta Code Gear 単位で記述するため、メタ計算を階層化できる。
+%また既存の OS ではプロセスやファイルが型を持っていないが、Gears は型を持っている。
+%既存のOSでメタ計算を使おうとするとOSを書き換える必要がある。
+
+%リアルタイムモニタ
+%OSの一種の簡略バージョン
+%Gearsに近い
+%APIを使って資源管理を行う
+%Gears OSの場合はメタ計算を使って行う 
+
+%GPGPU
+
 %\section{結論}
 
+%GearsOSのメタ計算部分の実装例を示した
+%メタ計算の有効性
+%Interfaceの有用性
+
 \section{今後の課題}
 本研究では LLVM/Clang のデバッグ、interface の記述、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う Perl スクリプトの生成を行なった。
 これにより Gears OS のコードの煩雑さは改善され、ユーザーは Context への接続を意識する必要がなくなった。