# HG changeset patch # User anatofuz # Date 1578371749 -32400 # Node ID fa62e0367f58cd1202966675cabe3a651220d8b2 # Parent 66295a8187ada31235058ade78ceff55b44db1d8 tweak diff -r 66295a8187ad -r fa62e0367f58 paper/anatofuz_prosym_2019.pdf Binary file paper/anatofuz_prosym_2019.pdf has changed diff -r 66295a8187ad -r fa62e0367f58 paper/anatofuz_prosym_2019.tex --- a/paper/anatofuz_prosym_2019.tex Thu Nov 28 12:28:08 2019 +0900 +++ b/paper/anatofuz_prosym_2019.tex Tue Jan 07 13:35:49 2020 +0900 @@ -40,7 +40,7 @@ %\affiliate{IPSJ}{情報処理学会} \affiliate{KRYUKYU}{琉球大学大学院理工学研究科情報工学専攻} -\affiliate{IERYUKYU}{琉球大学工学部情報工学科} +\affiliate{IERYUKYU}{琉球大学工学部工学科知能情報コース} \author{清水 隆博}{Takahiro SHIMIZU}{KRYUKYU}[anatofuz@cr.ie.u-ryukyu.ac.jp] \author{河野 真治}{Shinji KONO}{IERYUKYU}[kono@ie.u-ryukyu.ac.jp] @@ -49,11 +49,12 @@ \begin{abstract} 継続を基本とするCと互換性のある言語、 Conitinuation Based C(CbC)を用いてOSの実装を考案した。 状態遷移単位でOSの処理を実装することで、 処理の入出力が明確化され、 定理証明支援系に適した表現形式で処理が記述可能である。 -ここでは現在CbCを用いて開発しているOS、 GearsOSについての実装及び今後の展望について考察する。 +現在CbCを用いて開発しているOS、 GearsOSはXv6をベースに実機での動作を目指している。 +ここでは現在のGearsOSの状況、 今後の展望について考察する。 \end{abstract} \begin{jkeyword} -システムプログラミング, CbC, 軽量継続, OS +システムプログラミング, CbC, 軽量継続, OS, CMake \end{jkeyword} \maketitle @@ -75,8 +76,7 @@ Continuation Based C(CbC) とは GearsOSの記述に利用しているプログラミング言語である。 C言語の下位言語として設計されており、CコンパイラであるGCC、 LLVM/Clang上に実装が存在する。 CbCは通常の関数呼び出しとは異なり、 軽量継続を基本としている。 -通常Cの関数呼び出しでは、 スタックポインタを操作し、 ローカル変数や、 レジスタ情報をスタックに保存する。 -これらは通常アセンブラのcall命令として処理される。 +通常Cの関数呼び出しでは、 call命令により、 スタックポインタを操作し、 ローカル変数や、 レジスタ情報をスタックに保存する。 CbCの軽量継続は、 アセンブラレベルでは jmp で表現され、 スタックフレームを操作することなく次の状態に遷移する。 CbCの状態はCodeGearと呼ばれる単位で記述される。 @@ -109,7 +109,7 @@ 他方LLVM/clang上に実装しているCbCコンパイラは、 ARMのライブラリは必要であるものの、 本体を再度ビルドすることなくクロスコンパイラとして利用可能である。 今回はRaspberryPiのデフォルトOSであるRaspbianから、 ARMのライブラリをx86マシン上に転送し、 LLVM/clang上に実装したCbCコンパイラを用いてビルドした。 ビルドツールとしてはCMakeを導入している。 -CMakeでクロスコンパイルを行うために、 補助的に一部Perlスクリプトで補完している。 +CMakeでクロスコンパイルを行う際に、クロスコンパイラなどを引数で指定する必要がある為、 引数の解決に一部Perlスクリプトを利用している。 diff -r 66295a8187ad -r fa62e0367f58 paper/reference.bib --- a/paper/reference.bib Thu Nov 28 12:28:08 2019 +0900 +++ b/paper/reference.bib Tue Jan 07 13:35:49 2020 +0900 @@ -17,7 +17,7 @@ @techreport{gearsos, - author = "宮城,光希 and 桃原,優 and 河野,真治", + author = "宮城 光希 and 桃原 優 and 河野 真治", title = "Gears OSのモジュール化と並列API", year = "2018", institution = "琉球大学大学院理工学研究科情報工学専攻, 琉球大学大学院理工学研究科情報工学専攻, 琉球大学工学部情報工学科", @@ -25,4 +25,3 @@ month = "may" } -