changeset 5:7117bbdc79ec

fix3
author Koki Okuda <e175701@ie.u-ryukyu.ac.jp>
date Mon, 14 Sep 2020 20:56:59 +0900
parents aeefa483d39a
children cdd2084de80c
files mid_thesis.pdf mid_thesis.tex pic/USBDriver.graffle pic/device.graffle pic/fig1.pdf
diffstat 5 files changed, 15 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
Binary file mid_thesis.pdf has changed
--- a/mid_thesis.tex	Mon Sep 14 19:57:31 2020 +0900
+++ b/mid_thesis.tex	Mon Sep 14 20:56:59 2020 +0900
@@ -15,7 +15,7 @@
 \date{}
 \maketitle
 \begin{abstract}
-An OS must be reliable and extensible. We are designing Gears OS with the goal of guaranteeing reliability for normal level calculations and scalability for meta-level calculations.Currently, It need to connect a Mac to run Geas OS on a Raspberry Pi via serial communication to get input.Being able to use a keyboard and mouse on the Gears OS on the Raspberry Pi will improve convenience. It would also eliminate the need to connect to hardware other than the Raspberry Pi through a PC.The purpose of this study is to develop a Gears OS Device Driver in CbC on a Rasberry Pi.
+An OS have to be reliable and extensible. We are designing Gears OS with the goal of guaranteeing reliability for normal level calculations and scalability for meta-level calculations.Currently, It need to connect a Mac to run Geas OS on a Raspberry Pi via serial communication to get input.Being able to use a keyboard and mouse on the Gears OS on the Raspberry Pi will improve convenience. It would also eliminate the need to connect to hardware other than the Raspberry Pi through a PC.The purpose of this study is to develop a Gears OS Device Driver in CbC on a Rasberry Pi.
 \end{abstract} 
 
 \thispagestyle{fancy} 
@@ -23,16 +23,18 @@
 \section{研究目的}
 OSには信頼性が保証できることと拡張性があることが求められている。信頼性をノーマ ルレベルの計算に対して保証し、拡張性をメタレベルの計算で実現することを目標に Gears OS を設計中である。現在,Geas OSをRaspberry Pi上で動かすためにはMacとシリアル通信で繋げなければ入力ができない。Raspberry Pi上のGears OSでキーボードやマウスを使えるようになれば利便性が向上する。また、Raspberry Pi以外のハードウェアで動かす時にも、PCを介して接続しなくて良くなる。本研究では、Rasberry Pi上でGears OS のDevice DriverをCbCで開発しすることが目的である。
 \section{Device Driver}
-OSは、接続された機器を直接理解することはできず、OSと接続機器の橋渡しの役割を担うのがDevice Driverである(図1)。Device DriverはOSごとに作成する必要がある。当研究室で開発されているGeas OSに対応するDevice Driver としてUSB接続機器が市場に多いことやRaspberry PIに接続端子があることからUSB Driverを開発する。USB Driverの構成は図2のようになる。また、開発されたDevice Driverの信頼性の検証をしたいため、USBDriverのソースコードをCbmakCで書いていく。
+OSは、接続された機器を直接理解することはできず、OSと接続機器の橋渡しの役割を担うのがDevice Driverである(図\ref{fig1})。Device DriverはOSごとに作成する必要がある。当研究室で開発されているGeas OSに対応するDevice Driver としてUSB接続機器が市場に多いことやRaspberry PIに接続端子があることからUSB Driverを開発する。USB Driverの構成は図\ref{fig2}のようになる。また、開発されたDevice Driverの信頼性の検証をしたいため、USBDriverのソースコードをCbmakCで書いていく。
 \begin{figure}[H]
-	\centering
-	\includegraphics[width=75mm]{pic/fig1.pdf}
+	\begin{center}
+		\includegraphics[width=75mm]{pic/fig1.pdf}
+	\end{center}
 	\caption{Device Driverの役割}
 	\label{fig1}
 \end{figure}
 \begin{figure}[H]
-	\centering
-	\includegraphics[width=90mm]{pic/USBDriver.pdf}
+	\begin{center}
+		\includegraphics[width=75mm]{pic/fig2.pdf}
+	\end{center}
 	\caption{USB Driverの構成}
 	\label{fig2}
 \end{figure}
@@ -56,20 +58,17 @@
 Gear の特 徴として処理やデータの構造が Code Gear、Data Gear に閉じている事にある。
 これにより、実行時間、メモリ使用 量などを予測可能なものにすることができる。
 
-\section{Raspberry Pi上のGears OS}
-先行研究でRaspberry Pi上でGears OSを実装するために、Raspberry Pi上でCbCのmakeを行った。
-しかし、メモリが小さくてmakeするのに時間がかかる。
-またRaspbianでは、qemuによるメモる拡張ができないので別のOSでRaspberry Piで動くCbCを実装する必要がある。
-そこでCross Compileを行うことで別のOSでRaspberry Piで動くCbCを実装した。
-\subsection{Cross Compile}
-Cross Compileとは、別のOSで実行可能なコードを生成するコンパイル手法である。
-Raspbian以外の以外のOS環境であらかじめRaspberry Pi上でCbCが動くようにCross Compileを行い、そのコードをRaspberry Piに移すことで、実行できるようになる。
+\section{xv6 on Raspberry Pi}
 
 \subsection{xv6}
 xv6とは MIT のオペレーティングコースの教育目的で 2006 年に開発されたオペレーティングシステムである。
 xv6 はオリジナルである v6 が非常に古い C 言語で書かれている為、 ANSI-C に書き換えられ x86 に再実装された。xv6 は read や write などの systemcall、プロセス、仮想メモリ、カーネルとユーザーの分離、割り込み、ファイルシステムなど Unix の基本的な構造を持っている。
 xv6はRaspberry Piに移植することができ、ANSI-Cで書かれているxv6をCbCに書き直すことで、Raspberry Pi上でCbCを動かすことができる。
 
+\subsection{Cross Compile}
+Cross Compileとは、別のOSで実行可能なコードを生成するコンパイル手法である。
+Raspbian以外の以外のOS環境であるxv6であらかじめRaspberry Pi上でCbCが動くようにCross Compileを行い、そのコードをRaspberry Piに移すことで、実行できるようになる。
+
 
 \section{今後の予定}
 \subsection{現状}
@@ -78,7 +77,8 @@
 これにより、Raspberry Pi上のxv6でCbCを書くことができる。
 \subsection{研究計画}
 今後の計画として本格的にDevice Driverを開発していく。
-USB Driverを開発するためにRaspberry PiのUEFIをbootできるようにする。
+USB Driverを開発するためにRaspberry PiのUEFI BIOSをbootできるようにする。
+UEFI BIOSとは、OSとプラットフォームウェアとの間のソフトウェアインターフェースを定義する使用である。
 その後、xHCIを実装するために、そのUSBプロトコルをCbCで実装していきたい。
 また、CbCのバージョンが上がったのでCross Compilerも新たに作成する必要がある。
 
Binary file pic/USBDriver.graffle has changed
Binary file pic/device.graffle has changed
Binary file pic/fig1.pdf has changed