Mercurial > hg > Papers > 2020 > anatofuz-sigos
changeset 37:9e40a7a00a02
fix
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 06 May 2020 07:50:03 +0900 |
parents | a039a55d97ae |
children | 32453ef823d9 |
files | paper/anatofuz-bib.bib paper/anatofuz-sigos.md paper/anatofuz-sigos.pdf paper/anatofuz-sigos.tex paper/ipsj.cls paper/md2tex.pl |
diffstat | 6 files changed, 21 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/anatofuz-bib.bib Tue May 05 17:08:08 2020 +0900 +++ b/paper/anatofuz-bib.bib Wed May 06 07:50:03 2020 +0900 @@ -153,6 +153,15 @@ title ="{http://gcc.gnu.org/onlinedocs/gccint/}", } +@article{weko_195888_1, + author = "坂本 昂弘 and 桃原 優 and 河野 真治", + title = "継続を用いたx.v6 kernelの書き換え", + year = "2019", + institution = "琉球大学工学部情報工学科, 琉球大学大学院理工学研究科情報工学専攻, 琉球大学工学部情報工学科", + number = "4", + month = "may" +} + @article{ gears, author = "河野 真治 and 伊波 立樹 and 東恩納 琢偉", @@ -192,14 +201,6 @@ address = {New York, NY, USA}, } -@techreport{weko_195888_1, - author = "坂本,昂弘 and 桃原,優 and 河野,真治", - title = "継続を用いたx.v6 kernelの書き換え", - year = "2019", - institution = "琉球大学工学部情報工学科, 琉球大学大学院理工学研究科情報工学専攻, 琉球大学工学部情報工学科", - number = "4", - month = "may" -}
--- a/paper/anatofuz-sigos.md Tue May 05 17:08:08 2020 +0900 +++ b/paper/anatofuz-sigos.md Wed May 06 07:50:03 2020 +0900 @@ -181,10 +181,12 @@ ``` Code\ref{src:fs_interface}内の `readsb`などは`fs.c`内で定義されているCの関数名と対応している。 -このCの関数を更に継続ごとに分割するために、 関数内のif文などの分岐を持たない基本単位であるBasic Blockに着目した。 +このCの関数を更に継続ごと分割するために、 関数内のif文などの分岐を持たない基本単位であるBasic Blockに着目した。 CbCのCodeGearの粒度はCの関数とアセンブラの中間であるといえるので、 BasicBlockをCodeGearに置き換える事が可能である。 したがって特定の関数内の処理のBasicBlockを分析し、 BasicBlockに対応したCodeGearへ変換することが可能となる。 +実際にBasicBlock単位で切り分ける前の処理と、切り分けたあとの処理を示す。 + # CbCを用いた部分的なxv6の書き換え
--- a/paper/anatofuz-sigos.tex Tue May 05 17:08:08 2020 +0900 +++ b/paper/anatofuz-sigos.tex Wed May 06 07:50:03 2020 +0900 @@ -267,8 +267,8 @@ これらはOSの立ち上げ時やシステムコールの中で、ファイルシステムの操作に対応した関数や構造体などのAPIを通して操作される。 システムコールの一連の流れに着目するのではなく、 特定の対象のAPIに着目して継続の分析を検討した。 -xv6のファイルシステムに関する定義ファイルは`fs.c`中に記述されている。 -Code\ref{src:fs_interface}に示す様に、 `fs.c`中に定義されているAPIを抜き出し、 CbCのInterfaceとして定義した。 +xv6のファイルシステムに関する定義ファイルは\texttt{fs.c}中に記述されている。 +Code\ref{src:fs_interface}に示す様に、 \texttt{fs.c}中に定義されているAPIを抜き出し、 CbCのInterfaceとして定義した。 \texttt{\_\_code}から始まるCodeGearの名前が、 それぞれ抽象化されたCodeGearの集合の最初の継続となる。 @@ -286,11 +286,13 @@ } fs; \end{lstlisting} -Code\ref{src:fs_interface}内の \texttt{readsb}などは`fs.c`内で定義されているCの関数名と対応している。 -このCの関数を更に継続ごとに分割するために、 関数内のif文などの分岐を持たない基本単位であるBasic Blockに着目した。 +Code\ref{src:fs_interface}内の \texttt{readsb}などは\texttt{fs.c}内で定義されているCの関数名と対応している。 +このCの関数を更に継続ごと分割するために、 関数内のif文などの分岐を持たない基本単位であるBasic Blockに着目した。 CbCのCodeGearの粒度はCの関数とアセンブラの中間であるといえるので、 BasicBlockをCodeGearに置き換える事が可能である。 したがって特定の関数内の処理のBasicBlockを分析し、 BasicBlockに対応したCodeGearへ変換することが可能となる。 +実際にBasicBlock単位で切り分ける前の処理と、切り分けたあとの処理を示す。 + \section{CbCを用いた部分的なxv6の書き換え}
--- a/paper/ipsj.cls Tue May 05 17:08:08 2020 +0900 +++ b/paper/ipsj.cls Wed May 06 07:50:03 2020 +0900 @@ -2051,7 +2051,7 @@ %% %=== \ifnum\c@year<\z@ -\c@year1959 \advance\c@year\c@volume +\c@year2020 \advance\c@year\c@volume \fi \number\c@year %===
--- a/paper/md2tex.pl Tue May 05 17:08:08 2020 +0900 +++ b/paper/md2tex.pl Wed May 06 07:50:03 2020 +0900 @@ -40,10 +40,10 @@ $line =~ s/# (.*)/\\section{$1}/; } - while ($line =~ /`([\s\w_\-\\]+)`/g) { + while ($line =~ /`([[:ascii:]]+?)`/g) { my $inlineCodeBlock = $1; $inlineCodeBlock =~ s/_/\\_/g; - $line =~ s/`([\s\w_\-\\]+)`/\\texttt{$inlineCodeBlock}/; + $line =~ s/`([[:ascii:]]+)`/\\texttt{$inlineCodeBlock}/; } if ($line =~ /!\[lab:(.*),\s*cap:(.*)\]\((.*)\)/) {