changeset 10:b7abe0e40c22

...
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Sat, 23 Dec 2023 16:08:07 +0900
parents 83b783747d1a
children 67b68982e36e
files Paper/master_paper.pdf Paper/master_paper.tex mindmaps/gears_fs_db.mm
diffstat 3 files changed, 83 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
Binary file Paper/master_paper.pdf has changed
--- a/Paper/master_paper.tex	Sat Dec 09 19:20:23 2023 +0900
+++ b/Paper/master_paper.tex	Sat Dec 23 16:08:07 2023 +0900
@@ -121,7 +121,14 @@
 よって,今回はGearsOSにおけるファイルシステムとDBをRedBlackTreeで実装するための
 設計を行う.
 
-\chapter{Continuation based C}
+\chapter{軽量継続を基本とする言語CbC}
+
+\section{処理の単位CodeGear}
+\section{データの単位DataGear}
+\section{ノーマルレベルとメタレベルの切り分け}
+\section{gotoによる軽量継続}
+\section{CodeGearの記述例}
+\section{CbCの現状}
 
 Continuation based C(CbC)\cite{cbcllvm,cbc}は,当研究室で開発しているCの下位言語である.
 CbCでは関数の代わりにCodeGearという単位でプログラミングを行う.
@@ -162,6 +169,13 @@
 
 \chapter{信頼性の保証を目的としたGearsOS}
 
+\section{3種類のGearsOS}
+\section{メタ処理を記述するmetaGear}
+\section{CodeGearの遷移}
+\section{全てのGearを参照するContext}
+\section{GearsOSの記述例}
+\section{GearsOSの現状}
+
 GearsOS\cite{gears,gearsos,cr}は当研究室で開発している,信頼性と拡張性の両立を目的としたOSである.
 GearsOSにはGearという概念があり,実行の単位をCodeGear,データの単位をDataGearと呼ぶ.
 軽量継続を基本とし,stackを持たない代わりに全てをContext経由で実行する.
--- a/mindmaps/gears_fs_db.mm	Sat Dec 09 19:20:23 2023 +0900
+++ b/mindmaps/gears_fs_db.mm	Sat Dec 23 16:08:07 2023 +0900
@@ -96,6 +96,9 @@
 </node>
 <node TEXT="ファイルシステムとDB" ID="ID_1884932719" CREATED="1699849849835" MODIFIED="1699849855383">
 <node TEXT="RedBlackTreeを基本構造とする" ID="ID_224748942" CREATED="1699849885632" MODIFIED="1699849902671"/>
+<node TEXT="user interface" ID="ID_1064201171" CREATED="1702117030490" MODIFIED="1702117056047">
+<node TEXT="学部の時のやつ" ID="ID_1607825727" CREATED="1702117042878" MODIFIED="1702117046968"/>
+</node>
 <node TEXT="複数のreplicationを持てていない" ID="ID_787621439" CREATED="1699849855878" MODIFIED="1699849873297"/>
 <node TEXT="GCがない" ID="ID_1300729095" CREATED="1699849873756" MODIFIED="1699849878570">
 <node TEXT="RustのようなGCを持たないシステムも存在する" ID="ID_417147063" CREATED="1701692764078" MODIFIED="1701692773562">
@@ -115,6 +118,9 @@
 </node>
 </node>
 </node>
+<node TEXT="現状" ID="ID_932050028" CREATED="1703310897416" MODIFIED="1703310899956">
+<node TEXT="" ID="ID_166710427" CREATED="1703310900268" MODIFIED="1703310900268"/>
+</node>
 <node TEXT="CbC" ID="ID_740206957" CREATED="1701695838712" MODIFIED="1701695841654">
 <node TEXT="Cの下位言語" ID="ID_1949462311" CREATED="1702109769687" MODIFIED="1702109804650">
 <node TEXT="CのLLVMに変更を加えている" ID="ID_591487528" CREATED="1702110861488" MODIFIED="1702110890767"/>
