0
|
1 \documentclass[twocolumn,twoside,9.5pt]{jarticle}
|
|
2 \usepackage[dvipdfmx]{graphicx}
|
|
3 \usepackage{picins}
|
|
4 \usepackage{fancyhdr}
|
|
5 \usepackage{listings}
|
|
6 \usepackage{caption}
|
|
7 \usepackage{latexsym}
|
3
|
8 \usepackage{url}
|
|
9 \usepackage{abstract}
|
|
10 \usepackage{float}
|
0
|
11
|
|
12 %\pagestyle{fancy}
|
|
13 \lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 中間発表予稿}
|
|
14 \rhead{}
|
|
15 \cfoot{}
|
|
16
|
|
17 \setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}}
|
|
18 \setlength{\headheight}{0mm}
|
|
19 \setlength{\headsep}{5mm}
|
|
20 \setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}}
|
|
21 \setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}}
|
|
22 \setlength{\textwidth}{181mm}
|
|
23 \setlength{\textheight}{261mm}
|
|
24 \setlength{\footskip}{0mm}
|
|
25 \pagestyle{empty}
|
|
26
|
3
|
27 \usepackage{comment}
|
|
28 \usepackage{listings}
|
|
29 \lstset{
|
|
30 language=C,
|
|
31 tabsize=2,
|
|
32 frame=single,
|
|
33 basicstyle={\ttfamily\footnotesize}, %
|
|
34 identifierstyle={\footnotesize}, %
|
|
35 commentstyle={\footnotesize\itshape}, %
|
|
36 keywordstyle={\footnotesize\bfseries}, %
|
|
37 ndkeywordstyle={\footnotesize}, %
|
|
38 stringstyle={\footnotesize\ttfamily},
|
|
39 breaklines=true,
|
|
40 captionpos=b,
|
|
41 columns=[l]{fullflexible}, %
|
|
42 xrightmargin=0zw, %
|
|
43 xleftmargin=1zw, %
|
|
44 aboveskip=1zw,
|
|
45 numberstyle={\scriptsize}, %
|
|
46 stepnumber=1,
|
|
47 numbersep=0.5zw, %
|
|
48 lineskip=-0.5ex,
|
|
49 }
|
|
50 \renewcommand{\lstlistingname}{Code}
|
|
51 \usepackage{caption}
|
|
52 \captionsetup[lstlisting]{font={small, tt}}
|
|
53
|
|
54 \renewcommand{\abstractname}{概要}
|
|
55
|
0
|
56 \begin{document}
|
3
|
57 \title{xv6 kernel上でのCbCによるinterfaceの実装\\CbC interface implementation in xv6 kernel}
|
0
|
58 \author{学籍番号 : 165723C 氏名 : 坂本昂弘 {}{} 指導教員 : 河野真治}
|
|
59 \date{}
|
|
60 \maketitle
|
|
61 \thispagestyle{fancy}
|
|
62
|
3
|
63 \section{研究目的}
|
0
|
64
|
4
|
65 呼び出されたCodeGearの番号とcontext上のinterfaceの引数で状態が分かる.
|
|
66 つまり.CbCのinterfaceを使うとモジュール化とOS内部の明確化がstackなしで実現できる.
|
|
67
|
|
68 本研究ではこれらのことを用い,xv6のinterfaceをCbCで書き換えることによりプロセスごとにkernelの中がどんな状態を保っているかを明確にし,OSの信頼性を保証したい.
|
|
69
|
0
|
70 \section{Continuation based C}
|
4
|
71 xv6 kernel上でinterfaceを実装する際,当研究室で開発されたプログラミング言語 Continuation based C (CbC)を用いる.
|
|
72 CbC は基本的な処理単位を CodeGearとして定義し,CodeGea間で遷移するようにプログラムを記述するC言語と互換性のあるプログラミング言語である.
|
|
73 CodeGearは返り値を持たない為,関数内で処理が終了すると呼び出し元の関数に戻ることがなく別のCodeGearへ遷移する.
|
|
74 またCbCにおけるCodeGear間の継続にはスタックが使用できず,呼び出し元の環境などを持たない為軽量継続と呼ぶ.
|
3
|
75
|
4
|
76 %CbCは軽量継続を中心にプログラミングする事が可能であるため,レジスタの移動などが行われない.
|
|
77 %その為並列化やループ制御,関数呼び出しにおけるスタック制御などを意識したプログラミングスタイルでプログラミングする事が可能である.
|
0
|
78
|
4
|
79 \section{CbCのAgdaForm}
|
|
80 CbCはAgdaに変換できるように設計されている為,CbCで実装したプログラムはAgdaによって定理証明が可能である.ー>ってことを書けば良い?
|
|
81 \section{CbCのcontext}
|
|
82 CbCのcontextには引数の置き場所が書いてある.引数の置き場所とはCodeGearのことでありCodeGearには引数が格納されている?.
|
|
83 番号で管理している。
|
|
84 dataの保存先と実行するdategearの保存先
|
|
85 パルスさんの修論
|
|
86 コンテキストには引数置き場所が書いてあるー>CodeGear
|
3
|
87 \section{xv6のinterface}
|
0
|
88
|
|
89 \section{今後の課題}
|
|
90
|
|
91 %\begin{thebibliography}{9}
|
|
92
|
|
93 \nocite{*}
|
3
|
94 \bibliographystyle{ipsjunsrt}
|
0
|
95 \bibliography{reference}
|
|
96
|
|
97 %\end{thebibliography}
|
|
98 \end{document} |