0
|
1 title:Gears OS on Raspberry Pi
|
|
2 author:Yu Tobaru
|
|
3 profile:
|
|
4
|
|
5 # 研究目的
|
|
6 - 本研究室では Code Segment と Data Segment という単位でプログラムを記述する CbC(Continuation base C) とCbC を用いて実装する Gears OS の研究を行っている。
|
1
|
7 - Code Segment は並列処理の単位として利用でき, Data Segment はデータそのもので型を持っていて,CbC はメタレベルの処理,並列処理を記述することができる。
|
0
|
8 - 本研究では,Raspberry Pi に Gears OS を動かせるようになる事で、ハードウェア上でもメタレベルの処理、並列実行ができるプログラミングを記述できるようになる事を目指している。
|
|
9
|
|
10 # 概要
|
|
11 - Raspberry Pi で Gears OS を動かすために、CbCの make を行う必要がある。
|
|
12 - Raspberry Pi 上で CbC の make を行うと、メモリが小さいので時間がかかる。
|
|
13 - そのため、Linux 環境で CbC を動かした後に Raspberry Pi に載せる手法で研究を進めている。
|
|
14 - これまでに Linux上で CbC が Raspberry Pi と同じ ARM のバイナリを吐くように CrossCompile を行なった ARM版xv6 を作成してきた。
|
|
15 - 本研究では、CbCを用いて ARM版xv6 に沿って Raspberry Pi で動く Gears OS を実装する。
|
|
16 - Linux 上でコンパイルを行うまでの過程は以下のT図形のようになる
|
|
17
|
|
18 <div align="center"><img src="../OSX_Linux_VM.png" style="center"></div>
|
|
19
|
|
20 % - CbC は LLVM/Clang 上に実装されており、Linux のLLVM でコンパイルすることができれば、ELF(Executable And Linkable Format)のコードを書けるようになるので、roader を作れば CbC を動かすことができる。
|
|
21 % - さらに、Linux用の gcc をCbC に書き直す際に、gcc7 に書き直せば linker がそのまま使えるので、Xv6で動くようになる。
|
|
22 % - Xv6 は、ANSI-Cに書き換え、x86(32bit-CPU)に移植した OS であり、Xv6で動くようになれば、Raspberry Pi に移植することができる。
|
|
23
|
|
24
|
|
25 # 今週
|
|
26 - 研究計画書
|
|
27 - OS研究会の論文のチェック
|
|
28 - ソフトウェアシステム論のxv6読み会の資料をアップ
|
|
29 http://www.cr.ie.u-ryukyu.ac.jp/~game/pukiwiki/index.php?xv6
|
1
|
30 - ピアノ作成
|