@@ -148,6 +154,22 @@
 <node TEXT="http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_llvm/" ID="ID_797243399" CREATED="1702111010437" MODIFIED="1702111010437" LINK="http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_llvm/"/>
 <node TEXT="clang llvm 18.0.0" ID="ID_762978767" CREATED="1702111146287" MODIFIED="1702111160675"/>
 </node>
+<node TEXT="関連" ID="ID_416590732" CREATED="1703308253194" MODIFIED="1703308255811">
+<node TEXT="AspectJ" ID="ID_1370782910" CREATED="1703308256121" MODIFIED="1703308259210">
+<node TEXT="リフレクション" ID="ID_96315745" CREATED="1703308259675" MODIFIED="1703308340272"/>
+<node TEXT="CbCはリフレクションしやすい" ID="ID_1614355873" CREATED="1703308341219" MODIFIED="1703308355429"/>
+<node TEXT="metaを書ける部分がリフレクション" ID="ID_195416108" CREATED="1703308357434" MODIFIED="1703308372053"/>
+<node TEXT="AOP" ID="ID_770917898" CREATED="1703308974828" MODIFIED="1703308978370">
+<node TEXT="アスペクト志向プログラミング" ID="ID_1702082447" CREATED="1703308978573" MODIFIED="1703308988562"/>
+</node>
+<node TEXT="記法" ID="ID_582319031" CREATED="1703308588273" MODIFIED="1703308590240">
+<node TEXT="@Aspect" ID="ID_201521343" CREATED="1703308932008" MODIFIED="1703308939119"/>
+<node TEXT="Advice" ID="ID_1105819991" CREATED="1703308939534" MODIFIED="1703308947617"/>
+<node TEXT="PointCut" ID="ID_1656105549" CREATED="1703308947870" MODIFIED="1703308951334"/>
+<node TEXT="JoinPoint" ID="ID_1355814265" CREATED="1703308951712" MODIFIED="1703308972859"/>
+</node>
+</node>
+</node>
 </node>
 </node>
 <node TEXT="ファイルシステム" POSITION="right" ID="ID_1877138212" CREATED="1699848400796" MODIFIED="1699848405514">
@@ -310,7 +332,6 @@
 <node TEXT="同一のRedBlackTree" ID="ID_1633724271" CREATED="1699850231118" MODIFIED="1699850243142"/>
 <node TEXT="persistent memoryを想定" ID="ID_719479083" CREATED="1699850243592" MODIFIED="1699850261924"/>
 </node>
-<node TEXT="OOM Killer" POSITION="right" ID="ID_404682764" CREATED="1701841494687" MODIFIED="1701841498813"/>
 <node TEXT="先行研究" POSITION="right" ID="ID_1807805275" CREATED="1699850150666" MODIFIED="1699850155227">
 <node TEXT="GearsOS の分散ファイルシステム設計" ID="ID_1737093216" CREATED="1701692836825" MODIFIED="1701692838439">
 <node TEXT="一木 貴裕" ID="ID_976656831" CREATED="1701692838974" MODIFIED="1701692861473"/>
@@ -320,23 +341,61 @@
 <node TEXT="又吉 雄斗" ID="ID_537151466" CREATED="1701692914641" MODIFIED="1701692923391"/>
 <node TEXT="卒論" ID="ID_1486800431" CREATED="1701692926762" MODIFIED="1701692930073"/>
 </node>
+<node TEXT="参考文献" ID="ID_1704420848" CREATED="1702289534980" MODIFIED="1702289539226">
+<node TEXT="AspectJ" ID="ID_682948653" CREATED="1702289539526" MODIFIED="1702289543447"/>
+</node>
 </node>
 <node TEXT="評価方法" POSITION="right" ID="ID_1979397312" CREATED="1699850131177" MODIFIED="1699850137060"/>
