changeset 3:db8087751680

add chapter GearsOS
author tobaru
date Mon, 27 Jan 2020 23:08:31 +0900
parents e3f6ba6126b5
children a4a1a68d8811
files .hgignore paper/GearsOS.tex paper/Paging.tex paper/abstract.tex paper/fig/codegear.pdf paper/fig/codesegment.graffle paper/fig/meta_cg_dg.graffle paper/fig/meta_cg_dg.pdf paper/master_paper.aux paper/master_paper.lof paper/master_paper.log paper/master_paper.lot paper/master_paper.pdf paper/master_paper.synctex.gz paper/master_paper.tex paper/master_paper.toc paper/memory_manage.tex thsis_paging.mm
diffstat 18 files changed, 1221 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Thu Jan 23 14:17:22 2020 +0900
+++ b/.hgignore	Mon Jan 27 23:08:31 2020 +0900
@@ -14,3 +14,4 @@
 *.cpt 
 +
 −*.swo
+GearsOS_Paging_Segmentation.mm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/GearsOS.tex	Mon Jan 27 23:08:31 2020 +0900
@@ -0,0 +1,43 @@
+\chapter{Geas OS}
+  信頼性の保証と並列実行のサポートを目的として, Gears OS を開発している.
+従来の OS が行うメモリ管理並列実行は Meta レベル(kernel space)で処理される.
+ノーマルレベルからメタレベルの記述ができる GearsOS を開発している.
+
+\section{Code Gear と Data Gear}
+ Gears OS は Code Gear と Data Gear という単位でプログラムを記述する CbC を用いて実装する.
+Code Gear は CbC における最も基本的な処理の単位である.
+Code Gear 間で入力(Input Data Gear)と出力(Output Data Gear)を持ち,goto によって Code Gear から次の Code Gear へ遷移し,継続的に処理を行う.
+関数呼び出しとは異なり,呼び出し元には戻らない.j
+Code Gear 間の処理の流れを図 \ref{fig:codegear} に示す.
+
+
+% 状態遷移ベースのプログラミング言語である.
+% (継続的に処理を行う)ことで検証を容易に余す所なく行うことができる.
+ \begin{figure}[ht]
+ \begin{center}
+  \includegraphics[width=160mm]{./fig/codegear}
+ \end{center}
+ \caption{Code Gear 間の継続}
+ \label{fig:codegear}
+\end{figure}
+
+
+Data Gear は CbC におけるデータの基本的な単位である.Input Data Gear と Output Data Gear があり,Code Gear の遷移の際に Input Data Gear を受け取り,Output Data Gear を書き出す.
+\par 
+
+
+\section{Meta Code Gear と Meta Data Gear}
+ CbC ではノーマルレベルの記述と別にメタレベルで記述することができる.メタレベルの記述によって User Space 側からメモリ管理を行えるようになる.
+\par
+メタ計算は Meta Code Gear と Meta Data Gear を用いる.この2つはノーマルレベルからメタレベルの変換する時に使われる.メタレベルの変換は Perl スクリプトで実装している.Gears OS での Meta Code Gear は Code Gear の直前, 直後に挿入され,メタ計算を実行する.
+Code Gear 間の継続はノーマルレベルでは 図 \ref{fig:codegear} のように見えるが,メタレベルでの Code Gear は図 \ref{fig:meta_cg_dg } の下のように継続を行っている.
+
+ \begin{figure}[ht]
+ \begin{center}
+  \includegraphics[width=160mm]{./fig/meta_cg_dg}
+ \end{center}
+ \caption{ノーマルレベルとメタレベルの継続の見え方}
+ \label{fig:meta_cg_dg}
+\end{figure}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/Paging.tex	Mon Jan 27 23:08:31 2020 +0900
@@ -0,0 +1,2 @@
+\chapter{Gears OS での Paging} 
+  メモリ管理の手法に, Paging がある.Paging ではメモリを Page と呼ばれる固定長の単位に分割し,メモリとスワップ領域で Page を入れ替えて管理を行う.
--- a/paper/abstract.tex	Thu Jan 23 14:17:22 2020 +0900
+++ b/paper/abstract.tex	Mon Jan 27 23:08:31 2020 +0900
@@ -1,4 +1,6 @@
 \chapter*{要旨}
