annotate Slide/prosym.md @ 2:60405cc47b3a

chapter1
author tobaru
date Tue, 15 May 2018 19:47:01 +0900
parents 413d0470a44f
children 7f5c0330e711
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
tobaru
parents:
diff changeset
1 title: Gears OS のモジュール化と並列 API
tobaru
parents:
diff changeset
2 author: Mitsuki Miyagi, Yu Tobaru, Shinji Kono
tobaru
parents:
diff changeset
3 profile: 琉球大学
tobaru
parents:
diff changeset
4 lang: Japanese
tobaru
parents:
diff changeset
5 code-engine: coderay
tobaru
parents:
diff changeset
6
tobaru
parents:
diff changeset
7 # OS の信頼性
tobaru
parents:
diff changeset
8 - コンピュータの信頼性の基本はメモリなどの資源管理を行う OS である。
tobaru
parents:
diff changeset
9 - OS は非決定的な実行を持つため、OS の信頼性を保証するには、証明を用いる方法とプログラムの可能な実行を全て数え上げるモデル検査を用いる必要がある。
tobaru
parents:
diff changeset
10 - 従来のテストとデバッグではテスト仕切れない部分が残ってしまい、不十分。
tobaru
parents:
diff changeset
11 - モデル検査は無限の状態でなくても巨大な状態を調べる事になり、状態を有限に制限したり、状態を抽象化したりする方法が用いられる。
tobaru
parents:
diff changeset
12
tobaru
parents:
diff changeset
13 # OS の拡張性
tobaru
parents:
diff changeset
14 - 時代とともに進歩するハードウェア、サービスに対応するために OS 自体が拡張される必要がある。
tobaru
parents:
diff changeset
15 - OS を検証する際にも、1度ではなくアプリケーションやサービス、デバイスが新しくなる毎に検証をやり直す必要がある。
tobaru
parents:
diff changeset
16
tobaru
parents:
diff changeset
17 # OS の拡張性と信頼性の両立
tobaru
parents:
diff changeset
18 - OSの拡張性と信頼性の観点から、OS は信頼性と拡張性を両立させることが重要であるといえる。
tobaru
parents:
diff changeset
19 - 本研究室では、OS の信頼性の保証と拡張性を実現することを目標に Gears OS を設計中である。
tobaru
parents:
diff changeset
20 - par gotoかAPIの説明まで書く?
tobaru
parents:
diff changeset
21
2
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
22 # メタ計算
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
23 - ノーマルレベルの計算
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
24 - コンピュータの計算はプログラミング言語で計算される。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
25 - その部分をノーマルレベルの計算と呼ぶ。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
26 - メタレベルの計算
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
27 - コードが実行される際の以下の部分が、メタレベルの計算という。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
28 - 処理系の詳細や使用する資源
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
29 - コードの仕様や型などの言語以外の部分
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
30
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
31 # CbC
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
32 - ノーマルレベルとメタレベルの計算を1つの言語で表現できる言語として、本研究室で設計した CbC(Continuation based C) を用いる。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
33 - CbC を用いることで、ノーマルレベルの計算の信頼性をメタレベルから保証できるようになる。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
34 - CbC は関数呼び出し時の暗黙の環境を使わずに、コードの単位を行き来できる引数付き goto 文を持つ C と互換性のある言語である。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
35 - CbC を用いてCode Gear と Data Gear、メタ構造を導入する。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
36
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
37 # Gears OS
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
38 - CbC を用いて導入したCode Gear、Data Gear、メタ構造を用いて、検証された Gears OS を構築したい。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
39 - 検証には 定理証明支援系である Agda を用いる。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
40 - Gears の記述をモジュール化するために Interface を導入した。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
41 - さらに並列処理の記述ように par goto 構文を導入する。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
42
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
43 # par goto の実行
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
44 - 本論文では Interface と par goto の実装を記述し、評価を行なった。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
45 - また、マルチ CPU と GPU 上での par goto 文の実行を確認した。
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
46
0
tobaru
parents:
diff changeset
47 # スライドの流れ
2
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
48 - <font color="red">Gears OS におけるメタ計算</font>
0
tobaru
parents:
diff changeset
49 - Interface
tobaru
parents:
diff changeset
50 - Context
tobaru
parents:
diff changeset
51 - Gears OS の並列処理
tobaru
parents:
diff changeset
52 - Synchronized Queue
tobaru
parents:
diff changeset
53 - 並列構文
tobaru
parents:
diff changeset
54 - 比較
tobaru
parents:
diff changeset
55 - 今後の課題
tobaru
parents:
diff changeset
56
2
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
57 # Gears OS におけるメタ計算
0
tobaru
parents:
diff changeset
58
2
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
59
60405cc47b3a chapter1
tobaru
parents: 0
diff changeset
60 # Gaears OS の構成
0
tobaru
parents:
diff changeset
61
tobaru
parents:
diff changeset
62 # Interface
tobaru
parents:
diff changeset
63
tobaru
parents:
diff changeset
64 # Context
tobaru
parents:
diff changeset
65
tobaru
parents:
diff changeset
66
tobaru
parents:
diff changeset
67 # Gears OS の並列処理
tobaru
parents:
diff changeset
68
tobaru
parents:
diff changeset
69 # Synchronized Queue
tobaru
parents:
diff changeset
70
tobaru
parents:
diff changeset
71 # 並列構文
tobaru
parents:
diff changeset
72
tobaru
parents:
diff changeset
73 # 比較
tobaru
parents:
diff changeset
74
tobaru
parents:
diff changeset
75 # 今後の課題
tobaru
parents:
diff changeset
76