comparison finalSlide/finalSlide.pdf.html @ 33:ab77a291294d

tweak finalSlide
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Sat, 12 Feb 2022 21:43:10 +0900
parents fa31358d38f1
children 181eec546ad2
comparison
equal deleted inserted replaced
32:fa31358d38f1 33:ab77a291294d
77 <!-- _S9SLIDE_ --> 77 <!-- _S9SLIDE_ -->
78 <h2 id="概要">概要</h2> 78 <h2 id="概要">概要</h2>
79 <ul> 79 <ul>
80 <li>GearsOSの分散ファイルシステムの設計と実装を行った 80 <li>GearsOSの分散ファイルシステムの設計と実装を行った
81 <ul> 81 <ul>
82 <li>ファイル構造の設計</li>
82 <li>APIの定義</li> 83 <li>APIの定義</li>
83 <li>ファイル構造の設計</li> 84 <li>遠隔のファイルのアクセスと保存</li>
84 <li>遠隔のファイルへのアクセス</li> 85 </ul>
85 </ul> 86 </li>
86 </li> 87 <li>GearsOS同様の記述単位な構成</li>
87 <li>自律分散を目指した分散ファイルシステムの設計</li> 88 <li>自律分散を目指した分散ファイルシステムの設計</li>
88 <li>OSレベルのTransactionによるアプリ実装</li> 89 <li>OSレベルのTransactionによるアプリ実装</li>
89 </ul> 90 </ul>
90 91
91 92
94 95
95 <div class='slide'> 96 <div class='slide'>
96 <!-- _S9SLIDE_ --> 97 <!-- _S9SLIDE_ -->
97 <h2 id="gearsos">GearsOS</h2> 98 <h2 id="gearsos">GearsOS</h2>
98 <ul> 99 <ul>
99 <li><strong>CodeGear</strong>と<strong>DataGear</strong>という単位を用いるOS開発プロジェクト</li> 100 <li>CodeGear/DataGearという単位で記述されるOS</li>
100 <li>開発途上段階となる</li> 101 <li>OSの信頼性の保証と拡張性を目指している</li>
101 <li>OSの信頼性の向上と拡張性を目指している 102 <li>ノーマルレベルとメタレベルを分離して記述できる
102 <ul> 103 <ul>
103 <li>OSのプログラムは膨大な量となり、検証は困難である</li> 104 <li>ユーザーが実装したプログラムをメタレベルから検証する</li>
104 </ul>
105 </li>
106 <li>ユーザーが実装したプログラムをメタレベルから検証する
107 <ul>
108 <li>ノーマルレベルとメタレベルを分離して記述できる</li>
109 <li>メタレベル処理を検証用へ切り替えられる</li>
110 <li>定理支援証明系やモデル検査が用いられる</li> 105 <li>定理支援証明系やモデル検査が用いられる</li>
111 </ul> 106 </ul>
112 </li> 107 </li>
113 </ul> 108 </ul>
114 109
116 111
117 </div> 112 </div>
118 113
119 <div class='slide'> 114 <div class='slide'>
120 <!-- _S9SLIDE_ --> 115 <!-- _S9SLIDE_ -->
116 <h2 id="codegearとdatagear">CodeGearとDataGear</h2>
117 <ul>
118 <li>CodeGear
119 <ul>
120 <li>実行Codeの単位</li>
121 <li>入力DataGearと出力DataGearを持つ</li>
122 <li>goto文(jump命令)を使って遷移する</li>
123 <li>実行単位は途中で割り込みされない(Atmocity)</li>
124 </ul>
125 </li>
126 <li>DataGear
127 <ul>
128 <li>変数にあたり、構造体の型を持つ</li>
129 <li>ノーマルレベルでは変更されない(関数型プログラミング)</li>
130 </ul>
131 </li>
132 <li>C言語を拡張する形でCbC言語により実装される</li>
133 </ul>
134
135
136
137 </div>
138
139 <div class='slide'>
140 <!-- _S9SLIDE_ -->
141 <h2 id="codegearとdatagear-1">CodeGearとDataGear</h2>
142 <ul>
143 <li>InputDataGearを受け取って、CodeGearが処理し、OutputDataGearを出力する</li>
144 <li>OutputDataGearは次のCodeGearのInputDataGearとなる</li>
145 </ul>
146 <div style="text-align: center;">
147  <img src="images/cg-dg.pdf" alt="cgdgの関係図" width="600" />
148 </div>
149
150
151
152 </div>
153
154 <div class='slide'>
155 <!-- _S9SLIDE_ -->
156 <h2 id="gearsosにおけるファイル">GearsOSにおけるファイル</h2>
157 <ul>
158 <li>ファイルデータの最小単位はDataGearとなる
159 <ul>
160 <li>任意の構造体で構成できる</li>
161 </ul>
162 </li>
163 <li>ファイルデータとなるDataGearはQueueに格納される</li>
164 </ul>
165 <div style="text-align: center;">
166  <img src="images/QueueElement.pdf" alt="Queue" width="800" />
167 </div>
168
169
170
171 </div>
172
173 <div class='slide'>
174 <!-- _S9SLIDE_ -->
175 <h2 id="gearsosにおけるファイル-1">GearsOSにおけるファイル</h2>
176 <ul>
177 <li>ファイルは複数のQueueを持つ赤黒木である
178 <ul>
179 <li>Queueはkeyでアクセスされる</li>
180 <li>Queueはstreamの役割を持つ</li>
181 </ul>
182 </li>
183 </ul>
184
185 <div style="text-align: center;">
186  <img src="images/newGearsFile.pdf" alt="Queue" width="400" />
187 </div>
188
189
190
191 </div>
192
193 <div class='slide'>
194 <!-- _S9SLIDE_ -->
195 <h2 id="gearsosの分散ファイルシステム">GearsOSの分散ファイルシステム</h2>
196 <ul>
197 <li>GearsOSのファイルは通信の役割も持つ</li>
198 <li>規格が決められたプロトコルを用いない
199 <ul>
200 <li>最低限のデータ(DataGear)でのみ通信を行う</li>
201 <li>分散通信の見通しの確保を目指す</li>
202 </ul>
203 </li>
204 <li>将来的にAPIと通信プロセスは定理支援証明系Agdaで検証を行う</li>
205 </ul>
206
207
208
209 </div>
210
211 <div class='slide'>
212 <!-- _S9SLIDE_ -->
121 <h2 id="transactionalなファイルシステム">Transactionalなファイルシステム</h2> 213 <h2 id="transactionalなファイルシステム">Transactionalなファイルシステム</h2>
122 <ul> 214 <ul>
123 <li>GearsFSはDataGear単位での操作を行う</li> 215 <li>GearsFSはDataGear単位で操作を行う</li>
124 <li>これによりファイルシステムAPIをTransactionとして実装できる 216 <li>これによりAPIをTransactionとして実装できる
125 <ul> 217 <ul>
126 <li>従来のOSのファイルシステムは一部を除きTransactionでない</li> 218 <li>従来ではアプリケーションレベルで実装される</li>
127 <li>Transactionな操作はアプリケーションレベルで実装される</li> 219 </ul>
128 </ul> 220 </li>
129 </li> 221 <li>Transactionは様々な分類のアプリケーションに必要となる</li>
130 <li>Transactionは様々な分類のアプリケーションに利用される</li> 222 <li>GearsOSによるOSレベルのTransactionを用いた開発物の検証を兼ねる</li>
131 <li>GearsOSによるOSレベルのTransactionアプリケーションの実用検証</li> 223 </ul>
132 </ul> 224
133 225
134 226
135 227 </div>
136 </div> 228
137 229 <div class='slide'>
138 <div class='slide'> 230 <!-- _S9SLIDE_ -->
139 <!-- _S9SLIDE_ --> 231 <h2 id="ポスターセッション">ポスターセッション</h2>
140 <h2 id="gearsosのファイルシステムの設計と実装">GearsOSのファイルシステムの設計と実装</h2> 232 <ul>
141 <ul> 233 <li>ファイル構造の詳細</li>
142 <li>CodeGear/DataGear単位で構成される</li> 234 <li>ファイルアクセスAPI</li>
143 <li>ファイルは複数のQueueを持つリストとして実装される</li> 235 <li>proxyを用いたファイル通信の構成解説</li>
144 <li>APIはPut/Take/Peek 236 <li>研究のまとめと課題</li>
145 <ul>
146 <li>key アクセスによるデータ参照</li>
147 <li>プロトコルを用いないデータアクセス手法</li>
148 </ul>
149 </li>
150 <li>分散フレームワークChristieの仕組みを用いる</li>
151 <li>将来的にAPIの正当性は定理支援証明系で検証を行う</li>
152 </ul> 237 </ul>
153 238
154 </div> 239 </div>
155 240
156 241