changeset 29:92e8cd87fb2b

dir
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Thu, 18 Jan 2024 13:31:11 +0900
parents 4b5c140233f3
children e80467e26ab1
files Paper/fig/gears_dir.drawio Paper/master_paper.pdf Paper/master_paper.tex mindmaps/gears_fs_db.mm
diffstat 3 files changed, 64 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
Binary file Paper/master_paper.pdf has changed
--- a/Paper/master_paper.tex	Tue Jan 16 20:24:32 2024 +0900
+++ b/Paper/master_paper.tex	Thu Jan 18 13:31:11 2024 +0900
@@ -365,9 +365,59 @@
 RedBlackTreeはTreeの仕様の実装であることがわかり,
 13〜16行目で仕様に対応するCodeGearを初期化している.
 
-\chapter{GearsOSのファイルシステム}
+\chapter{GearsFileSystem}
+
+ファイルシステムはOSにおいてユーザーやアプリケーションが使用するファイルや
+プロセスの管理に用いられる重要なシステムである.
+そのため,GearsOSにおいてもi-nodeを用いたディレクトリシステムや,
+DataGearManagerによる分散ファイルシステムの仕組みをもつ,
+GearsFileSystemの取り組みがいくつかされてきた.
+
+\section{i-nodeを用いたディレクトリシステム}
+
+GearsFileSystemにはi-nodeを用いたディレクトリの仕組みが存在する\cite{directory}.
+i-nodeは主にUnix系のファイルシステムで用いられる,
+ファイルの属性情報が書かれたデータである.
+inodeにおけるファイルの属性情報は表\ref{table:inode}のようなものがある.
+またinodeは識別番号としてinode numberを持つ.
+inode numberは一つのファイルシステム内で一意の番号であり,\emph{ls -i}コマンドで確認可能である.
+inodeはファイルシステム始動時にinode領域をディスク上に確保する.
+そのためinode numberには上限があり,それに伴いファイルシステム上で扱えるファイル数の上限も決まる.
+inode numberの最大値は\emph{df -i}コマンドで確認可能である.
+
+\begin{table}[htpb]
+  \begin{center}
+    \small
+    \begin{tabular}[htpb]{|c||c|}
+      \hline
+      File Types & directoryやregular fileなど,ファイルの種類 \\
+      \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}
+
+GearsFileSystemではi-nodeをi-node numberがkey,
+i-nodeでのファイル属性情報をvalueであるノードを持つinode treeをRedBlackTreeで表現している.
+また,ファイル名からi-node numberを検索するためのindex treeも同じRedBlackTreeで表現している.
+ls,cd,mkdirといった,ディレクトリ操作を行うためのUnix Likeなユーザーインターフェースをもつ.
+
 \section{DataGearManagerによる分散ファイルシステム}
-\section{i-nodeを用いたファイルシステム}
 \section{非破壊RedBlackTreeによる構成}
 
 ディスク上とメモリ上でデータの構造は,RedBlackTreeに統一する.
--- a/mindmaps/gears_fs_db.mm	Tue Jan 16 20:24:32 2024 +0900
+++ b/mindmaps/gears_fs_db.mm	Thu Jan 18 13:31:11 2024 +0900
@@ -186,6 +186,15 @@
 </node>
 </node>
 </node>
+<node TEXT="i-nodeを用いたファイルシステム" ID="ID_1473698899" CREATED="1703314946289" MODIFIED="1703492949059">
+<node TEXT="matacの研究" ID="ID_618829953" CREATED="1704631158641" MODIFIED="1704631166543"/>
+<node TEXT="i-nodeとは" ID="ID_496468764" CREATED="1705550651509" MODIFIED="1705550655963"/>
+<node TEXT="mkdir, ls, cd" ID="ID_332425690" CREATED="1704631167036" MODIFIED="1704632106399"/>
+<node TEXT="非破壊RedBlackTree" ID="ID_1546725768" CREATED="1701696133124" MODIFIED="1704630442271"/>
+<node TEXT="非破壊RedBlackTreeで構成される" ID="ID_527215616" CREATED="1704632128347" MODIFIED="1704632244845"/>
+<node TEXT="ディスク上とメモリ上のデータ構造" ID="ID_786598132" CREATED="1701696165502" MODIFIED="1701696179372"/>
+<node TEXT="RedBlackTreeのトランザクション" ID="ID_1305977113" CREATED="1701696247760" MODIFIED="1702112463420" HGAP_QUANTITY="14.75 pt" VSHIFT_QUANTITY="3.75 pt"/>
+</node>
 </node>
 <node TEXT="ファイルシステム" POSITION="right" ID="ID_1877138212" CREATED="1699848400796" MODIFIED="1699848405514">
 <node TEXT="可変長文字列を格納するファイル" ID="ID_1080516331" CREATED="1699849063058" MODIFIED="1699849081419">
@@ -439,7 +448,7 @@
 <node TEXT="gotoによる軽量継続" ID="ID_726882949" CREATED="1703307895880" MODIFIED="1703307911540"/>
 <node TEXT="CodeGearの記述例" ID="ID_1731637915" CREATED="1703307784821" MODIFIED="1703307887307"/>
 </node>
-<node TEXT="信頼性の保証を目的としたGearsOS" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1703311040671">
+<node TEXT="信頼性の保証を目的としたGearsOS" FOLDED="true" ID="ID_1315567458" CREATED="1701692210913" MODIFIED="1703311040671">
 <node TEXT="3種類のGearsOS" ID="ID_1326415213" CREATED="1703309744902" MODIFIED="1703309750565">
 <node TEXT="Gears Agda" ID="ID_1385168402" CREATED="1705044105795" MODIFIED="1705044111649"/>
 <node TEXT="Gears OS" ID="ID_1367848198" CREATED="1705044112079" MODIFIED="1705044114581"/>
@@ -506,8 +515,8 @@
 </node>
 <node TEXT="GearsOSのRedBlackTree" ID="ID_594513732" CREATED="1705400358246" MODIFIED="1705400364641"/>
 </node>
-<node TEXT="GearsOSのファイルシステム(現状の話" FOLDED="true" ID="ID_667012992" CREATED="1701694178540" MODIFIED="1704630791818">
-<node TEXT="GearsOSのファイルシステム" ID="ID_188577314" CREATED="1704630094596" MODIFIED="1704630099465">
+<node TEXT="GearsOSのファイルシステムとDB(現状の話" ID="ID_667012992" CREATED="1701694178540" MODIFIED="1705549429213">
+<node TEXT="GearsOSのファイルシステムとDB" ID="ID_188577314" CREATED="1704630094596" MODIFIED="1705549436675">
 <node TEXT="ファイルシステムはOSの重要な機能である" ID="ID_46805604" CREATED="1704630103040" MODIFIED="1704630119191"/>
 <node TEXT="分散ファイルシステムとi-nodeを用いたファイルシステムが存在する" ID="ID_1509553363" CREATED="1704630119858" MODIFIED="1704630152926"/>
 </node>