annotate paper/sigos.tex @ 7:e245900649c2

Discription Meta CG DG
author tobaru
date Thu, 09 May 2019 17:15:35 +0900
parents a276cea215a2
children 5655fa5ad772
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
1 %%
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
2 %% 研究報告用スイッチ
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
3 %% [techrep]
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
4 %%
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
5 %% 欧文表記無しのスイッチ(etitle,eabstractは任意)
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
6 %% [noauthor]
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
7 %%
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
8
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
9 %\documentclass[submit,techrep]{ipsj}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
10 \documentclass[submit,techrep,noauthor]{ipsj}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
11
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
12 \usepackage[dvips]{graphicx}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
13 \usepackage{latexsym}
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
14 \usepackage{pdfpages}
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
15
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
16 \def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
17 \def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
18 \def\|{\verb|}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
19 %
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
20
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
21 %\setcounter{巻数}{59}%vol59=2018
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
22 %\setcounter{号数}{10}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
23 %\setcounter{page}{1}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
24
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
25
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
26 \begin{document}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
27
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
28 \title{GearsOS の Paging と Segmentation
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
29 }
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
30
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
31 \etitle{Implement Paging and Segmentation on GearsOS }
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
32
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
33 \affiliate{IPSJ}{情報処理学会\\
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
34 IPSJ, Chiyoda, Tokyo 101--0062, Japan}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
35
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
36
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
37 \paffiliate{JU}{情報処理大学\\
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
38 Johoshori Uniersity}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
39
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
40 \author{桃原 優}{Yu Tobaru}{IPSJ}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
41 \author{東恩納 琢偉}{Takui Higashionna}{IPSJ}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
42 \author{河野 真治}{Shinji Kono}{IPSJ,JU}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
43
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
44 \begin{abstract}
3
e63174b29b96 fix abstract
tobaru
parents: 1
diff changeset
45 現代のOSでは, User Space で Page Table Entry による メモリ管理を行えるOSは少ない。
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
46 本研究室ではメタレベルの処理を記述できる CbC と CbC を用いて実装する GearsOS の開発を行っている。
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
47 CbC を用いることでメモリ管理などの資源管理を行えるようになるが, 現在の GearsOS でのメモリ管理では単に Page Table Entry をコピーする Fork で実装している。さらに, 資源管理を行える CbC で軽量なハードウェアでも動かせるように Arm のバイナリを出力する Xv6 という OS を CbC で書き直して GearsOS を開発する手法も行なっている。本論文ではXv6 を参考に GearsOS にメモリ管理を行う API を考察する。
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
48
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
49
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
50 \end{abstract}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
51
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
52
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
53 %
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
54 %\begin{jkeyword}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
55 %情報処理学会論文誌ジャーナル,\LaTeX,スタイルファイル,べからず集
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
56 %\end{jkeyword}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
57 %
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
58 %\begin{eabstract}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
59 %This document is a guide to prepare a draft for submitting to IPSJ
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
60 %Journal, and the final camera-ready manuscript of a paper to appear in
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
61 %IPSJ Journal, using {\LaTeX} and special style files. Since this
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
62 %document itself is produced with the style files, it will help you to
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
63 %refer its source file which is distributed with the style files.
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
64 %\end{eabstract}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
65 %
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
66 %\begin{ekeyword}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
67 %IPSJ Journal, \LaTeX, style files, ``Dos and Dont's'' list
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
68 %\end{ekeyword}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
69
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
70 \maketitle
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
71
3
e63174b29b96 fix abstract
tobaru
parents: 1
diff changeset
72
e63174b29b96 fix abstract
tobaru
parents: 1
diff changeset
73 % 書けるならなぜこれをやっているかを1章に書く
e63174b29b96 fix abstract
tobaru
parents: 1
diff changeset
74
4
54a8bf3bba7b Description CbC
tobaru
parents: 3
diff changeset
75 \section{User Space でのメモリ管理}
54a8bf3bba7b Description CbC
tobaru
parents: 3
diff changeset
76 基本、メモリやスレッド, CPUの管理は OS が行なっている。時代とともに急速に進歩するハードウェアやソフトウェアに対して、OS も
54a8bf3bba7b Description CbC
tobaru
parents: 3
diff changeset
77
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
78
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
79 %2
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
80
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
81 \section{Gears OS}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
82 本研究室では並列実行のサポートと, 信頼性を保証する Gears OS の開発を行っている。
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
83 従来の OS が行うメモリ管理や並列実行などは Meta レベルで処理される。メタレベルの処理を行える CbC という言語で Gears OS を実装する事で, ノーマルレベルから 並列実行環境に合わせた記述ができるように設計や実装を行う。
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
84
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
85 \subsection{Continuation based C}
4
54a8bf3bba7b Description CbC
tobaru
parents: 3
diff changeset
86 本研究室では、Code Gear と Data Gear という単位でプログラムを記述する CbC と CbC を用いて実装する Gears OS の研究を行っている。Code Gear は CbC における最も基本的な処理の単位である。 入力と出力を持ち、goto によって Code Gear から次の Code Gear へ遷移する事で継続的に処理を行う事によって並列処理を行うことができる。
54a8bf3bba7b Description CbC
tobaru
parents: 3
diff changeset
87 Data Gear は Gears OS におけるデータの基本的な単位である。Input Data Gear と Output Data Gear があり, Code Gear の遷移の際に Input Data Gear を受け取り, Output Data Gear を書き出す。
3
e63174b29b96 fix abstract
tobaru
parents: 1
diff changeset
88
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
89
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
90 \begin{figure}[ht]
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
91 \begin{center}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
92 \includegraphics[width=80mm,bb=0 0 595 642]{../images/codesegment.pdf}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
93 \end{center}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
94 \caption{Code Gear 間の継続}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
95 \label{fig:codegear}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
96 \end{figure}
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
97
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
98
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
99 \subsection{Meta Code Gear と Meta Data Gear}
7
e245900649c2 Discription Meta CG DG
tobaru
parents: 5
diff changeset
100 Gears OS ではメタ計算を Meta Code Gear, Meta Data Gear で表現する。CbC でもノーマルレベルとメタ計算を行うメタレベルの記述の2種類がある。この2つのレベルはプログラミング言語レベルでの変換として実現される。メタレベルへの変換は, Perl による変換スクリプトで実装している。
e245900649c2 Discription Meta CG DG
tobaru
parents: 5
diff changeset
101 Gears OS では, Meta Code Gear は通常の Code Gear の直前, 直後に挿入され, メタ計算を実行する。 Code Gear 間の継続はノーマルレベルでは 図\ref{fig:metacodegear} の上のように見えるが, メタレベルでは Code Gear は 図\ref{fig:metacodegear} の下のように継続を行っている。
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
102
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
103
3
e63174b29b96 fix abstract
tobaru
parents: 1
diff changeset
104 % Data Gear を Paging , Code Gear を Segmentation として
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
105 図\ref{fig:metacodegear} に Gears OS の構成図を示す。
3
e63174b29b96 fix abstract
tobaru
parents: 1
diff changeset
106
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
107 \begin{figure}[ht]
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
108 \begin{center}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
109 \includegraphics[width=80mm,bb=0 0 595 642]{../images/meta_cg_dg.pdf}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
110 \end{center}
7
e245900649c2 Discription Meta CG DG
tobaru
parents: 5
diff changeset
111 \caption{ノーマルレベルとメタレベルの継続の見え方}
5
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
112 \label{fig:metacodegear}
a276cea215a2 add Discription GearsOS
tobaru
parents: 4
diff changeset
113 \end{figure}
1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
114
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
115
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
116 %3
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
117 \section{PagingとSegmentation}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
118
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
119
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
120 \section{Xv6}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
121
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
122
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
123 %4
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
124 \section{PagingとSegmentationのGearsOSへの実装}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
125 \label{config}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
126
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
127 ファイルは次のようになる.下線部は投稿時に省略可能なもの.
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
128
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
129
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
130
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
131 %4.1
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
132 \subsection{表題・著者名等}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
133
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
134
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
135
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
136
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
137
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
138
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
139 \begin{acknowledgment}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
140 A4横型に対するガイドを基に,本稿を作成した.
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
141 クラスファイルの作成においては,
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
142 京都大学の中島 浩氏にさまざまなご教示を頂き,
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
143 さらにBiB\TeX 関連ファイルの利用についても快諾頂いたことを深謝する.
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
144 また,A4横型に対するガイドを作成された当時の編集委員会の担当者に深謝する.
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
145 \end{acknowledgment}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
146
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
147
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
148
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
149 \begin{thebibliography}{10}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
150
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
151 \bibitem{okumura}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
152 奥村晴彦:改訂第5版\LaTeXe 美文書作成入門,
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
153 技術評論社(2010).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
154
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
155 \bibitem{companion}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
156 Goossens, M., Mittelbach, F. and Samarin, A.:
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
157 {\it The LaTeX Companion},
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
158 Addison Wesley, Reading, Massachusetts (1993).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
159
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
160 \bibitem{book1}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
161 木下是雄:
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
162 理科系の作文技術,
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
163 中公新書(1981).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
164
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
165 \bibitem{book2}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
166 Strunk W. J. and White E.B.:
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
167 {\it The Elements of Style, Forth Edition},
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
168 Longman (2000).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
169
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
170 \bibitem{book3}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
171 Blake G. and Bly R.W.:
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
172 {\it The Elements of Technical Writing},
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
173 Longman (1993).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
174
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
175 \bibitem{book4}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
176 Higham N.J.:
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
177 {\it Handbook of Writing for the Mathematical Sciences},
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
178 SIAM (1998).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
179
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
180 \bibitem{webpage1}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
181 情報処理学会論文誌ジャーナル編集委員会:
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
182 投稿者マニュアル(online),
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
183 \urlj{http://www.ipsj.or.jp/journal /submit/manual/j\_manual.html}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
184 (2007.04.05).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
185
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
186 \bibitem{webpage2}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
187 情報処理学会論文誌ジャーナル編集委員会:
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
188 べからず集(online),
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
189 \urlj{http://www.ipsj.or.jp/journal/manual /bekarazu.html}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
190 (2011.09.15).
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
191
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
192 \end{thebibliography}
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
193
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
194
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
195
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
196
5dbda2e6cb0e add papar sample
tobaru
parents:
diff changeset
197 \end{document}