Mercurial > hg > Papers > 2022 > matac-sigos
changeset 11:90a3b987451a
fix: add table & ex source code
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 05 May 2022 21:37:07 +0900 |
parents | a8cea37083e2 |
children | 7e0661e3f924 |
files | Paper/paper.aux Paper/paper.log Paper/paper.pdf Paper/paper.synctex.gz Paper/paper.tex |
diffstat | 5 files changed, 126 insertions(+), 79 deletions(-) [+] |
line wrap: on
line diff
--- a/Paper/paper.aux Thu May 05 21:15:02 2022 +0900 +++ b/Paper/paper.aux Thu May 05 21:37:07 2022 +0900 @@ -8,52 +8,63 @@ \citation{gears} \citation{gearsos} \citation{cr} -\citation{xv6} -\citation{xv6component} -\citation{xv6kernel} \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces CodeGearと入出力の関係図\relax }}{2}{}\protected@file@percent } \providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}} \newlabel{fig:dgcg}{{1}{2}} +\newlabel{src:cbc}{{1}{2}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}CbCのプログラム例}{2}{}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {3}\hskip 1zw{GearsOS}}{2}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Contextを参照する流れ\relax }}{2}{}\protected@file@percent } \newlabel{fig:context}{{2}{2}} -\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces CodeGearとMetaCodeGearの関係\relax }}{2}{}\protected@file@percent } -\newlabel{fig:meta-cgdg}{{3}{2}} -\@writefile{toc}{\contentsline {section}{\numberline {4}\hskip 1zw{Unixのファイルシステム}}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5}\hskip 1zw{GearsFileSystemにおけるディレクトリの構成}}{3}{}\protected@file@percent } -\newlabel{src:ftree}{{1}{3}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}FTreeのinterface}{3}{}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces index treeを用いたinodeの検索の流れ\relax }}{3}{}\protected@file@percent } -\newlabel{fig:inode}{{4}{3}} -\@writefile{toc}{\contentsline {section}{\numberline {6}\hskip 1zw{GearsFileSystemにおけるインターフェース}}{3}{}\protected@file@percent } +\citation{xv6} +\citation{xv6component} +\citation{xv6kernel} +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces CodeGearとMetaCodeGearの関係\relax }}{3}{}\protected@file@percent } +\newlabel{fig:meta-cgdg}{{3}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {4}\hskip 1zw{Unixのファイルシステム}}{3}{}\protected@file@percent } +\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces inodeでのファイル属性情報\relax }}{3}{}\protected@file@percent } +\newlabel{table:inode}{{1}{3}} +\newlabel{src:ftree}{{2}{3}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}FTreeのinterface}{3}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces index treeを用いたinodeの検索の流れ\relax }}{4}{}\protected@file@percent } +\newlabel{fig:inode}{{4}{4}} \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces 非破壊的なTree編集\relax }}{4}{}\protected@file@percent } \newlabel{fig:TreeEdit}{{5}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}{mkdir}}{4}{}\protected@file@percent } -\newlabel{src:mkdir}{{2}{4}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}mkdirのCodeGear}{4}{}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces mkdirの操作の流れ\relax }}{4}{}\protected@file@percent } -\newlabel{fig:mkdir}{{6}{4}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}{ls}}{4}{}\protected@file@percent } -\newlabel{src:ls}{{3}{4}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}lsのCodeGear}{4}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5}\hskip 1zw{GearsFileSystemにおけるインターフェース}}{4}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}{mkdir}}{4}{}\protected@file@percent } +\newlabel{src:mkdir}{{3}{4}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}mkdirのCodeGear}{4}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}{ls}}{4}{}\protected@file@percent } \citation{cfile} -\citation{file} +\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces mkdirの操作の流れ\relax }}{5}{}\protected@file@percent } +\newlabel{fig:mkdir}{{6}{5}} +\newlabel{src:ls}{{4}{5}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}lsのCodeGear}{5}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces lsの操作の流れ\relax }}{5}{}\protected@file@percent } \newlabel{fig:ls}{{7}{5}} -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}{cd}}{5}{}\protected@file@percent } -\newlabel{src:cd}{{4}{5}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}cdのCodeGear}{5}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}{cd}}{5}{}\protected@file@percent } +\newlabel{src:cd}{{5}{5}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}cdのCodeGear}{5}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces cdの操作の流れ\relax }}{5}{}\protected@file@percent } \newlabel{fig:cd}{{8}{5}} -\@writefile{toc}{\contentsline {section}{\numberline {7}\hskip 1zw{GearsFileSystemにおけるファイルの構成}}{5}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {8}\hskip 1zw{今後の課題}}{5}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}{GearsShell}}{5}{}\protected@file@percent } +\citation{file} \citation{*} \bibstyle{ipsjunsrt} \bibdata{matac-bib} \bibcite{modelcheck}{1} \bibcite{cbcllvm}{2} \bibcite{cbc}{3} +\@writefile{toc}{\contentsline {section}{\numberline {6}\hskip 1zw{GearsFileSystemにおけるファイルの構成}}{6}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces WordCount with CbC\relax }}{6}{}\protected@file@percent } +\newlabel{fig:WCStates}{{9}{6}} +\@writefile{toc}{\contentsline {section}{\numberline {7}\hskip 1zw{今後の課題}}{6}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}{GearsShell}}{6}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}{GearsDirectory filename}}{6}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}{GearsDirectory path}}{6}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}{ファイルのバックアップ}}{6}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.5}{GearsDirectory on disk}}{6}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {7.6}{Memory Management}}{6}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {8}\hskip 1zw{まとめ}}{6}{}\protected@file@percent } \bibcite{gears}{4} \bibcite{gearsos}{5} \bibcite{cr}{6} @@ -63,13 +74,5 @@ \bibcite{cfile}{10} \bibcite{file}{11} \bibcite{christie}{12} -\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces WordCount with CbC\relax }}{6}{}\protected@file@percent } -\newlabel{fig:WCStates}{{9}{6}} -\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}{GearsDirectory filename}}{6}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {8.3}{GearsDirectory path}}{6}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {8.4}{ファイルのバックアップ}}{6}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {8.5}{GearsDirectory on disk}}{6}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {8.6}{Memory Management}}{6}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {9}\hskip 1zw{まとめ}}{6}{}\protected@file@percent } -\newlabel{ipsj@lastpage}{{}{6}} -\gdef \@abspage@last{6} +\newlabel{ipsj@lastpage}{{}{7}} +\gdef \@abspage@last{7}
--- a/Paper/paper.log Thu May 05 21:15:02 2022 +0900 +++ b/Paper/paper.log Thu May 05 21:37:07 2022 +0900 @@ -1,4 +1,4 @@ -This is e-pTeX, Version 3.141592653-p3.9.0-210218-2.6 (utf8.euc) (TeX Live 2021) (preloaded format=platex 2021.11.27) 5 MAY 2022 21:14 +This is e-pTeX, Version 3.141592653-p3.9.0-210218-2.6 (utf8.euc) (TeX Live 2021) (preloaded format=platex 2021.11.27) 5 MAY 2022 21:34 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -3167,72 +3167,78 @@ ] +LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined +(Font) No change on input line 153. +LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined +(Font) No change on input line 154. + (./src/hello.cbc) File: figs/context.pdf Graphic file (type pdf) <figs/context.pdf> File: figs/meta-cg-dg.pdf Graphic file (type pdf) <figs/meta-cg-dg.pdf> [2] LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 208. +(Font) No change on input line 219. LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 211. +(Font) No change on input line 222. +LaTeX Font Info: Calculating math sizes for size <8.8711> on input line 227. (./src/FTree.h) File: figs/inode.pdf Graphic file (type pdf) <figs/inode.pdf> + [3] File: figs/nonDestroyTreeEdit.pdf Graphic file (type pdf) <figs/nonDestroyTreeEdit.pdf> -Underfull \hbox (badness 4927) in paragraph at lines 268--268 +Underfull \hbox (badness 4927) in paragraph at lines 304--304 []\OT1/cmr/bx/n/11.82813 GearsFileSystem \JY1/gt/m/n/11.82813 におけるインタ ー [] LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <9.61035> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 273. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 309. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <9.61035> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 273. -LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 277. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 309. LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 277. -LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 279. -LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 280. -LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 280. +(Font) No change on input line 313. LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 281. -[3] (./src/mkdir.cbc) -File: figs/mkdir.pdf Graphic file (type pdf) -<figs/mkdir.pdf> -LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 294. +(Font) No change on input line 313. LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 296. +(Font) No change on input line 315. LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 298. - (./src/ls.cbc) -File: figs/ls.pdf Graphic file (type pdf) -<figs/ls.pdf> +(Font) No change on input line 316. LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined (Font) No change on input line 316. LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined (Font) No change on input line 317. +(./src/mkdir.cbc) +File: figs/mkdir.pdf Graphic file (type pdf) +<figs/mkdir.pdf> LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined -(Font) No change on input line 319. - [4] (./src/cd.cbc) +(Font) No change on input line 330. +LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined +(Font) No change on input line 332. +LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined +(Font) No change on input line 334. + [4] (./src/ls.cbc) +File: figs/ls.pdf Graphic file (type pdf) +<figs/ls.pdf> +LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined +(Font) No change on input line 352. +LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined +(Font) No change on input line 353. +LaTeX Font Info: Kanji font shape `JY1/gt/m/it' undefined +(Font) No change on input line 355. + (./src/cd.cbc) File: figs/cd.pdf Graphic file (type pdf) <figs/cd.pdf> + [5] File: figs/wordCountStates.pdf Graphic file (type pdf) <figs/wordCountStates.pdf> - [5] (./paper.bbl -LaTeX Font Info: Calculating math sizes for size <8.8711> on input line 1. - + (./paper.bbl Underfull \hbox (badness 10000) in paragraph at lines 9--10 []\JY1/mc/m/n/8.8711 並列信頼研究室 []\OT1/cmr/m/n/8.8711 CbC, http://www.cr.ie.u- [] - +[6] Underfull \hbox (badness 10000) in paragraph at lines 19--20 []\JY1/mc/m/n/8.8711 並列信頼研究室 []\OT1/cmr/m/n/8.8711 GearsOS, http://www.cr.ie.u- [] @@ -3247,18 +3253,20 @@ \OT1/cmr/m/n/8.8711 https://pdos.csail.mit.edu/6.828/2018/xv6/book- [] -) [6] (./paper.aux) +) [7 + +] (./paper.aux) LaTeX Font Warning: Some font shapes were not available, defaults substituted. ) Here is how much of TeX's memory you used: - 4971 strings out of 479466 - 76652 string characters out of 5870547 - 793281 words of memory out of 5000000 - 22619 multiletter control sequences out of 15000+600000 + 4999 strings out of 479466 + 76928 string characters out of 5870547 + 760281 words of memory out of 5000000 + 22644 multiletter control sequences out of 15000+600000 434850 words of font info for 166 fonts, out of 8000000 for 9000 929 hyphenation exceptions out of 8191 - 68i,10n,74p,294b,1326s stack positions out of 5000i,500n,10000p,200000b,80000s - -Output written on paper.dvi (6 pages, 52608 bytes). + 68i,10n,74p,294b,1699s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on paper.dvi (7 pages, 57080 bytes).
--- a/Paper/paper.tex Thu May 05 21:15:02 2022 +0900 +++ b/Paper/paper.tex Thu May 05 21:37:07 2022 +0900 @@ -147,6 +147,17 @@ そのことから,CbCにおける継続をfunction callによる継続と区別して,軽量継続と呼ぶ. これらの仕組みにより,ノーマルレベルとメタレベルの処理を容易に切り分けることが可能となる. +CbCのプログラム例をソースコード\ref{src:cbc}に示す. +まずmain関数においてadd1 CodeGearへgotoを行う. +その際add1へInput DataGearとしてnを渡す. +Cのgotoが\emph{goto label;}という記法で,ラベリングした箇所へjmpを行うのに対し, +CbCのgotoは\emph{goto add1(n);}という記法で,add1 CodeGearへn DataGearを渡してjmpを行う. +add1は処理の最後にadd2 CodeGearへgotoを行う. +その際Output DataGear out\_nをadd2のInput DataGearとして渡す. +このようにCbCではCodeGearのOutput DataGearを次のCodeGearのInput DataGearとして渡すことを繰り返すことで処理を進める. + +\lstinputlisting[caption=CbCのプログラム例,label=src:cbc]{src/hello.cbc} + \section{GearsOS} GearsOS\cite{gears,gearsos,cr}は当研究室で開発している,信頼性と拡張性の両立を目的としたOSである. @@ -203,14 +214,39 @@ 当研究室ではxv6のCbCでの書き換え,分析を行なっている\cite{xv6component,xv6kernel}. inodeは主にUnix系のファイルシステムで用いられる,ファイルの属性情報が書かれたデータである. -inodeにおけるファイルの属性情報はFile Type,Permissions,File Sizeなどが上げられる. +inodeにおけるファイルの属性情報は表\ref{table:inode}のようなものがある. また,inodeは識別番号としてinode numberを持つ. inode numberは一つのファイルシステム内で一意の番号であり,\emph{ls -i}コマンドで確認可能である. inodeはファイルシステム始動時にinode領域をディスク上に確保する. そのため,inode numberには上限があり,それに伴いファイルシステム上で扱えるファイル数の上限も決まる. inode numberの最大値は\emph{df -i}コマンドで確認可能である. -\section{GearsFileSystemにおけるディレクトリの構成} +\begin{table}[tb] + \begin{center} + \small + \begin{tabular}[htpb]{|c||l|} + \hline + File Types & ファイルの種類 \\ + \hline + Permissions & read write executeの実行可否\\ + \hline + UID & ファイル所有者のID \\ + \hline + GID & ファイル所有グループのID \\ + \hline + File Size & ファイルのサイズ \\ + \hline + Time Stamps & ファイル作成,編集日時 \\ + \hline + Number of link & ハードリンクの数 \\ + \hline + Location on hard disk & データのアドレス\\ + \hline + \end{tabular} + \caption{inodeでのファイル属性情報} + \label{table:inode} + \end{center} +\end{table} 当研究室ではxv6のCbCでの実装を行なっているが,今回はxv6のFileルーチンをCbCで書き換えるのではなく GearsOSへUnixのファイルシステムの仕組みを取り入れるアプローチをとる.