annotate seminar0424.md @ 2:33971512b7fa default tip

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