+ 時代とともに進歩するハードウェアやソフトウェアに対して, OS 自体に信頼性が求められる. メモリ管理は OS の信頼性の基本であるが, 現代の OS では, User Space で Page Table Entry によるメモリ管理を行える OS は少ない, 本研究室で開発したメタレベルの記述ができる CbC という言語を用いて, OS の信頼性の基本であるメモリ管理を行える OS を実装することで, OS の信頼性を保証したい.
+既存の Gears OS でのメモリ管理では単に Page Table Entry をコピーする Fork を実装しているが, さらに資源管理を行える CbC で軽量なハードウェアでも動かせるように Arm のバイナリを 出力する Xv6 を参考に GearsOS にメモリ管理を行う API を考察する。
 
 \chapter*{Abstract}
 % 英語
Binary file paper/fig/codegear.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/fig/codesegment.graffle	Mon Jan 27 23:08:31 2020 +0900
@@ -0,0 +1,1045 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ActiveLayerIndex</key>
+	<integer>0</integer>
+	<key>ApplicationVersion</key>
+	<array>
+		<string>com.omnigroup.OmniGraffle6</string>
+		<string>163.7.0.243167</string>
+	</array>
+	<key>AutoAdjust</key>
+	<true/>
+	<key>BackgroundGraphic</key>
+	<dict>
+		<key>Bounds</key>
+		<string>{{0, 0}, {559, 783}}</string>
+		<key>Class</key>
+		<string>SolidGraphic</string>
+		<key>ID</key>
+		<integer>2</integer>
+		<key>Style</key>
+		<dict>
+			<key>stroke</key>
+			<dict>
+				<key>Draws</key>
+				<string>NO</string>
+			</dict>
+		</dict>
+	</dict>
+	<key>BaseZoom</key>
+	<integer>0</integer>
+	<key>CanvasOrigin</key>
+	<string>{0, 0}</string>
+	<key>ColumnAlign</key>
+	<integer>1</integer>
+	<key>ColumnSpacing</key>
+	<real>36</real>
+	<key>CreationDate</key>
+	<string>2011-11-12 11:03:25 +0000</string>
+	<key>Creator</key>
+	<string>Nobuyasu Oshiro</string>
+	<key>DisplayScale</key>
+	<string>1 in = 1.00000 in</string>
+	<key>GraphDocumentVersion</key>
+	<integer>12</integer>
+	<key>GraphicsList</key>
+	<array>
+		<dict>
+			<key>Bounds</key>
+			<string>{{315.5, 89.625}, {45.933593999999999, 18.375}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>32</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{1, 1}</string>
+				<string>{1, -1}</string>
+				<string>{-1, -1}</string>
+				<string>{-1, 1}</string>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+				<string>{-0.5, -0.233518}</string>
+				<string>{-0.49144199, 0.26006298999999999}</string>
+				<string>{0.50711799000000002, -0.22408600000000001}</string>
+				<string>{0.50711799000000002, 0.26717900999999999}</string>
+				<string>{-0.27430999, -0.47402799000000001}</string>
+				<string>{0.27977999999999997, -0.47847801000000001}</string>
+				<string>{0.29393801000000003, 0.54304397000000004}</string>
+				<string>{-0.28623198999999999, 0.55380397999999997}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 goto}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{315.5, 171}, {45.933593999999999, 18.375}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>31</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{1, 1}</string>
+				<string>{1, -1}</string>
+				<string>{-1, -1}</string>
+				<string>{-1, 1}</string>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+				<string>{-0.5, -0.233518}</string>
+				<string>{-0.49144199, 0.26006298999999999}</string>
+				<string>{0.50711799000000002, -0.22408600000000001}</string>
+				<string>{0.50711799000000002, 0.26717900999999999}</string>
+				<string>{-0.27430999, -0.47402799000000001}</string>
+				<string>{0.27977999999999997, -0.47847801000000001}</string>
+				<string>{0.29393801000000003, 0.54304397000000004}</string>
+				<string>{-0.28623198999999999, 0.55380397999999997}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 goto}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{190.20312000000001, 167}, {45.933593999999999, 18.375}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>30</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{1, 1}</string>
+				<string>{1, -1}</string>
+				<string>{-1, -1}</string>
+				<string>{-1, 1}</string>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+				<string>{-0.5, -0.233518}</string>
+				<string>{-0.49144199, 0.26006298999999999}</string>
+				<string>{0.50711799000000002, -0.22408600000000001}</string>
+				<string>{0.50711799000000002, 0.26717900999999999}</string>
+				<string>{-0.27430999, -0.47402799000000001}</string>
+				<string>{0.27977999999999997, -0.47847801000000001}</string>
+				<string>{0.29393801000000003, 0.54304397000000004}</string>
+				<string>{-0.28623198999999999, 0.55380397999999997}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 goto}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{405.93358999999998, 125}, {54, 18}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>29</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{1, 1}</string>
+				<string>{1, -1}</string>
+				<string>{-1, -1}</string>
+				<string>{-1, 1}</string>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+				<string>{-0.5, -0.233518}</string>
+				<string>{-0.49144199, 0.26006298999999999}</string>
+				<string>{0.50711799000000002, -0.22408600000000001}</string>
+				<string>{0.50711799000000002, 0.26717900999999999}</string>
+				<string>{-0.27430999, -0.47402799000000001}</string>
+				<string>{0.27977999999999997, -0.47847801000000001}</string>
+				<string>{0.29393801000000003, 0.54304397000000004}</string>
+				<string>{-0.28623198999999999, 0.55380397999999997}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 goto}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>AllowLabelDrop</key>
+			<false/>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>28</integer>
+			<key>Points</key>
+			<array>
+				<string>{412.93358999999998, 143.02043}</string>
+				<string>{462.43358999999998, 143}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>HeadScale</key>
+					<real>1.4285709857940674</real>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>TailScale</key>
+					<real>0.5</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{90, 126}, {54, 18}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>27</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{1, 1}</string>
+				<string>{1, -1}</string>
+				<string>{-1, -1}</string>
+				<string>{-1, 1}</string>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+				<string>{-0.5, -0.233518}</string>
+				<string>{-0.49144199, 0.26006298999999999}</string>
+				<string>{0.50711799000000002, -0.22408600000000001}</string>
+				<string>{0.50711799000000002, 0.26717900999999999}</string>
+				<string>{-0.27430999, -0.47402799000000001}</string>
+				<string>{0.27977999999999997, -0.47847801000000001}</string>
+				<string>{0.29393801000000003, 0.54304397000000004}</string>
+				<string>{-0.28623198999999999, 0.55380397999999997}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 goto}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{252, 134.3125}, {45.933593999999999, 18.375}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>26</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{1, 1}</string>
+				<string>{1, -1}</string>
+				<string>{-1, -1}</string>
+				<string>{-1, 1}</string>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+				<string>{-0.5, -0.233518}</string>
+				<string>{-0.49144199, 0.26006298999999999}</string>
+				<string>{0.50711799000000002, -0.22408600000000001}</string>
+				<string>{0.50711799000000002, 0.26717900999999999}</string>
+				<string>{-0.27430999, -0.47402799000000001}</string>
+				<string>{0.27977999999999997, -0.47847801000000001}</string>
+				<string>{0.29393801000000003, 0.54304397000000004}</string>
+				<string>{-0.28623198999999999, 0.55380397999999997}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 goto}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>AllowLabelDrop</key>
+			<false/>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>3</integer>
+			</dict>
+			<key>ID</key>
+			<integer>23</integer>
+			<key>Points</key>
+			<array>
+				<string>{97, 144.03550999999999}</string>
+				<string>{146.49998746293761, 144.0150711098278}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>HeadScale</key>
+					<real>1.4285709857940674</real>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+					<key>TailScale</key>
+					<real>0.5</real>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>5</integer>
+			</dict>
+			<key>ID</key>
+			<integer>11</integer>
+			<key>Points</key>
+			<array>
+				<string>{307.07500585205361, 98.999918754825828}</string>
+				<string>{348.43055951567175, 125.99525685193555}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>1</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>5</integer>
+			</dict>
+			<key>ID</key>
+			<integer>10</integer>
+			<key>Points</key>
+			<array>
+				<string>{307.26186043637682, 188.16336425137919}</string>
+				<string>{348.23813950009429, 161.83663569266628}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>4</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>4</integer>
+			</dict>
+			<key>ID</key>
+			<integer>9</integer>
+			<key>Points</key>
+			<array>
+				<string>{210.76185626929413, 161.83663320940951}</string>
+				<string>{251.73814335207351, 188.16336712407889}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>3</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>1</integer>
+			</dict>
+			<key>ID</key>
+			<integer>8</integer>
+			<key>Points</key>
+			<array>
+				<string>{210.57341994033268, 125.99869997041526}</string>
+				<string>{251.92658014046799, 99.001300099634591}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>3</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>4</integer>
+			</dict>
+			<key>ID</key>
+			<integer>7</integer>
+			<key>Points</key>
+			<array>
+				<string>{293.55569627859614, 106.37834050302079}</string>
+				<string>{315.5, 146}</string>
+				<string>{294.53436892560063, 180.94271845733229}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>1</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>1</integer>
+			</dict>
+			<key>ID</key>
+			<integer>6</integer>
+			<key>Points</key>
+			<array>
+				<string>{263.99039783562887, 181.10804590903402}</string>
+				<string>{239, 141}</string>
+				<string>{262.95578718585557, 105.50994490984354}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Legacy</key>
+					<true/>
+					<key>LineType</key>
+					<integer>1</integer>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>4</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{340, 117}, {72, 54}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>5</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 Code Gear}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{243.5, 179}, {72, 54}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>4</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 Code Gear}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{147, 117}, {72, 54}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>3</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 Code Gear}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{243.5, 54}, {72, 54}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>1</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 Code Gear}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{197.56640999999999, 98.625}, {45.933593999999999, 18.375}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>ID</key>
+			<integer>25</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{1, 1}</string>
+				<string>{1, -1}</string>
+				<string>{-1, -1}</string>
+				<string>{-1, 1}</string>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+				<string>{-0.5, -0.233518}</string>
+				<string>{-0.49144199, 0.26006298999999999}</string>
+				<string>{0.50711799000000002, -0.22408600000000001}</string>
+				<string>{0.50711799000000002, 0.26717900999999999}</string>
+				<string>{-0.27430999, -0.47402799000000001}</string>
+				<string>{0.27977999999999997, -0.47847801000000001}</string>
+				<string>{0.29393801000000003, 0.54304397000000004}</string>
+				<string>{-0.28623198999999999, 0.55380397999999997}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg1252\cocoartf2511
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 goto}</string>
+				<key>VerticalPad</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+	</array>
+	<key>GridInfo</key>
+	<dict/>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>HPages</key>
+	<integer>1</integer>
+	<key>ImageCounter</key>
+	<integer>1</integer>
+	<key>KeepToScale</key>
+	<false/>
+	<key>Layers</key>
+	<array>
+		<dict>
+			<key>Lock</key>
+			<string>NO</string>
+			<key>Name</key>
+			<string>Layer 1</string>
+			<key>Print</key>
+			<string>YES</string>
+			<key>View</key>
+			<string>YES</string>
+		</dict>
+	</array>
+	<key>LayoutInfo</key>
+	<dict>
+		<key>Animate</key>
+		<string>NO</string>
+		<key>circoMinDist</key>
+		<real>18</real>
+		<key>circoSeparation</key>
+		<real>0.0</real>
+		<key>layoutEngine</key>
+		<string>dot</string>
+		<key>neatoLineLength</key>
+		<real>0.20000000298023224</real>
+		<key>neatoSeparation</key>
+		<real>0.0</real>
+		<key>twopiSeparation</key>
+		<real>0.0</real>
+	</dict>
+	<key>LinksVisible</key>
+	<string>NO</string>
+	<key>MagnetsVisible</key>
+	<string>NO</string>
+	<key>MasterSheets</key>
+	<array/>
+	<key>ModificationDate</key>
+	<string>2020-01-27 09:07:33 +0000</string>
+	<key>Modifier</key>
+	<string>桃原優</string>
+	<key>NotesVisible</key>
+	<string>NO</string>
+	<key>Orientation</key>
+	<integer>2</integer>
+	<key>OriginVisible</key>
+	<string>NO</string>
+	<key>PageBreaks</key>
+	<string>YES</string>
+	<key>PrintInfo</key>
+	<dict>
+		<key>NSBottomMargin</key>
+		<array>
+			<string>float</string>
+			<string>41</string>
+		</array>
+		<key>NSHorizonalPagination</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
+		</array>
+		<key>NSLeftMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{595, 842}</string>
+		</array>
+		<key>NSPrintReverseOrientation</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
+		</array>
+		<key>NSRightMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSTopMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+	</dict>
+	<key>PrintOnePage</key>
+	<false/>
+	<key>ReadOnly</key>
+	<string>NO</string>
+	<key>RowAlign</key>
+	<integer>1</integer>
+	<key>RowSpacing</key>
+	<real>36</real>
+	<key>SheetTitle</key>
+	<string>Canvas 1</string>
+	<key>SmartAlignmentGuidesActive</key>
+	<string>YES</string>
+	<key>SmartDistanceGuidesActive</key>
+	<string>YES</string>
+	<key>UniqueID</key>
+	<integer>1</integer>
+	<key>UseEntirePage</key>
+	<false/>
+	<key>VPages</key>
+	<integer>1</integer>
+	<key>WindowInfo</key>
+	<dict>
+		<key>CurrentSheet</key>
+		<integer>0</integer>
+		<key>Expanded_Canvases</key>
+		<array/>
+		<key>Frame</key>
+		<string>{{205, 0}, {989, 877}}</string>
+		<key>ShowInfo</key>
+		<true/>
+		<key>ShowRuler</key>
+		<true/>
+		<key>Sidebar</key>
+		<true/>
+		<key>SidebarWidth</key>
+		<integer>200</integer>
+		<key>TopSlabHeight</key>
+		<real>33</real>
+		<key>VisibleRegion</key>
+		<string>{{15, 0}, {460, 703}}</string>
+		<key>Zoom</key>
+		<real>1</real>
+		<key>ZoomValues</key>
+		<array>
+			<array>
+				<string>Canvas 1</string>
+				<real>1</real>
+				<real>1</real>
+			</array>
+		</array>
+	</dict>
+</dict>
+</plist>
Binary file paper/fig/meta_cg_dg.graffle has changed
Binary file paper/fig/meta_cg_dg.pdf has changed
--- a/paper/master_paper.aux	Thu Jan 23 14:17:22 2020 +0900
+++ b/paper/master_paper.aux	Mon Jan 27 23:08:31 2020 +0900
@@ -1,2 +1,17 @@
 \relax 
