Mercurial > hg > Papers > 2019 > mitsuki-master
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{システムコールの書き換え}