Mercurial > hg > Papers > 2022 > ikki-master
diff 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 |
line wrap: on
line diff
--- a/finalSlide/finalSlide.pdf.html Sat Feb 12 19:59:58 2022 +0900 +++ b/finalSlide/finalSlide.pdf.html Sat Feb 12 21:43:10 2022 +0900 @@ -79,11 +79,12 @@ <ul> <li>GearsOSの分散ファイルシステムの設計と実装を行った <ul> + <li>ファイル構造の設計</li> <li>APIの定義</li> - <li>ファイル構造の設計</li> - <li>遠隔のファイルへのアクセス</li> + <li>遠隔のファイルのアクセスと保存</li> </ul> </li> + <li>GearsOS同様の記述単位な構成</li> <li>自律分散を目指した分散ファイルシステムの設計</li> <li>OSレベルのTransactionによるアプリ実装</li> </ul> @@ -96,17 +97,11 @@ <!-- _S9SLIDE_ --> <h2 id="gearsos">GearsOS</h2> <ul> - <li><strong>CodeGear</strong>と<strong>DataGear</strong>という単位を用いるOS開発プロジェクト</li> - <li>開発途上段階となる</li> - <li>OSの信頼性の向上と拡張性を目指している + <li>CodeGear/DataGearという単位で記述されるOS</li> + <li>OSの信頼性の保証と拡張性を目指している</li> + <li>ノーマルレベルとメタレベルを分離して記述できる <ul> - <li>OSのプログラムは膨大な量となり、検証は困難である</li> - </ul> - </li> - <li>ユーザーが実装したプログラムをメタレベルから検証する - <ul> - <li>ノーマルレベルとメタレベルを分離して記述できる</li> - <li>メタレベル処理を検証用へ切り替えられる</li> + <li>ユーザーが実装したプログラムをメタレベルから検証する</li> <li>定理支援証明系やモデル検査が用いられる</li> </ul> </li> @@ -118,17 +113,23 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="transactionalなファイルシステム">Transactionalなファイルシステム</h2> +<h2 id="codegearとdatagear">CodeGearとDataGear</h2> <ul> - <li>GearsFSはDataGear単位での操作を行う</li> - <li>これによりファイルシステムAPIをTransactionとして実装できる + <li>CodeGear <ul> - <li>従来のOSのファイルシステムは一部を除きTransactionでない</li> - <li>Transactionな操作はアプリケーションレベルで実装される</li> + <li>実行Codeの単位</li> + <li>入力DataGearと出力DataGearを持つ</li> + <li>goto文(jump命令)を使って遷移する</li> + <li>実行単位は途中で割り込みされない(Atmocity)</li> </ul> </li> - <li>Transactionは様々な分類のアプリケーションに利用される</li> - <li>GearsOSによるOSレベルのTransactionアプリケーションの実用検証</li> + <li>DataGear + <ul> + <li>変数にあたり、構造体の型を持つ</li> + <li>ノーマルレベルでは変更されない(関数型プログラミング)</li> + </ul> + </li> + <li>C言語を拡張する形でCbC言語により実装される</li> </ul> @@ -137,18 +138,102 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="gearsosのファイルシステムの設計と実装">GearsOSのファイルシステムの設計と実装</h2> +<h2 id="codegearとdatagear-1">CodeGearとDataGear</h2> +<ul> + <li>InputDataGearを受け取って、CodeGearが処理し、OutputDataGearを出力する</li> + <li>OutputDataGearは次のCodeGearのInputDataGearとなる</li> +</ul> +<div style="text-align: center;"> + <img src="images/cg-dg.pdf" alt="cgdgの関係図" width="600" /> +</div> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="gearsosにおけるファイル">GearsOSにおけるファイル</h2> <ul> - <li>CodeGear/DataGear単位で構成される</li> - <li>ファイルは複数のQueueを持つリストとして実装される</li> - <li>APIはPut/Take/Peek + <li>ファイルデータの最小単位はDataGearとなる <ul> - <li>key アクセスによるデータ参照</li> - <li>プロトコルを用いないデータアクセス手法</li> + <li>任意の構造体で構成できる</li> + </ul> + </li> + <li>ファイルデータとなるDataGearはQueueに格納される</li> +</ul> +<div style="text-align: center;"> + <img src="images/QueueElement.pdf" alt="Queue" width="800" /> +</div> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="gearsosにおけるファイル-1">GearsOSにおけるファイル</h2> +<ul> + <li>ファイルは複数のQueueを持つ赤黒木である + <ul> + <li>Queueはkeyでアクセスされる</li> + <li>Queueはstreamの役割を持つ</li> </ul> </li> - <li>分散フレームワークChristieの仕組みを用いる</li> - <li>将来的にAPIの正当性は定理支援証明系で検証を行う</li> +</ul> + +<div style="text-align: center;"> + <img src="images/newGearsFile.pdf" alt="Queue" width="400" /> +</div> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="gearsosの分散ファイルシステム">GearsOSの分散ファイルシステム</h2> +<ul> + <li>GearsOSのファイルは通信の役割も持つ</li> + <li>規格が決められたプロトコルを用いない + <ul> + <li>最低限のデータ(DataGear)でのみ通信を行う</li> + <li>分散通信の見通しの確保を目指す</li> + </ul> + </li> + <li>将来的にAPIと通信プロセスは定理支援証明系Agdaで検証を行う</li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="transactionalなファイルシステム">Transactionalなファイルシステム</h2> +<ul> + <li>GearsFSはDataGear単位で操作を行う</li> + <li>これによりAPIをTransactionとして実装できる + <ul> + <li>従来ではアプリケーションレベルで実装される</li> + </ul> + </li> + <li>Transactionは様々な分類のアプリケーションに必要となる</li> + <li>GearsOSによるOSレベルのTransactionを用いた開発物の検証を兼ねる</li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="ポスターセッション">ポスターセッション</h2> +<ul> + <li>ファイル構造の詳細</li> + <li>ファイルアクセスAPI</li> + <li>proxyを用いたファイル通信の構成解説</li> + <li>研究のまとめと課題</li> </ul> </div>