Mercurial > hg > Papers > 2022 > matac-thesis
changeset 41:ac9b7aa9bb06
fix img
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 31 Jan 2022 12:45:35 +0900 |
parents | 18265abe9d74 |
children | 830aa46eba7f |
files | bin/output.pdf paper/figs/inode.png paper/text/chapter2.tex paper/thesis.pdf paper/thesis.tex slide/slide.html slide/slide.md slide/slide.pdf.html |
diffstat | 8 files changed, 62 insertions(+), 35 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/text/chapter2.tex Mon Jan 31 02:52:18 2022 +0900 +++ b/paper/text/chapter2.tex Mon Jan 31 12:45:35 2022 +0900 @@ -25,7 +25,7 @@ function callは前の関数へ戻る場合があり,そのためにcall stackを保存する. CbCの継続はfunction callをせずにgotoによるjmpで行われる. jmpはfunction callと異なり,call stackのような環境を保存しない. -よってCbCの継続は関数の繊維と比較して軽量であるといえる. +よってCbCのgotoによる継続はfunction callによる継続と比較して軽量であるといえる. そのことからCbCにおける継続をfunction callにおける継続と区別して,軽量継続と呼ぶ. \section{CbCの記述例} @@ -77,17 +77,16 @@ メタレベルを切り分けた意味がなくなってしまうためである. 図\ref{fig:context}はContextを参照する流れを表したものである. -まずCodeGearがOutputDataGearへデータをoutputし,次のstubCodeGearへContextを参照しgotoを行う. -この際直接参照はせず,goto metaを経由しgotoを行う. -stubCodeGearはInputDataGear(前のCodeGearのOutputDataGear)とOutputDataGearを参照し,次のCodeGearへgotoを行う. -CodeGearでの処理後,OutputDataGearへデータをoutputし,次のstubCodeGearへgotoを行う. +まずCodeGearがOutputDataGearへデータをoutputする. +stubCodeGearはInputDataGear(前のCodeGearのOutputDataGear)とOutputDataGearをContextから参照し,次のCodeGearへgotoを行う. +CodeGearでの処理後,OutputDataGearへデータをoutputする. Contextはいくつかの種類に分けることができる. OS全体のContextを管理するKernel Contextやユーザープログラムごとに存在するUser Context, CPUやGPUごとに存在するCPU Contextがある. \begin{figure}[ht] \begin{center} - \includegraphics[width=130mm]{figs/context.png} + \includegraphics[width=130mm]{figs/Context_ref-1.jpg} \end{center} \caption{Contextを参照する流れ} \label{fig:context}
--- a/paper/thesis.tex Mon Jan 31 02:52:18 2022 +0900 +++ b/paper/thesis.tex Mon Jan 31 12:45:35 2022 +0900 @@ -2,7 +2,7 @@ \usepackage{ie-thesis} \usepackage{listings} -\jtitle{GearsOSにおけるinodeを用いたFile systemの設計} +\jtitle{GearsOSにおけるinodeを用いた\\File systemの設計} \title{Design of a File system using inodes in GearsOS} \affiliation{琉球大学工学部工学科知能情報コース} @@ -39,7 +39,7 @@ \renewcommand{\lstlistingname}{ソースコード} \renewcommand{\lstlistlistingname}{ソースコード目次} - + \begin{document} \maketitle %Don't remove.
--- a/slide/slide.html Mon Jan 31 02:52:18 2022 +0900 +++ b/slide/slide.html Mon Jan 31 12:45:35 2022 +0900 @@ -101,10 +101,8 @@ </li> <li>当研究室では,信頼性の保証を目的としたGearsOSを開発している</li> <li>GearsOSで未実装の機能であるファイルシステムの実装を目指す</li> - <li>今回はディレクトリシステムを実装した</li> - <li>Unix likeな実装</li> + <li>今回はUnix likeにディレクトリシステムを実装した</li> <li>GearsOSへUnixのFile systemの仕組みを取り入れるアプローチをとる</li> - <li>Unixのinodeの仕組みを取り入れる</li> <li>GearsOSのディレクトリシステムであるgearsDirectoryについて説明する</li> </ul> @@ -118,9 +116,14 @@ <ul> <li>Cの下位言語である</li> - <li>function callの代わりにgotoによる継続を用いる</li> - <li>プログラムはCodeGearと呼ばれる処理の単位で記述</li> + <li>プログラムはCodeGearと呼ばれる処理の単位で記述する</li> + <li>データはDataGearと呼ばれる単位を用いる</li> <li>ノーマルレベルとメタレベルの処理を切り分けることが可能である</li> + <li>function callの継続の代わりにgotoによる継続を用いる + <ul> + <li>function callの継続と区別して軽量継続と呼ぶ</li> + </ul> + </li> </ul> <div style="text-align: center;"> @@ -136,11 +139,11 @@ <h2 id="gearsos">GearsOS</h2> <ul> - <li>信頼性と拡張性の両立を目的として開発されている</li> + <li>当研究室にて,信頼性と拡張性の両立を目的として開発している</li> <li>Gearという概念があり,実行の単位をCodeGear,データの単位をDataGearと呼ぶ</li> + <li>同様にGearの概念を持つCbC(Continuation based C)で記述されている.</li> <li>軽量継続を基本とし,stackを持たない代わりに全てをContext経由で実行する</li> <li>ノーマルレベルとメタレベルの処理を切り分けることができる</li> - <li>同様にGearの概念を持つCbC(Continuation based C)で記述されている.</li> <li>OSとして動作するために今後実装しなければならない機能がいくつか残っている.</li> </ul> @@ -169,7 +172,7 @@ <h3 id="contextを参照する流れ">Contextを参照する流れ</h3> <div style="text-align: center;"> - <img src="../paper/figs/context.svg" width="1200" /> + <img src="../paper/figs/Context_ref-1.jpg" width="1200" /> </div> @@ -205,8 +208,17 @@ <!-- _S9SLIDE_ --> <h2 id="gearsfilesystemにおけるdirectoryの構成">GearsFileSystemにおけるdirectoryの構成</h2> +<ul> + <li>2つのFileSystemTreeを用いる + <ol> + <li>inode numberとfileのポインタのペアを持つTree</li> + <li>filenameとinode numberのペアを持つTree</li> + </ol> + </li> +</ul> + <div style="text-align: center;"> - <img src="../paper/figs/inode.svg" width="1000" /> + <img src="../paper/figs/inode.svg" width="800" /> </div>
--- a/slide/slide.md Mon Jan 31 02:52:18 2022 +0900 +++ b/slide/slide.md Mon Jan 31 12:45:35 2022 +0900 @@ -9,18 +9,18 @@ - 信頼性確保の方法として定理証明やモデル検査がある - 当研究室では,信頼性の保証を目的としたGearsOSを開発している - GearsOSで未実装の機能であるファイルシステムの実装を目指す -- 今回はディレクトリシステムを実装した -- Unix likeな実装 +- 今回はUnix likeにディレクトリシステムを実装した - GearsOSへUnixのFile systemの仕組みを取り入れるアプローチをとる -- Unixのinodeの仕組みを取り入れる - GearsOSのディレクトリシステムであるgearsDirectoryについて説明する ## Continuation based C - Cの下位言語である -- function callの代わりにgotoによる継続を用いる -- プログラムはCodeGearと呼ばれる処理の単位で記述 +- プログラムはCodeGearと呼ばれる処理の単位で記述する +- データはDataGearと呼ばれる単位を用いる - ノーマルレベルとメタレベルの処理を切り分けることが可能である +- function callの継続の代わりにgotoによる継続を用いる + - function callの継続と区別して軽量継続と呼ぶ <div style="text-align: center;"> <img src="../paper/figs/dgcgdg.svg" width="1000"> @@ -28,11 +28,11 @@ ## GearsOS -- 信頼性と拡張性の両立を目的として開発されている +- 当研究室にて,信頼性と拡張性の両立を目的として開発している - Gearという概念があり,実行の単位をCodeGear,データの単位をDataGearと呼ぶ +- 同様にGearの概念を持つCbC(Continuation based C)で記述されている. - 軽量継続を基本とし,stackを持たない代わりに全てをContext経由で実行する - ノーマルレベルとメタレベルの処理を切り分けることができる -- 同様にGearの概念を持つCbC(Continuation based C)で記述されている. - OSとして動作するために今後実装しなければならない機能がいくつか残っている. ## GearsOS @@ -48,7 +48,7 @@ ### Contextを参照する流れ <div style="text-align: center;"> - <img src="../paper/figs/context.svg" width="1200"> + <img src="../paper/figs/Context_ref-1.jpg" width="1200"> </div> ## UnixのFile system @@ -68,8 +68,12 @@ ## GearsFileSystemにおけるdirectoryの構成 +- 2つのFileSystemTreeを用いる +1. inode numberとfileのポインタのペアを持つTree +1. filenameとinode numberのペアを持つTree + <div style="text-align: center;"> - <img src="../paper/figs/inode.svg" width="1000"> + <img src="../paper/figs/inode.svg" width="800"> </div> ## Unix Like な interface
--- a/slide/slide.pdf.html Mon Jan 31 02:52:18 2022 +0900 +++ b/slide/slide.pdf.html Mon Jan 31 12:45:35 2022 +0900 @@ -85,10 +85,8 @@ </li> <li>当研究室では,信頼性の保証を目的としたGearsOSを開発している</li> <li>GearsOSで未実装の機能であるファイルシステムの実装を目指す</li> - <li>今回はディレクトリシステムを実装した</li> - <li>Unix likeな実装</li> + <li>今回はUnix likeにディレクトリシステムを実装した</li> <li>GearsOSへUnixのFile systemの仕組みを取り入れるアプローチをとる</li> - <li>Unixのinodeの仕組みを取り入れる</li> <li>GearsOSのディレクトリシステムであるgearsDirectoryについて説明する</li> </ul> @@ -102,9 +100,14 @@ <ul> <li>Cの下位言語である</li> - <li>function callの代わりにgotoによる継続を用いる</li> - <li>プログラムはCodeGearと呼ばれる処理の単位で記述</li> + <li>プログラムはCodeGearと呼ばれる処理の単位で記述する</li> + <li>データはDataGearと呼ばれる単位を用いる</li> <li>ノーマルレベルとメタレベルの処理を切り分けることが可能である</li> + <li>function callの継続の代わりにgotoによる継続を用いる + <ul> + <li>function callの継続と区別して軽量継続と呼ぶ</li> + </ul> + </li> </ul> <div style="text-align: center;"> @@ -120,11 +123,11 @@ <h2 id="gearsos">GearsOS</h2> <ul> - <li>信頼性と拡張性の両立を目的として開発されている</li> + <li>当研究室にて,信頼性と拡張性の両立を目的として開発している</li> <li>Gearという概念があり,実行の単位をCodeGear,データの単位をDataGearと呼ぶ</li> + <li>同様にGearの概念を持つCbC(Continuation based C)で記述されている.</li> <li>軽量継続を基本とし,stackを持たない代わりに全てをContext経由で実行する</li> <li>ノーマルレベルとメタレベルの処理を切り分けることができる</li> - <li>同様にGearの概念を持つCbC(Continuation based C)で記述されている.</li> <li>OSとして動作するために今後実装しなければならない機能がいくつか残っている.</li> </ul> @@ -153,7 +156,7 @@ <h3 id="contextを参照する流れ">Contextを参照する流れ</h3> <div style="text-align: center;"> - <img src="../paper/figs/context.svg" width="1200" /> + <img src="../paper/figs/Context_ref-1.jpg" width="1200" /> </div> @@ -189,8 +192,17 @@ <!-- _S9SLIDE_ --> <h2 id="gearsfilesystemにおけるdirectoryの構成">GearsFileSystemにおけるdirectoryの構成</h2> +<ul> + <li>2つのFileSystemTreeを用いる + <ol> + <li>inode numberとfileのポインタのペアを持つTree</li> + <li>filenameとinode numberのペアを持つTree</li> + </ol> + </li> +</ul> + <div style="text-align: center;"> - <img src="../paper/figs/inode.svg" width="1000" /> + <img src="../paper/figs/inode.svg" width="800" /> </div>