comparison paper/anatofuz-sigos.tex @ 13:cce07a6da420

...
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Thu, 30 Apr 2020 20:24:26 +0900
parents 60693eee5ee3
children dff5f09c28c7
comparison
equal deleted inserted replaced
12:60693eee5ee3 13:cce07a6da420
88 またユーザー空間とカーネル空間が分離されており、 シェルやlsなどのユーザーコマンドも存在する。 88 またユーザー空間とカーネル空間が分離されており、 シェルやlsなどのユーザーコマンドも存在する。
89 89
90 本論文ではxv6のファイルシステム関連の内部処理と、システムコール実行時に実行される処理について分析を行う。 90 本論文ではxv6のファイルシステム関連の内部処理と、システムコール実行時に実行される処理について分析を行う。
91 xv6 kernelのファイルシステムは階層構造で表現されており、 最も低レベルなものにディスク階層、 抽象度が最も高いレベルのものにファイルディスクリプタがある。 91 xv6 kernelのファイルシステムは階層構造で表現されており、 最も低レベルなものにディスク階層、 抽象度が最も高いレベルのものにファイルディスクリプタがある。
92 92
93
94 \section{Continuation Based C}
95
96 Continuation Based C(CbC)とはC言語の下位言語であり、 関数呼び出しではなく継続を導入したプログラミング言語である。
97 CbCでは通常の関数呼び出しの他に、 関数呼び出し時のスタックの操作を行わず、次のコードブロックにjmp命令で移動する継続が導入されている。
98 この継続はSchemeなどの環境を持つ継続とは異なり、 スタックを持たず環境を保存しない継続である為に軽量である事から軽量継続と呼べる。
99 またCbCではこの軽量継続を用いた再帰呼び出しを利用することで、 for文などのループ文を廃し関数型プログラミングに近いスタイルでプログラミングすることが可能である。
100 現在CbCはGCC及びLLVM/clang上にそれぞれ実装されている。
101
93 \nocite{*} 102 \nocite{*}
94 \bibliographystyle{ipsjunsrt} 103 \bibliographystyle{ipsjunsrt}
95 \bibliography{anatofuz-bib} 104 \bibliography{anatofuz-bib}
96 105
97 106