view paper/xv6.tex @ 19:68ea0500773f

update
author mir3636
date Wed, 30 Jan 2019 19:36:41 +0900
parents c72a09342aae
children 24f476d2259e
line wrap: on
line source

\chapter{xv6 の CbC への書き換え}
Gears OS をハードウェア上で実装するために、ARM\cite{arm} プロセッサを搭載したシングルボードコンピュータである Raspberry Pi\cite{rpi} 上で Gears OS 実装したい。
ハードウェア上でのメタレベルの計算や並列実行を行うために、Linax 等に比べてシンプルである Xv6 の機能の一部を Gears OS に置き換えることで実現させる。
xv6 は UNIX V6 を x86 へ再実装したものであるが、
ここでは Xv6 を Raspberry pi 用に移植した xv6\_rpi\cite{xv6rpi} を用いて実装する。

\section{xv6-rpi の CbC 対応}
Xv6 は 2006 年に MIT のオペレーティングシステムコースで教育用の目的として開発されたオペレーティングシステムである。
Xv6 はプロセス、仮想メモリ、カーネルとユーザの分離、割り込み、ファイルシステムなどの Unix の構造を持つにも関わらず、
シンプルで学習しやすい。

オリジナルの Xv6 は x86 アーキテクチャで実装されたものだが、xv6-rpi は Raspberry Pi 用に実装されたものである。
Xv6 の ARM への移植は フロリダ州立大学によって行われた。 

xv6-rpi を CbC で書き換えるために、
GCC 上で実装した CbC コンパイラを ARM 向けに build し xv6-rpi のクロスコンパイルを行い、
QEMU 上で動作させた。

\section{システムコールの書き換え}