-\@writefile{toc}{\contentsline {chapter}{付録}{1}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {第1章}メモリ管理による信頼性の保証}{2}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {chapter}{\numberline {第2章}Geas OS}{3}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {2.1}Code Gear と Data Gear}{3}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Code Gear 間の継続}}{3}\protected@file@percent }
+\newlabel{fig:codegear}{{2.1}{3}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.2}Meta Code Gear と Meta Data Gear}{4}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces ノーマルレベルとメタレベルの継続の見え方}}{5}\protected@file@percent }
+\newlabel{fig:meta_cg_dg}{{2.2}{5}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Gears OS での Paging}{6}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {chapter}{付録}{6}\protected@file@percent }
--- a/paper/master_paper.lof	Thu Jan 23 14:17:22 2020 +0900
+++ b/paper/master_paper.lof	Mon Jan 27 23:08:31 2020 +0900
@@ -0,0 +1,5 @@
+\addvspace {10\p@ }
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {2.1}{\ignorespaces Code Gear 間の継続}}{3}%
+\contentsline {figure}{\numberline {2.2}{\ignorespaces ノーマルレベルとメタレベルの継続の見え方}}{5}%
+\addvspace {10\p@ }
--- a/paper/master_paper.log	Thu Jan 23 14:17:22 2020 +0900
+++ b/paper/master_paper.log	Mon Jan 27 23:08:31 2020 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex 2020.1.16)  23 JAN 2020 14:09
+This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex 2020.1.16)  27 JAN 2020 20:36
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
@@ -346,21 +346,68 @@
 \tf@lol=\write7
 \openout7 = `master_paper.lol'.
 
- [1
+ (./memory_manage.tex [1
+
+]
+第 1 章(2ページ)
+) (./GearsOS.tex [2
+
+]
+第 2 章(3ページ)
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 16.62714pt on input line 6.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 16.62714pt on input line 6.
+LaTeX Font Info:    Font shape `JT1/hmc/bx/n' will be
+(Font)              scaled to size 16.62714pt on input line 6.
+LaTeX Font Info:    Font shape `JY1/hmc/bx/n' will be
+(Font)              scaled to size 16.62714pt on input line 6.
+File: ./fig/codegear.pdf Graphic file (type pdf)
+<./fig/codegear.pdf>
+[3
+
+]
+
+LaTeX Warning: Reference `fig:meta_cg_dg ' on page 4 undefined on input line 33
+.
+
+File: ./fig/meta_cg_dg.pdf Graphic file (type pdf)
+<./fig/meta_cg_dg.pdf>
+
+LaTeX Warning: Float too large for page by 43.27322pt on input line 41.
+
+) (./Paging.tex
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 10.53629pt on input line 1.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 10.53629pt on input line 1.
+LaTeX Font Info:    Font shape `JT1/hmc/bx/n' will be
+(Font)              scaled to size 10.53629pt on input line 1.
+LaTeX Font Info:    Font shape `JY1/hmc/bx/n' will be
+(Font)              scaled to size 10.53629pt on input line 1.
+ [4] [5]
+第 3 章(6ページ)
+) [6
 
 ] (./master_paper.aux)
 
 LaTeX Font Warning: Size substitutions with differences
 (Font)              up to 1.28pt have occurred.
 
