Mercurial > hg > Papers > 2020 > menikon-thesis
changeset 8:80f76a34c4f7
fix ref
author | menikon |
---|---|
date | Fri, 07 Feb 2020 21:30:47 +0900 |
parents | cf5932d7471f |
children | dca5e4f9fceb |
files | final_main/chapter2.tex final_main/chapter3.tex final_main/chapter4.tex final_main/main.out final_main/main.pdf final_main/reference.bib final_sub/utf8.pdf |
diffstat | 7 files changed, 31 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/final_main/chapter2.tex Fri Feb 07 20:55:45 2020 +0900 +++ b/final_main/chapter2.tex Fri Feb 07 21:30:47 2020 +0900 @@ -1,7 +1,7 @@ \chapter{Continuation based C} %\label{chap:concept} -Continuation based C \cite{cbc} (以下CbC) は基本的な処理単位を CodeGear として定義し, CodeGea 間で遷移するようにプログラムを記述する C 言語と互換性のある当研究室で開発されたプログラミング言語である.図2.1はCodeGear間の継続する際の処理の流れを示している. +Continuation based C \cite{cbc} (以下CbC) は基本的な処理単位を CodeGear として定義し, CodeGea 間で遷移するようにプログラムを記述する C 言語と互換性のある当研究室で開発されたプログラミング言語である.図\ref{fig:codegear}はCodeGear間の継続する際の処理の流れを示している. \begin{figure}[ht] \begin{center} @@ -14,17 +14,17 @@ 現在 CbC は C コンパイラであるGCC\cite{gcc}及びLLVM\cite{llvm}をバックエンドとした clang 上で実装されている. 本研究ではこのプログラミング言語を用いて xv6 の Filesystemを書き換える. \section{CodeGear} -CodeGear は CbCにおける基本的な処理単位である. 以下のソースコード2.1は CodeGear の継続の例である. +CodeGear は CbCにおける基本的な処理単位である. 以下のソースコード\ref{cbcexample}は CodeGear の継続の例である. \lstinputlisting[label=cbcexample, caption=CodeGearの継続の例]{src/cbc_example.cbc} CodeGear は\_\_code CodeGear名 (引数) の形で記述される. CodeGear は返り値を持たない為, 関数内で処理が終了すると呼び出し 元の関数に戻ることがなく別の CodeGear へ遷移する. -ソースコード2.1の5行目のgoto cg1(c); や8行目のgoto cg2(c); などがこれにあたる.図2.2はソースコード2.1の状態遷移を表している. +ソースコード\ref{cbcexample}の5行目のgoto cg1(c); や8行目のgoto cg2(c); などがこれにあたる.図\ref{fig:goto}はソースコード\ref{cbcexample}の状態遷移を表している. \begin{figure}[ht] \begin{center} \includegraphics[width=100mm]{fig/goto.pdf} \end{center} - \caption{ソースコード2.1が表しているCodeGearの状態遷移} + \caption{ソースコード\ref{cbcexample} が表しているCodeGearの状態遷移} \label{fig:goto} \end{figure}
--- a/final_main/chapter3.tex Fri Feb 07 20:55:45 2020 +0900 +++ b/final_main/chapter3.tex Fri Feb 07 21:30:47 2020 +0900 @@ -4,7 +4,7 @@ \section{Context} context とは一連の実行が行われる際に使用される CodeGear と DataGear の集合である. 従来のスレッドやプロセスに対応する.Context は接続可能な CodeGear, Data Gear のリスト. Data Gear を確保するメモリ空間, 実行される Task への Code Gear 等を持っている. CodeGear が 別の CodeGear に遷移する際, 必ず context を参照し enum -で定義された CodeGear の番号を指定し遷移する. ノーマルレベルで見た際の CodeGar,DataGer および context の関係を以下の図 3.1 に簡潔に示す. +で定義された CodeGear の番号を指定し遷移する. ノーマルレベルで見た際の CodeGar,DataGer および context の関係を以下の図\ref{fig:cbc} に簡潔に示す. \vspace{10mm} \begin{figure}[ht] @@ -18,7 +18,7 @@ \section{inetrface} Interface は Gears OS のモジュール化の仕組みである. Interface は呼び出しの引数になる Data Gear の集合であり,そこで呼び出される Code Gear のエントリである.呼び出される Code Gear の引数となる Data Gear はここで全て定義される. Interface を定義することで複数の実装を持つことができる. この Interface は, Java の Interface や Haskell の型クラスに対応し, 導入することで仕様と実装に分けて記述することが出来る. -図 3.2 は 先行研究\cite{GearsOS}において作成された Stack の Interface とその実装を表したものである. +図\ref{fig:interface} は 先行研究\cite{GearsOS}において作成された Stack の Interface とその実装を表したものである. \vspace{10mm} \begin{figure}[ht]
--- a/final_main/chapter4.tex Fri Feb 07 20:55:45 2020 +0900 +++ b/final_main/chapter4.tex Fri Feb 07 21:30:47 2020 +0900 @@ -2,15 +2,25 @@ xv6 \cite{xv6} とは MIT のオペレーティングコースの教育目的で2006年に開発されたオペレーティングシステムである. xv6 はオリジナルである v6 が非常に古い C 言語で書かれてい る為, ANSI-C に書き換えられ x86 に再実装された. xv6 は read や write などの systemcall, プロセス, 仮想メモリ, カーネルとユーザーの分離, 割り込み, ファイルシステムなど Unix の基本的な構造を持っている. \section{xv6 のFileSystem構造} -xv6 の FileSystem の構造を以下の図4.1に示す. +xv6 の FileSystem の構造を以下の図\ref{fig:filesystem}に示す. \vspace{10mm} \begin{figure}[ht] \begin{center} - \includegraphics[width=100mm]{fig/xv6filesystemlayout.pdf} + \includegraphics[width=150mm]{fig/xv6filesystemlayout.pdf} \end{center} \caption{xv6 の FileSystem Layout} \label{fig:filesystem} \end{figure} -\section{} +\section{boot sector} + +\section{super block} + +\section{inode} + +\section{block bitmap} + +\section{data blocks} + +\section{log} \ No newline at end of file
--- a/final_main/main.out Fri Feb 07 20:55:45 2020 +0900 +++ b/final_main/main.out Fri Feb 07 21:30:47 2020 +0900 @@ -9,9 +9,14 @@ \BOOKMARK [1][-]{section.3.2}{3.2 inetrface}{chapter.3}% 9 \BOOKMARK [0][-]{chapter.4}{第4章 xv6}{}% 10 \BOOKMARK [1][-]{section.4.1}{4.1 xv6 のFileSystem構造}{chapter.4}% 11 -\BOOKMARK [1][-]{section.4.2}{4.2 }{chapter.4}% 12 -\BOOKMARK [0][-]{chapter.5}{第5章 CbCによるFileSystemの書き換え}{}% 13 -\BOOKMARK [1][-]{section.5.1}{5.1 書き換え方針}{chapter.5}% 14 -\BOOKMARK [1][-]{section.5.2}{5.2 FileSystemのInterface}{chapter.5}% 15 -\BOOKMARK [1][-]{section.5.3}{5.3 CbC による FileSystem の書き換え}{chapter.5}% 16 -\BOOKMARK [0][-]{chapter.6}{第6章 まとめと今後の課題}{}% 17 +\BOOKMARK [1][-]{section.4.2}{4.2 boot sector}{chapter.4}% 12 +\BOOKMARK [1][-]{section.4.3}{4.3 super block}{chapter.4}% 13 +\BOOKMARK [1][-]{section.4.4}{4.4 inode}{chapter.4}% 14 +\BOOKMARK [1][-]{section.4.5}{4.5 block bitmap}{chapter.4}% 15 +\BOOKMARK [1][-]{section.4.6}{4.6 data blocks}{chapter.4}% 16 +\BOOKMARK [1][-]{section.4.7}{4.7 log}{chapter.4}% 17 +\BOOKMARK [0][-]{chapter.5}{第5章 CbCによるFileSystemの書き換え}{}% 18 +\BOOKMARK [1][-]{section.5.1}{5.1 書き換え方針}{chapter.5}% 19 +\BOOKMARK [1][-]{section.5.2}{5.2 FileSystemのInterface}{chapter.5}% 20 +\BOOKMARK [1][-]{section.5.3}{5.3 CbC による FileSystem の書き換え}{chapter.5}% 21 +\BOOKMARK [0][-]{chapter.6}{第6章 まとめと今後の課題}{}% 22
--- a/final_main/reference.bib Fri Feb 07 20:55:45 2020 +0900 +++ b/final_main/reference.bib Fri Feb 07 21:30:47 2020 +0900 @@ -8,7 +8,7 @@ @misc{xv6, title = "{Xv6, a simple Unix-like teaching operating system}", -note = "(2019年10月19日閲覧)", +note = "(2020年2月7日閲覧)", howpublished = {\url{https://pdos.csail.mit.edu/6.828/2019/xv6.html}}, }