-<node TEXT="章立て" POSITION="left" ID="ID_378600647" CREATED="1699848424709" MODIFIED="1699848435212">
-<node TEXT="Gears OSのファイルシステムとDB" ID="ID_446325287" CREATED="1701690660393" MODIFIED="1701690902283"/>
-<node TEXT="Continuation based C" ID="ID_1037072660" CREATED="1701690246173" MODIFIED="1701690253931"/>
-<node TEXT="GearsOS" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1701692213741"/>
+<node TEXT="章立て" POSITION="left" ID="ID_378600647" CREATED="1699848424709" MODIFIED="1702112473403">
+<node TEXT="Gears OSのファイルシステムとDB" ID="ID_446325287" CREATED="1701690660393" MODIFIED="1701690902283">
+<node TEXT="システム全体の信頼性を上げたい" ID="ID_1572843196" CREATED="1703313460915" MODIFIED="1703313713692"/>
+<node TEXT="ファイルシステムとDBの信頼性を考える" ID="ID_1355454563" CREATED="1703313715002" MODIFIED="1703313723643"/>
+<node TEXT="ファイルシステムとは" ID="ID_1898416034" CREATED="1703313727821" MODIFIED="1703313734372"/>
+<node TEXT="DBとは" ID="ID_101598045" CREATED="1703313734729" MODIFIED="1703313737449"/>
+<node TEXT="ファイルシステムとDBの違い" ID="ID_1786247161" CREATED="1703313740484" MODIFIED="1703313748867"/>
+<node TEXT="ファイルシステムとDBが持つ追加機能" ID="ID_1094923931" CREATED="1703313749849" MODIFIED="1703313784209"/>
+<node TEXT="GearsOSを使って実現する" ID="ID_646654551" CREATED="1703313787540" MODIFIED="1703313833292"/>
+<node TEXT="信頼性を向上する手法" ID="ID_578834327" CREATED="1703313866689" MODIFIED="1703313878304"/>
+<node TEXT="GearsOSのファイルシステムとDBの現状" ID="ID_90571671" CREATED="1703313901390" MODIFIED="1703313918619"/>
+<node TEXT="RedBlackTreeのコピーの実装" ID="ID_227598094" CREATED="1703313929273" MODIFIED="1703313941132"/>
+</node>
+<node TEXT="軽量継続を基本とする言語CbC" ID="ID_1037072660" CREATED="1701690246173" MODIFIED="1703311032386">
+<node TEXT="処理の単位CodeGear" ID="ID_1818389006" CREATED="1703307708710" MODIFIED="1703307746215"/>
+<node TEXT="データの単位DataGear" ID="ID_1930250223" CREATED="1703307746950" MODIFIED="1703307753688"/>
+<node TEXT="ノーマルレベルとメタレベルの切り分け" ID="ID_719507396" CREATED="1703308470210" MODIFIED="1703308478844">
+<node TEXT="リフレクション" ID="ID_355579006" CREATED="1703308504930" MODIFIED="1703308513027"/>
+</node>
+<node TEXT="gotoによる軽量継続" ID="ID_726882949" CREATED="1703307895880" MODIFIED="1703307911540"/>
+<node TEXT="CodeGearの記述例" ID="ID_1731637915" CREATED="1703307784821" MODIFIED="1703307887307"/>
+<node TEXT="CbCの現状" ID="ID_950222443" CREATED="1703307926203" MODIFIED="1703307929709"/>
+</node>
+<node TEXT="信頼性の保証を目的としたGearsOS" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1703311040671">
+<node TEXT="3種類のGearsOS" ID="ID_1326415213" CREATED="1703309744902" MODIFIED="1703309750565"/>
+<node TEXT="メタ処理を記述するmetaGear" ID="ID_1666892566" CREATED="1703309692742" MODIFIED="1703309713823"/>
+<node TEXT="CodeGearの遷移" ID="ID_1403713795" CREATED="1703310522532" MODIFIED="1703310534184"/>
+<node TEXT="全てのGearを参照するContext" ID="ID_91888278" CREATED="1703309731224" MODIFIED="1703310166027"/>
+<node TEXT="GearsOSの記述例" ID="ID_227287316" CREATED="1703310975416" MODIFIED="1703310983579"/>
+<node TEXT="GearsOSの現状" ID="ID_468728002" CREATED="1703310866177" MODIFIED="1703310871670"/>
+</node>
 <node TEXT="GearsFileSystem" ID="ID_667012992" CREATED="1701694178540" MODIFIED="1701694184160">