+
+LaTeX Warning: There were undefined references.
+
+
+LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
+
  ) 
 Here is how much of TeX's memory you used:
- 5994 strings out of 493985
- 86669 string characters out of 6166648
- 129089 words of memory out of 5000000
- 10339 multiletter control sequences out of 15000+600000
- 14725 words of font info for 72 fonts, out of 8000000 for 9000
+ 6034 strings out of 493985
+ 87286 string characters out of 6166648
+ 130106 words of memory out of 5000000
+ 10363 multiletter control sequences out of 15000+600000
+ 16141 words of font info for 82 fonts, out of 8000000 for 9000
  107 hyphenation exceptions out of 8191
- 30i,5n,36p,310b,992s stack positions out of 5000i,500n,10000p,200000b,80000s
+ 30i,10n,36p,481b,992s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on master_paper.dvi (8 pages, 3140 bytes).
+Output written on master_paper.dvi (13 pages, 11528 bytes).
--- a/paper/master_paper.lot	Thu Jan 23 14:17:22 2020 +0900
+++ b/paper/master_paper.lot	Mon Jan 27 23:08:31 2020 +0900
@@ -0,0 +1,3 @@
+\addvspace {10\p@ }
+\addvspace {10\p@ }
+\addvspace {10\p@ }
Binary file paper/master_paper.pdf has changed
Binary file paper/master_paper.synctex.gz has changed
--- a/paper/master_paper.tex	Thu Jan 23 14:17:22 2020 +0900
+++ b/paper/master_paper.tex	Mon Jan 27 23:08:31 2020 +0900
@@ -11,7 +11,7 @@
 
 %\input{dummy.tex} %% font
 
