# HG changeset patch # User menikon # Date 1581534389 -32400 # Node ID 18edad46e821ac113bb4991f14917a30a3ac931f # Parent c8fee0262eada0aa181bbc70af0d623f7543503c tweak diff -r c8fee0262ead -r 18edad46e821 final_main/chapter1.tex --- a/final_main/chapter1.tex Thu Feb 13 01:50:45 2020 +0900 +++ b/final_main/chapter1.tex Thu Feb 13 04:06:29 2020 +0900 @@ -5,5 +5,9 @@ %序論の目安としては1枚半ぐらい. %英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも. - - +OS には信頼性の保証と拡張性の実現が求められている。信頼性をノーマルレベルの計算に対して保証し、拡張性をメタレベルの計算で実現することを目標に Continuation based C (CbC) を用いて Gears OS を開発中である。前段階としてシンプルであるがプロセス、仮想メモリ、カーネルとユーザーの分離、割り込み、ファイルシステムなど Unix の基本的な構造を持っている OS である xv6 を CbC で書き換えている。 +CbC は Code Gear という基本的な処理の単位と Data Gear というデータの単位を用いる。細かい処理に対してノーマルレベルとメタレベルの Code Gear を記述し、stack に値を積む事なく CodeGear 間を遷移することができる。 stack が無い事に よって OS 内部の明確化が実現できる。 +Code Gear に対して入力の Data Gear と 出力の Data Gear が存在し、入力に対して期待される出力がされてるか検査することで信頼性を保証する。 +CbC の Interface は Gears OS のモジュール化の仕組みである。この Interface は、Java の Interface や Haskell の型クラスに対応し、導入することで仕様と実装に分けて記述することが出来る。 +Interface を使うことで検証や機能の入れ替えによる拡張が可能となる。 +本論文では、xv6 の FileSystem をCbCによって書き換えることにより 複雑な処理である FileSystem を明確化させ信頼性を保証、 Interface を使用可能とすることで拡張性を実現することを目標とする。 diff -r c8fee0262ead -r 18edad46e821 final_main/chapter5.tex --- a/final_main/chapter5.tex Thu Feb 13 01:50:45 2020 +0900 +++ b/final_main/chapter5.tex Thu Feb 13 04:06:29 2020 +0900 @@ -28,7 +28,7 @@ CodeGaer は 2 行目から 9 行目のように ”\_\_code [CodeGear 名]([引数])”で記述する。この引数が input Data Gear になる。 \section{FileSystem の Interface の実装} - +Interface の実装はソースコード\ref{fs_interface_impl}で示すように Interfaceとは別に定義する。 \lstinputlisting[label=fs_interface_impl, caption=FileSystem の Interface の実装(fs\_impl.cbc 一部抜粋)]{src/fs_impl1.cbc} 2 行目のようにインターフェースのヘッダーファイルは \#include ではなく \#interface で呼び出す。 diff -r c8fee0262ead -r 18edad46e821 final_main/main.pdf Binary file final_main/main.pdf has changed