# HG changeset patch
# User mir3636
# Date 1516235252 -32400
# Node ID 016ee461da2a55326da3684f2f0330d5589c4fe7
# Parent b802c7ffb24988eadb1733165631023849efd1cc
fix
diff -r b802c7ffb249 -r 016ee461da2a Slide/prosym.html
--- a/Slide/prosym.html Wed Jan 17 13:26:35 2018 +0900
+++ b/Slide/prosym.html Thu Jan 18 09:27:32 2018 +0900
@@ -86,32 +86,74 @@
-
OS の拡張性と信頼性の両立
+Gears OS
+
+
+
+
+
+
+
+
メタレベルの計算
-
さまざまなコンピュータの信頼性の基本はメモリなどの資源管理を行う OS である。
+
+ - プログラムを記述する際、ノーマルレベルの処理の他に、メモリ管理やスレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。これらの計算をメタ計算と呼ぶ。
+ - メタ計算をノーマルレベルの計算から切り離して記述したい。
+ - 本研究ではノーマルレベルとメタレベルを共通して表現できる言語として Continuation based C を用いる。
+
+
+
+
+
+
+
Continuation based C (CbC)
+
+
-
メタ計算の重要性
+
メタ計算の重要性
- プログラムを記述する際、ノーマルな処理の他に、メモリ管理やスレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。これらの計算をメタ計算と呼ぶ。
- メタ計算はノーマルな計算から切り離して記述したい。
@@ -282,13 +324,13 @@
-
比較
+比較
-
今後の課題
+
今後の課題
- 本研究では interface の記述、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う perl スクリプトの生成を行なった。
- これにより Gears OS のコードの煩雑さは改善され、ユーザーは Context への接続を意識する必要がなくなった。
diff -r b802c7ffb249 -r 016ee461da2a Slide/prosym.md
--- a/Slide/prosym.md Wed Jan 17 13:26:35 2018 +0900
+++ b/Slide/prosym.md Thu Jan 18 09:27:32 2018 +0900
@@ -4,14 +4,14 @@
lang: Japanese
code-engine: coderay
-
-信頼性をノーマルレベルの計算に対して保証し、拡張性をメタレベルの計算で実現することを目標に Gears OS を設計中である。
+- 信頼性をノーマルレベルの計算に対して保証し、拡張性をメタレベルの計算で実現することを目標に Gears OS を設計中である。
+
# OS の拡張性と信頼性の両立
@@ -31,6 +30,7 @@
これに対処するため には、証明を用いる方法とプログラムの可能な実行をすべて数え上げるモデル検査を用いる方法がある。
検証は一度ですむものではなく、アプリケーションやサービス、デバイスが新しくなることに検証をやり直す必要がある。
このため信頼性と拡張性を両立させることが重要である。
+-->
# メタ計算の重要性
-- プログラムを記述する際、ノーマルな処理の他に、メモリ管理やスレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。これらの計算をメタ計算と呼ぶ。
-- メタ計算はノーマルな計算から切り離して記述したい。
+- プログラムを記述する際、ノーマルレベルの処理の他に、メモリ管理やスレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。これらの計算をメタ計算と呼ぶ。
+- メタ計算はノーマルレベルの計算から切り離して記述したい。
- そのためには処理を細かく分割する必要があるが、関数やクラスなどの単位は容易に分割できない。
- そこで当研究室ではメタ計算を柔軟に記述するためのプログラミング言語の単位として Code Gear、Data Gear という単位を提案している。
+
# Continuation based C (CbC)
- Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。
- CbC では Code Gear は \_\_code という型を持つ関数の構文で定義される。
+
+# CbC のコード例
- Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。
- goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。
- この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。