-\jtitle{GearsOS によるコンテナと VM}
+\jtitle{GearsOS の Paging}
 \etitle{} % 英文例題まだ
 \year{2020年 3月}
 \eyear{March 2020}
@@ -94,13 +94,11 @@
 
 % %chapters
 % \input{introduction.tex}
-% \input{meta_computation.tex}
-% \input{GearsOS}
-% \input{interface.tex}
-% \input{generate_code.tex}
-% \input{xv6.tex}
-% \input{evaluation.tex}
-% \input{conclusion.tex}
+ \input{memory_manage.tex}
+\input{GearsOS.tex}
+\input{Paging.tex}
+
+
 % 
 % %謝辞
 % \addcontentsline{toc}{chapter}{謝辞}
--- a/paper/master_paper.toc	Thu Jan 23 14:17:22 2020 +0900
+++ b/paper/master_paper.toc	Mon Jan 27 23:08:31 2020 +0900
@@ -1,1 +1,6 @@
-\contentsline {chapter}{付録}{1}%
+\contentsline {chapter}{\numberline {第1章}メモリ管理による信頼性の保証}{2}%
+\contentsline {chapter}{\numberline {第2章}Geas OS}{3}%
+\contentsline {section}{\numberline {2.1}Code Gear と Data Gear}{3}%
+\contentsline {section}{\numberline {2.2}Meta Code Gear と Meta Data Gear}{4}%
+\contentsline {chapter}{\numberline {第3章}Gears OS での Paging}{6}%
+\contentsline {chapter}{付録}{6}%
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/memory_manage.tex	Mon Jan 27 23:08:31 2020 +0900
@@ -0,0 +1,6 @@
+\chapter{メモリ管理による信頼性の保証}
+メモリ管理は OS の信頼性の基本であるが, 現代の OS では, User Space で Page Table Entry によるメモリ管理を行える OS は少ない. これは User レベルの操作で Page Table が書き換えられたり,別の Page にアクセスするのを防ぐためだと考えられる.しかし,User Space でメモリ管理を行えるようにすることで, Page のバリデーションをチェックしたり,サンドボックスによる信頼性の保証を行えるようになる.また,適切な記述をすれば最適なメモリ管理にも繋がる.
+\par 
+ 本研究室で開発したメタレベルの記述ができる CbC という言語を用いて, OS の信頼性の基本であるメモリ管理を行える OS を実装することで, OS の信頼性を保証したい.
+既存の Gears OS でのメモリ管理では単に Page Table Entry をコピーする Fork を実装
+しているが, さらに資源管理を行える CbC で軽量なハードウェアでも動かせるように Arm のバイナリを 出力する Xv6 を参考に GearsOS にメモリ管理を行う API を考察する.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/thsis_paging.mm	Mon Jan 27 23:08:31 2020 +0900
@@ -0,0 +1,30 @@
+<map version="1.0.1">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1580099260489" ID="ID_1614065797" MODIFIED="1580099491048" TEXT="Gears OS &#x306b;&#x304a;&#x3051;&#x308b;&#x30e1;&#x30e2;&#x30ea;&#x7ba1;&#x7406;">
+<node CREATED="1578979732696" ID="ID_457372106" MODIFIED="1580108656805" POSITION="right" TEXT="OS &#x306e;&#x30e1;&#x30e2;&#x30ea;&#x7ba1;&#x7406;"/>
+<node CREATED="1578979768846" ID="ID_738890313" MODIFIED="1578979773340" POSITION="right" TEXT="Gears OS &#x306b;&#x3064;&#x3044;&#x3066;">
+<node CREATED="1580108790756" ID="ID_1503553728" MODIFIED="1580108794363" TEXT="CbC">
+<node CREATED="1580112360401" ID="ID_614891804" MODIFIED="1580112368387" TEXT="&#x8a18;&#x8ff0;&#x4f8b;"/>
+<node CREATED="1580112406576" ID="ID_174277035" MODIFIED="1580112413544" TEXT="Code Gear &#x306e;&#x7d99;&#x7d9a;&#x9077;&#x79fb;&#x56f3;"/>
+</node>
+<node CREATED="1580108797610" ID="ID_1365788482" MODIFIED="1580108810835" TEXT="Code Gear, Data Gear"/>
+<node CREATED="1580107798502" ID="ID_1870725834" MODIFIED="1580107827464" TEXT="Meta &#x306e;&#x8aac;&#x660e;&#x3068;&#x9077;&#x79fb;&#x56f3;"/>
+<node CREATED="1580107483687" ID="ID_1285374455" MODIFIED="1580107511777" TEXT="Context"/>
+<node CREATED="1580107513101" ID="ID_1602648466" MODIFIED="1580107516575" TEXT="Interface"/>
+</node>
+<node CREATED="1580107585579" ID="ID_1626415670" MODIFIED="1580107610152" POSITION="right" TEXT="Xv6 &#x304b;&#x3089; GearsOS &#x3078;&#x306e;&#x66f8;&#x304d;&#x63db;&#x3048;">
+<node CREATED="1580107648436" ID="ID_422947198" MODIFIED="1580108849848" TEXT="Raspberry Pi &#x306f;&#x5fc5;&#x8981;&#x306a;&#x3044;??"/>
+<node CREATED="1580107690139" ID="ID_749171993" MODIFIED="1580107697425" TEXT="System call"/>
+</node>
+<node CREATED="1578979785550" ID="ID_1231580257" MODIFIED="1580108902791" POSITION="right" TEXT="Gears&#x3067;&#x306e; Paging">
+<node CREATED="1580108224152" ID="ID_1755476855" MODIFIED="1580108236817" TEXT="paging&#x3068;&#x306f;">
+<node CREATED="1580125177715" ID="ID_1450928772" MODIFIED="1580125182834" TEXT="&#x56f3;"/>
+</node>
+<node CREATED="1580108238553" ID="ID_824612440" MODIFIED="1580108266050" TEXT="User Space &#x3067;Paging&#x3092;&#x3059;&#x308b;&#x5229;&#x70b9;"/>
+<node CREATED="1580108966482" ID="ID_509498115" MODIFIED="1580109016862" TEXT="&#x8a2d;&#x8a08; ??"/>
+</node>
+<node CREATED="1578979824759" ID="ID_158250428" MODIFIED="1580108938645" POSITION="right" TEXT="Paging &#x306e;&#x5b9f;&#x88c5;"/>
+<node CREATED="1578979830870" ID="ID_251771531" MODIFIED="1580108616451" POSITION="right" TEXT="Paging &#x306e;&#x8a55;&#x4fa1;"/>
+<node CREATED="1578979834269" ID="ID_614747960" MODIFIED="1580108630937" POSITION="right" TEXT="&#x7d50;&#x8ad6;"/>
+</node>
+</map>