changeset 9:dca5e4f9fceb

fix ref
author menikon
date Sat, 08 Feb 2020 19:00:35 +0900
parents 80f76a34c4f7
children 40726bcd5272
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
diffstat 6 files changed, 71 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/final_main/chapter2.tex	Fri Feb 07 21:30:47 2020 +0900
+++ b/final_main/chapter2.tex	Sat Feb 08 19:00:35 2020 +0900
@@ -11,7 +11,7 @@
     \label{fig:codegear}
 \end{figure}
 
-現在 CbC は C コンパイラであるGCC\cite{gcc}及びLLVM\cite{llvm}をバックエンドとした clang 上で実装されている.
+現在 CbC は C コンパイラであるGCC\cite{gcc} \cite{nobu-prosym}及びLLVM\cite{llvm} \cite{kaito-lola}をバックエンドとした clang 上で実装されている.
 本研究ではこのプログラミング言語を用いて xv6 の Filesystemを書き換える.
 \section{CodeGear}
 CodeGear は CbCにおける基本的な処理単位である. 以下のソースコード\ref{cbcexample}は CodeGear の継続の例である.
@@ -32,8 +32,15 @@
 この CbC における CodeGear 間の継続にスタックが使用されない性質は信頼性の高い OS の開発に適している.
 
 \section{DataGear}
+DataGear は CbCにおけるデータの基本的な単位である. CodeGear は  Input DataGear, Output DataGear を引数に持ち,図\ref{fig:DataGear}で示したように遷移する際に任意のInput DataGearを参照し, Output DataGearを書き出す.
+
+\begin{figure}[ht]
+     \begin{center}
+     \includegraphics[width=100mm]{fig/DataGear.pdf}
+     \end{center}
+     \caption{CodeGearとDataGear}
+    \label{fig:DataGear}
+\end{figure}
 
 
 
-
-
--- a/final_main/chapter3.tex	Fri Feb 07 21:30:47 2020 +0900
+++ b/final_main/chapter3.tex	Sat Feb 08 19:00:35 2020 +0900
@@ -18,7 +18,7 @@
 \section{inetrface}
 Interface は Gears OS のモジュール化の仕組みである. Interface は呼び出しの引数になる Data Gear の集合であり,そこで呼び出される Code Gear のエントリである.呼び出される Code Gear の引数となる Data Gear はここで全て定義される. Interface を定義することで複数の実装を持つことができる.
 この Interface は, Java の Interface や Haskell の型クラスに対応し, 導入することで仕様と実装に分けて記述することが出来る.
-図\ref{fig:interface} は 先行研究\cite{GearsOS}において作成された Stack の Interface とその実装を表したものである.
+図\ref{fig:interface} は Stack の Interface とその実装を表したものである.
 
 \vspace{10mm}
 \begin{figure}[ht]
--- a/final_main/chapter4.tex	Fri Feb 07 21:30:47 2020 +0900
+++ b/final_main/chapter4.tex	Sat Feb 08 19:00:35 2020 +0900
@@ -1,5 +1,13 @@
 \chapter{xv6}
+\section{xv6 とは}
 xv6 \cite{xv6} とは MIT のオペレーティングコースの教育目的で2006年に開発されたオペレーティングシステムである. xv6 はオリジナルである v6 が非常に古い C 言語で書かれてい る為, ANSI-C に書き換えられ x86 に再実装された. xv6 は read や write などの systemcall, プロセス, 仮想メモリ, カーネルとユーザーの分離, 割り込み, ファイルシステムなど Unix の基本的な構造を持っている.
+本研究で使われているのは ARM\cite{arm} 上で動作する Raspberry Pi 用に改良されたxv6を使用する.
+
+
+%\section{FileSystem}
+%どんなものか書く
+
+%processについて(軽く)
 
 \section{xv6 のFileSystem構造}
 xv6 の FileSystem の構造を以下の図\ref{fig:filesystem}に示す.
@@ -13,11 +21,18 @@
     \label{fig:filesystem}
 \end{figure}
 
-\section{boot sector}
+\begin{itemize}
+  \item boot sector
+  \item super block
+  \item inode
+  \item 
+\end{itemize}
 
-\section{super block}
+\section{FilleSystem の API} %関数や構造体などを解説しそのまま利用されているところをかく
+
 
-\section{inode}
+
+
 
 \section{block bitmap}
 
--- a/final_main/main.out	Fri Feb 07 21:30:47 2020 +0900
+++ b/final_main/main.out	Sat Feb 08 19:00:35 2020 +0900
@@ -8,15 +8,14 @@
 \BOOKMARK [1][-]{section.3.1}{3.1 Context}{chapter.3}% 8
 \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 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
+\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 [1][-]{section.4.4}{4.4 block bitmap}{chapter.4}% 14
+\BOOKMARK [1][-]{section.4.5}{4.5 data blocks}{chapter.4}% 15
+\BOOKMARK [1][-]{section.4.6}{4.6 log}{chapter.4}% 16
+\BOOKMARK [0][-]{chapter.5}{第5章 CbCによるFileSystemの書き換え}{}% 17
+\BOOKMARK [1][-]{section.5.1}{5.1 書き換え方針}{chapter.5}% 18
+\BOOKMARK [1][-]{section.5.2}{5.2 FileSystemのInterface}{chapter.5}% 19
+\BOOKMARK [1][-]{section.5.3}{5.3 CbC による FileSystem の書き換え}{chapter.5}% 20
+\BOOKMARK [0][-]{chapter.6}{第6章 まとめと今後の課題}{}% 21
Binary file final_main/main.pdf has changed
--- a/final_main/reference.bib	Fri Feb 07 21:30:47 2020 +0900
+++ b/final_main/reference.bib	Sat Feb 08 19:00:35 2020 +0900
@@ -6,10 +6,18 @@
     year = 2015
 }
 
+@manual{arm,
+author     = "{ARM Architecture Reference Manual}",
+title  = "{http://infocenter.arm.com/help/topic/com.arm.\\doc.subset.architecture.reference/index.html}"
+}
+
+
 @misc{xv6,
-title     = "{Xv6, a simple Unix-like teaching operating system}",
-note = "(2020年2月7日閲覧)",
-howpublished    = {\url{https://pdos.csail.mit.edu/6.828/2019/xv6.html}},
+  title={Xv6, a simple Unix-like teaching operating system},
+  author={Cox, Russ and Kaashoek, M Frans and Morris, Robert},
+  journal={2013-09-05]. http://pdos. csail. mit. edu/6.828/2012/xv6. html},
+  year={2011},
+  note = "(2020年2月7日閲覧)"
 }
 
 @InProceedings{llvm,
@@ -26,6 +34,26 @@
 title ="{http://gcc.gnu.org/onlinedocs/gccint/}",
 }
 
+@article{kaito-lola,
+    author  = "Kaito, Tokumori and Shinji, Kono",
+    title   = "Implementing Continuation based language in LLVM and Clang",
+    journal = "LOLA 2015, Kyoto",
+    month   = "July",
+    year    =  2015
+
+}
+
+@inproceedings{nobu-prosym,
+    author = "大城信康 and 河野真治",
+    title = "Continuation based C の GCC4.6 上の実装について",
+    booktitle = "第53回プログラミング・シンポジウム予稿集",
+    year  = "2012",
+    volume = "2012",
+    pages = "69--78",
+    month = "jan"
+
+}
+
 @article{GearsOS,
     author = "伊波立樹 and  河野真治",
     title = "Gears OS の並列処理",