+<node TEXT="DataGearManagerによる分散ファイルシステム" ID="ID_540180010" CREATED="1703315001066" MODIFIED="1703315085575"/>
 <node TEXT="非破壊RedBlackTreeによる構成" ID="ID_262332331" CREATED="1701696133124" MODIFIED="1701696237170"/>
-<node TEXT="RedBlackTreeのトランザクション" ID="ID_1088328123" CREATED="1701696247760" MODIFIED="1701696264775"/>
+<node TEXT="RedBlackTreeによるファイルシステム" ID="ID_1851664363" CREATED="1703314946289" MODIFIED="1703314992580"/>
+<node TEXT="ディスク上とメモリ上のデータ構造" ID="ID_880200197" CREATED="1703314889974" MODIFIED="1703314930213"/>
+<node TEXT="RedBlackTreeのトランザクション" ID="ID_1088328123" CREATED="1701696247760" MODIFIED="1702112463420" HGAP_QUANTITY="14.75 pt" VSHIFT_QUANTITY="3.75 pt"/>
 </node>
-<node TEXT="GearsFileSystemにおけるGCとレプリケーションの仕組み" ID="ID_1092227909" CREATED="1701690558237" MODIFIED="1701696203939">
+<node TEXT="GearsFileSystemにおけるGCとレプリケーションの仕組み" ID="ID_1092227909" CREATED="1701690558237" MODIFIED="1702112470212" HGAP_QUANTITY="16.25 pt" VSHIFT_QUANTITY="-1.5 pt">
 <node TEXT="ディスク上とメモリ上のデータ構造" ID="ID_683338430" CREATED="1701696165502" MODIFIED="1701696179372"/>
 <node TEXT="データのバックアップ" ID="ID_441653952" CREATED="1701696184549" MODIFIED="1701696189276"/>
-<node TEXT="レプリケーション" ID="ID_243135333" CREATED="1701696193660" MODIFIED="1701696208809"/>
+<node TEXT="レプリケーション" ID="ID_243135333" CREATED="1701696193660" MODIFIED="1702112458875" VSHIFT_QUANTITY="-0.75 pt"/>
 <node TEXT="ガベージコレクション" ID="ID_694714867" CREATED="1701696212033" MODIFIED="1701696219728"/>
 </node>
-<node TEXT="実装?" ID="ID_1619882257" CREATED="1701697553803" MODIFIED="1701697572510"/>
+<node TEXT="実装?" ID="ID_1619882257" CREATED="1701697553803" MODIFIED="1702112473403" VSHIFT_QUANTITY="-4.5 pt"/>
+<node TEXT="信頼性" ID="ID_1221084016" CREATED="1702289777950" MODIFIED="1702289781581">
+<node TEXT="モデル検査とAgdaによる実装" ID="ID_1438858883" CREATED="1702289781790" MODIFIED="1702289794818"/>
+</node>
+<node TEXT="評価" ID="ID_1053436711" CREATED="1702112499515" MODIFIED="1702112509004"/>
+<node TEXT="今後" ID="ID_87524419" CREATED="1702112509364" MODIFIED="1702112512270"/>
 </node>
 <node TEXT="修論で言いたいこと" POSITION="left" ID="ID_1194781583" CREATED="1701690732709" MODIFIED="1701696321975" HGAP_QUANTITY="29 pt" VSHIFT_QUANTITY="134.25 pt">
 <node TEXT="RedBlackTreeのCopyでreplicationによる信頼性の向上とGCの仕組みを実装した" ID="ID_729318951" CREATED="1701690742376" MODIFIED="1701691473760"/>