Mercurial > hg > Papers > 2020 > menikon-thesis
changeset 12:996a70147cb0
fix
author | menikon |
---|---|
date | Tue, 11 Feb 2020 04:51:05 +0900 |
parents | 53114bdcb0c3 |
children | d393f08644e1 |
files | final_main/chapter3.tex final_main/chapter4.tex final_main/chapter5.tex final_main/future.tex final_main/main.out final_main/main.pdf final_main/main.tex final_main/reference.bib final_sub/utf8.pdf final_sub/utf8.tex rewrite_xv6_FileSystem_in_CbC.mm |
diffstat | 11 files changed, 75 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/final_main/chapter3.tex Sun Feb 09 19:53:00 2020 +0900 +++ b/final_main/chapter3.tex Tue Feb 11 04:51:05 2020 +0900 @@ -1,7 +1,7 @@ \chapter{GearsOS} %\label{chap:poordirection} \section{GearsOS の概要} -Gears OS は CbC によって記述されており, CodeGear と DataGear の単位を用いて開発されている OS である. +Gears OS \cite{gears} は CbC によって記述されており, CodeGear と DataGear の単位を用いて開発されている OS である. Gears OS は 一連の実行が行われる際に使用される CodeGear と DataGear を全て持っている Context と呼ばれるものを持っている.Gears OS は CodeGear 間の継続などの際,常に context を持ち歩いており CodeGear と DataGear の参照が必要になる場合,この Context を通して参照される. \section{Context} @@ -17,7 +17,7 @@ \label{fig:cbc} \end{figure} -\section{inetrface} +\section{Inetrface} Interface は Gears OS のモジュール化の仕組みである. Interface は呼び出しの引数になる Data Gear の集合であり,そこで呼び出される Code Gear のエントリである.呼び出される Code Gear の引数となる Data Gear はここで全て定義される. Interface を定義することで複数の実装を持つことができる. この Interface は, Java の Interface や Haskell の型クラスに対応し, 導入することで仕様と実装に分けて記述することが出来る. 図\ref{fig:interface} は Stack の Interface とその実装を表したものである.
--- a/final_main/chapter4.tex Sun Feb 09 19:53:00 2020 +0900 +++ b/final_main/chapter4.tex Tue Feb 11 04:51:05 2020 +0900 @@ -4,12 +4,16 @@ 本研究で使われているのは ARM\cite{arm} 上で動作する Raspberry Pi 用に改良されたxv6を使用する. -%\section{FileSystem} +\section{FileSystem} %どんなものか書く +FileSystem とは,コンピュータの資源を操作するための OS が持つ機能のことである.ファイルといえば記憶装置内に格納されている情報を指すが,デバイスやプロセス,カーネル内の処理をする際の情報などをファイルとして扱う FileSystem も存在する. OS ごとに利用している FileSystem は異なるが,一部の OS を除きほとんどの OS には FileSystem が存在する. +%記憶装置内に格納されているデータ,デバイスやプロセス,カーネル内の処理をする際の情報などファイルとして管理している. +%processについて(軽く) +\section{xv6 のFileSystem} +.xv6 の FileSystem は,デバイスやプロセス,カーネル内の処理をする際の情報などをファイルとして扱う FileSystem である. +xv6 の FileSystem は図\ref{fig:xv6filesystem} のように7つの階層によって構成されている. -%processについて(軽く) -\section{xv6 のFileSystem構造} -xv6 の FileSystem は図\ref{fig:xv6filesystem} のように7つの階層によって構成されている. +\newpage \begin{figure}[ht] \begin{center} \includegraphics[width=50mm]{fig/FileSystemLayout.pdf}
--- a/final_main/chapter5.tex Sun Feb 09 19:53:00 2020 +0900 +++ b/final_main/chapter5.tex Tue Feb 11 04:51:05 2020 +0900 @@ -3,7 +3,7 @@ \section{書き換え方針} -\section{FileSystemのInterface} +\section{FileSystem の Interface の定義(fs.dg)} \lstinputlisting[label=fs_interface, caption=FileSystemのInterface]{src/fs.dg}
--- a/final_main/future.tex Sun Feb 09 19:53:00 2020 +0900 +++ b/final_main/future.tex Tue Feb 11 04:51:05 2020 +0900 @@ -1,1 +1,4 @@ \chapter{まとめと今後の課題} +今回の研究では xv6 の FileSystem 部分について CbC を用いて書き換えを行った.しかし, xv6 はGears OS を開発する前段階として開発しているので今後は書き換えた xv6 を Gears OS に適応した形に改良していく必要がある. +xv6 の FileSystem 部分書き換え後 make し build することはできたが,デバックをまだ行っていないため正常に動くかどうか確認することが求められる.また,動かなかった場合修正を行い OS として機能しているか再確認する必要がある. +後々は証明支援器 agda で証明できる OS として開発したい \ No newline at end of file
--- a/final_main/main.out Sun Feb 09 19:53:00 2020 +0900 +++ b/final_main/main.out Tue Feb 11 04:51:05 2020 +0900 @@ -9,10 +9,11 @@ \BOOKMARK [1][-]{section.3.3}{3.3 inetrface}{chapter.3}% 9 \BOOKMARK [0][-]{chapter.4}{第4章 xv6}{}% 10 \BOOKMARK [1][-]{section.4.1}{4.1 xv6 の概要}{chapter.4}% 11 -\BOOKMARK [1][-]{section.4.2}{4.2 xv6 のFileSystem構造}{chapter.4}% 12 -\BOOKMARK [1][-]{section.4.3}{4.3 FilleSystem の API}{chapter.4}% 13 -\BOOKMARK [0][-]{chapter.5}{第5章 CbCによるFileSystemの書き換え}{}% 14 -\BOOKMARK [1][-]{section.5.1}{5.1 書き換え方針}{chapter.5}% 15 -\BOOKMARK [1][-]{section.5.2}{5.2 FileSystemのInterface}{chapter.5}% 16 -\BOOKMARK [1][-]{section.5.3}{5.3 CbC による FileSystem の書き換え}{chapter.5}% 17 -\BOOKMARK [0][-]{chapter.6}{第6章 まとめと今後の課題}{}% 18 +\BOOKMARK [1][-]{section.4.2}{4.2 FileSystem}{chapter.4}% 12 +\BOOKMARK [1][-]{section.4.3}{4.3 xv6 のFileSystem}{chapter.4}% 13 +\BOOKMARK [1][-]{section.4.4}{4.4 FilleSystem の API}{chapter.4}% 14 +\BOOKMARK [0][-]{chapter.5}{第5章 CbCによるFileSystemの書き換え}{}% 15 +\BOOKMARK [1][-]{section.5.1}{5.1 書き換え方針}{chapter.5}% 16 +\BOOKMARK [1][-]{section.5.2}{5.2 FileSystemのInterface}{chapter.5}% 17 +\BOOKMARK [1][-]{section.5.3}{5.3 CbC による FileSystem の書き換え}{chapter.5}% 18 +\BOOKMARK [0][-]{chapter.6}{第6章 まとめと今後の課題}{}% 19
--- a/final_main/main.tex Sun Feb 09 19:53:00 2020 +0900 +++ b/final_main/main.tex Tue Feb 11 04:51:05 2020 +0900 @@ -74,8 +74,8 @@ \tableofcontents % 目次 \listoffigures % 図目次 -\listoftables % 表目次 -\lstlistoflistings +%\listoftables % 表目次 +\lstlistoflistings % ソースコード目次 %以下のように、章ごとに個別の tex ファイルを作成して、 % main.tex をコンパイルして確認する。 @@ -105,6 +105,6 @@ \input{thanks.tex} % 付録 -\input{appendix.tex} +%\input{appendix.tex} \end{document}
--- a/final_main/reference.bib Sun Feb 09 19:53:00 2020 +0900 +++ b/final_main/reference.bib Tue Feb 11 04:51:05 2020 +0900 @@ -54,6 +54,15 @@ } +@article{ + gears, + author = "河野 真治 and 伊波 立樹 and 東恩納 琢偉", + title = "Code Gear、Data Gear に基づく OS のプロトタイプ", + journal = "情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS)", + month = "May", + year = 2016 +} + @article{GearsOS, author = "伊波立樹 and 河野真治", title = "Gears OS の並列処理",
--- a/final_sub/utf8.tex Sun Feb 09 19:53:00 2020 +0900 +++ b/final_sub/utf8.tex Tue Feb 11 04:51:05 2020 +0900 @@ -92,6 +92,11 @@ \section{CbCのInterface} 先述した通り, CbCのInterface は Gears OS のモジュール化の仕組みである. Interface は呼び出しの引数になる Data Gear の集合であり,そこで呼び出される Code Gear のエントリである.呼び出される Code Gear の引数となる Data Gear はここで 全て定義される. Interface を定義することで複数の実装を持つことができる.このInterfaceは,JavaのInterfaceやHaskellの型クラスに対応し,導入することで仕様と実装に分けて記述することが出来る. +\section{xv6 の FileSystem} + +\section{CbC による xv6 FileSystem の書き換え} + +\section{まとめと今後の課題} \thispagestyle{fancy} %\begin{thebibliography}{9}
--- a/rewrite_xv6_FileSystem_in_CbC.mm Sun Feb 09 19:53:00 2020 +0900 +++ b/rewrite_xv6_FileSystem_in_CbC.mm Tue Feb 11 04:51:05 2020 +0900 @@ -1,6 +1,6 @@ <map version="1.0.1"> <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> -<node CREATED="1580705792958" ID="ID_713715640" MODIFIED="1581234314803" TEXT="CbCによるxv6のFileSystemの書き換え"> +<node CREATED="1580705792958" ID="ID_713715640" MODIFIED="1581324649323" TEXT="CbCによるxv6のFileSystemの書き換え"> <font NAME="SansSerif" SIZE="28"/> <node CREATED="1580705935086" ID="ID_1087880129" MODIFIED="1581241406309" POSITION="right" TEXT="xv6 の OS の信頼性保証"> <font NAME="SansSerif" SIZE="28"/> @@ -35,16 +35,34 @@ <font NAME="SansSerif" SIZE="28"/> </node> </node> -<node CREATED="1580706032670" ID="ID_1325652396" MODIFIED="1580905809877" POSITION="right" TEXT="xv6"> +<node CREATED="1580706032670" ID="ID_1325652396" MODIFIED="1581324668189" POSITION="right" TEXT="xv6"> <font NAME="SansSerif" SIZE="28"/> <node CREATED="1580706157032" ID="ID_937213044" MODIFIED="1581238705555" TEXT="xv6の概要"> <font NAME="SansSerif" SIZE="28"/> </node> -<node CREATED="1580706172440" ID="ID_1527149818" MODIFIED="1580707101276" TEXT="xv6のFileSystem"> +<node CREATED="1581361398433" ID="ID_1158487595" MODIFIED="1581361431756" TEXT="FileSystem"> +<font NAME="SansSerif" SIZE="28"/> +</node> +<node CREATED="1580706172440" ID="ID_1527149818" MODIFIED="1581361596230" TEXT="xv6のFileSystem"> +<font NAME="SansSerif" SIZE="28"/> +<node CREATED="1581361557320" ID="ID_635990116" MODIFIED="1581361587969" TEXT="構造の図はいる?"> <font NAME="SansSerif" SIZE="28"/> </node> +<node CREATED="1581361597791" ID="ID_1656649225" MODIFIED="1581361616139" TEXT="どんなものか説明"> +<font NAME="SansSerif" SIZE="28"/> +</node> +<node CREATED="1581361616930" ID="ID_477433469" MODIFIED="1581361652830" TEXT="他のOSのFileSystemとどう違うか説明"> +<font NAME="SansSerif" SIZE="28"/> +</node> +</node> <node CREATED="1581235020303" ID="ID_1352679515" MODIFIED="1581235049686" TEXT="FilleSystem の API"> <font NAME="SansSerif" SIZE="28"/> +<node CREATED="1581361661720" ID="ID_1969927711" MODIFIED="1581361712949" TEXT="FileSystemがどのように外部(プロセスとか)から呼び出されているか"> +<font NAME="SansSerif" SIZE="28"/> +</node> +<node CREATED="1581361714163" ID="ID_1694647565" MODIFIED="1581361742440" TEXT="具体的な関数を明示"> +<font NAME="SansSerif" SIZE="28"/> +</node> </node> </node> <node CREATED="1580706205884" ID="ID_1557530505" MODIFIED="1580911222971" POSITION="right" TEXT="CbCによるFileSystemの書き換え"> @@ -52,7 +70,10 @@ <node CREATED="1580706952084" ID="ID_379916374" MODIFIED="1580707101276" TEXT="書き換え方針"> <font NAME="SansSerif" SIZE="28"/> </node> -<node CREATED="1580706968810" ID="ID_1139395838" MODIFIED="1581235075179" TEXT="FileSystem の Interface"> +<node CREATED="1580706968810" ID="ID_1139395838" MODIFIED="1581363980199" TEXT="FileSystem の Interface の定義(fs.dg)"> +<font NAME="SansSerif" SIZE="28"/> +</node> +<node CREATED="1581363980690" ID="ID_346293316" MODIFIED="1581364042483" TEXT="FileSystem の Interface の実装(fs_impl.CbC)"> <font NAME="SansSerif" SIZE="28"/> </node> <node CREATED="1581235077097" ID="ID_1378839864" MODIFIED="1581235087525" TEXT="CbC による FileSystem の書き換え"> @@ -61,25 +82,31 @@ </node> <node CREATED="1580705969920" ID="ID_1514151978" MODIFIED="1581234828368" POSITION="right" TEXT="まとめと今後の課題"> <font NAME="SansSerif" SIZE="28"/> +<node CREATED="1581364130692" ID="ID_1235141154" MODIFIED="1581364204665" TEXT="よかったこと(達成点)"> +<font NAME="SansSerif" SIZE="28"/> +</node> +<node CREATED="1581364148905" ID="ID_282788407" MODIFIED="1581364177965" TEXT="悪かったこと(改善点)"> +<font NAME="SansSerif" SIZE="28"/> +</node> </node> <node CREATED="1580706250190" HGAP="19" ID="ID_336597035" MODIFIED="1580707101275" POSITION="right" TEXT="謝辞" VSHIFT="11"> <font NAME="SansSerif" SIZE="28"/> </node> <node CREATED="1581241424863" ID="ID_1724671622" MODIFIED="1581241434846" POSITION="right" TEXT="付録"> <font NAME="SansSerif" SIZE="28"/> -<node CREATED="1581241436741" ID="ID_435368533" MODIFIED="1581241464015" TEXT="fs.dg"> +<node CREATED="1581241436741" ID="ID_435368533" MODIFIED="1581361836563" TEXT="fs.dg(本文でそのまま載せるのでいらないかも)"> <font NAME="SansSerif" SIZE="28"/> </node> -<node CREATED="1581241466862" ID="ID_85272786" MODIFIED="1581241484190" TEXT="fs_impl.h"> +<node CREATED="1581241466862" ID="ID_85272786" MODIFIED="1581361851700" TEXT="fs_impl.h(本文でそのまま載せるのでいらないかも)"> <font NAME="SansSerif" SIZE="28"/> </node> -<node CREATED="1581241484955" ID="ID_1869918016" MODIFIED="1581241495096" TEXT="fs_impl.cbc"> +<node CREATED="1581241484955" ID="ID_1869918016" MODIFIED="1581361826437" TEXT="fs_impl.cbc(本文で一部抜粋するので付録で全部載せる)"> <font NAME="SansSerif" SIZE="28"/> </node> -<node CREATED="1581241495800" ID="ID_176435327" MODIFIED="1581241513562" TEXT="fs_impl_private.cbc"> +<node CREATED="1581241495800" ID="ID_176435327" MODIFIED="1581361877172" TEXT="fs_impl_private.cbc(本文で一部抜粋するので付録で全部載せる)"> <font NAME="SansSerif" SIZE="28"/> </node> -<node CREATED="1581241515626" ID="ID_46008560" MODIFIED="1581241546618" TEXT="OS研究会発表論文"> +<node CREATED="1581241515626" ID="ID_46008560" MODIFIED="1581361896073" TEXT="OS研究会発表論文(発表実績として載せる?)"> <font NAME="SansSerif" SIZE="28"/> </node> </node>