Mercurial > hg > Papers > 2024 > matac-master
changeset 31:a1abb0cd88cb
dir fig
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 18 Jan 2024 17:33:14 +0900 |
parents | e80467e26ab1 |
children | 02f0474a58c4 |
files | Paper/fig/gears_dir.drawio Paper/fig/gears_dir.png Paper/master_paper.lol Paper/master_paper.pdf Paper/master_paper.tex |
diffstat | 5 files changed, 71 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/Paper/fig/gears_dir.drawio Thu Jan 18 15:42:53 2024 +0900 +++ b/Paper/fig/gears_dir.drawio Thu Jan 18 17:33:14 2024 +0900 @@ -1,47 +1,68 @@ <mxfile host="65bd71144e"> <diagram id="Ef-TLR0hB6FfywN_XlsA" name="Page-1"> - <mxGraphModel dx="563" dy="477" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> + <mxGraphModel dx="761" dy="602" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> <root> <mxCell id="0"/> <mxCell id="1" parent="0"/> <mxCell id="23" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1"> - <mxGeometry x="230" y="200" width="160" height="235" as="geometry"/> + <mxGeometry x="230" y="220" width="160" height="235" as="geometry"/> + </mxCell> + <mxCell id="40" style="edgeStyle=orthogonalEdgeStyle;html=1;fontColor=#FFFFFF;endArrow=none;endFill=0;dashed=1;curved=1;" edge="1" parent="1" source="3" target="12"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="220" y="290"/> + <mxPoint x="220" y="270"/> + <mxPoint x="313" y="270"/> + </Array> + </mxGeometry> </mxCell> <mxCell id="3" value="hoge.txt" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="60" y="240" width="140" height="60" as="geometry"/> + <mxGeometry x="70" y="260" width="110" height="60" as="geometry"/> </mxCell> <mxCell id="4" value="i-node number: 0" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="3"> - <mxGeometry y="30" width="140" height="30" as="geometry"/> + <mxGeometry y="30" width="110" height="30" as="geometry"/> + </mxCell> + <mxCell id="41" style="edgeStyle=orthogonalEdgeStyle;html=1;fontColor=#FFFFFF;endArrow=none;endFill=0;dashed=1;curved=1;" edge="1" parent="1" source="7" target="14"> + <mxGeometry relative="1" as="geometry"/> </mxCell> <mxCell id="7" value="piyo.txt" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="60" y="310" width="140" height="60" as="geometry"/> + <mxGeometry x="70" y="330" width="110" height="60" as="geometry"/> </mxCell> <mxCell id="8" value="i-node number: 1" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="7"> - <mxGeometry y="30" width="140" height="30" as="geometry"/> - </mxCell> - <mxCell id="9" value="huga.txt" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="60" y="380" width="140" height="60" as="geometry"/> + <mxGeometry y="30" width="110" height="30" as="geometry"/> </mxCell> - <mxCell id="10" value="i-node number: 2" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="9"> - <mxGeometry y="30" width="140" height="30" as="geometry"/> + <mxCell id="42" style="edgeStyle=orthogonalEdgeStyle;html=1;entryX=0.98;entryY=0.702;entryDx=0;entryDy=0;entryPerimeter=0;fontColor=#FFFFFF;endArrow=none;endFill=0;dashed=1;curved=1;" edge="1" parent="1" source="9" target="13"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="220" y="430"/> + <mxPoint x="220" y="360"/> + <mxPoint x="343" y="360"/> + </Array> + </mxGeometry> </mxCell> - <mxCell id="11" value="ls huga.txt" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> - <mxGeometry x="60" y="190" width="60" height="30" as="geometry"/> + <mxCell id="9" value="<font color="#ff8000">huga.txt</font>" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> + <mxGeometry x="70" y="400" width="110" height="60" as="geometry"/> + </mxCell> + <mxCell id="10" value="i-node number: <font color="#ff8000">2</font>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" vertex="1" parent="9"> + <mxGeometry y="30" width="110" height="30" as="geometry"/> + </mxCell> + <mxCell id="11" value="$ ls huga.txt" style="text;html=1;strokeColor=none;fillColor=#000000;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=1;fontColor=#FFFFFF;perimeterSpacing=1;" vertex="1" parent="1"> + <mxGeometry x="70" y="210" width="80" height="30" as="geometry"/> </mxCell> <mxCell id="12" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> - <mxGeometry x="302.5" y="265" width="20" height="20" as="geometry"/> + <mxGeometry x="302.5" y="285" width="20" height="20" as="geometry"/> </mxCell> <mxCell id="16" style="edgeStyle=none;html=1;entryX=0.777;entryY=1.079;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;" edge="1" parent="1" source="13" target="12"> <mxGeometry relative="1" as="geometry"/> </mxCell> <mxCell id="13" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> - <mxGeometry x="332.5" y="305" width="20" height="20" as="geometry"/> + <mxGeometry x="332.5" y="325" width="20" height="20" as="geometry"/> </mxCell> <mxCell id="15" style="edgeStyle=none;html=1;endArrow=none;endFill=0;" edge="1" parent="1" source="14" target="12"> <mxGeometry relative="1" as="geometry"/> </mxCell> <mxCell id="14" value="" style="shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;" vertex="1" parent="1"> - <mxGeometry x="272.5" y="305" width="20" height="20" as="geometry"/> + <mxGeometry x="272.5" y="325" width="20" height="20" as="geometry"/> </mxCell> <mxCell id="21" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;endArrow=none;endFill=0;" edge="1" parent="1" source="17" target="19"> <mxGeometry relative="1" as="geometry"/> @@ -50,25 +71,28 @@ <mxGeometry relative="1" as="geometry"/> </mxCell> <mxCell id="17" value="0" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="302.5" y="345" width="20" height="20" as="geometry"/> + <mxGeometry x="302.5" y="380" width="20" height="20" as="geometry"/> </mxCell> - <mxCell id="18" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="332.5" y="385" width="20" height="20" as="geometry"/> + <mxCell id="43" style="edgeStyle=orthogonalEdgeStyle;curved=1;html=1;dashed=1;fontColor=#FFFFFF;endArrow=none;endFill=0;" edge="1" parent="1" source="18" target="27"> + <mxGeometry relative="1" as="geometry"/> + </mxCell> + <mxCell id="18" value="<font color="#ff8000">2</font>" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> + <mxGeometry x="332.5" y="420" width="20" height="20" as="geometry"/> </mxCell> <mxCell id="19" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="272.5" y="385" width="20" height="20" as="geometry"/> + <mxGeometry x="272.5" y="420" width="20" height="20" as="geometry"/> </mxCell> <mxCell id="24" value="Index tree" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> - <mxGeometry x="252.5" y="250" width="60" height="30" as="geometry"/> + <mxGeometry x="322.5" y="275" width="60" height="30" as="geometry"/> </mxCell> <mxCell id="25" value="i-node tree" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> - <mxGeometry x="247.5" y="320" width="70" height="30" as="geometry"/> + <mxGeometry x="320" y="360" width="70" height="30" as="geometry"/> </mxCell> <mxCell id="26" value="Non-destructive RedBlackTree" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> - <mxGeometry x="255" y="200" width="110" height="30" as="geometry"/> + <mxGeometry x="255" y="220" width="110" height="30" as="geometry"/> </mxCell> <mxCell id="27" value="2" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1"> - <mxGeometry x="240" y="440" width="140" height="120" as="geometry"> + <mxGeometry x="240" y="480" width="140" height="120" as="geometry"> <mxRectangle x="430" y="270" width="50" height="30" as="alternateBounds"/> </mxGeometry> </mxCell> @@ -82,25 +106,28 @@ <mxGeometry y="90" width="140" height="30" as="geometry"/> </mxCell> <mxCell id="33" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeWidth=2;" vertex="1" parent="1"> - <mxGeometry x="420" y="200" width="120" height="360" as="geometry"/> + <mxGeometry x="440" y="280" width="120" height="320" as="geometry"/> </mxCell> <mxCell id="34" value="huga.txt data" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;verticalAlign=top;" vertex="1" parent="1"> - <mxGeometry x="420" y="440" width="120" height="30" as="geometry"/> + <mxGeometry x="440" y="460" width="120" height="30" as="geometry"/> </mxCell> - <mxCell id="35" style="edgeStyle=none;html=1;entryX=0;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;" edge="1" parent="1" source="32" target="34"> + <mxCell id="35" style="edgeStyle=none;html=1;entryX=0;entryY=0;entryDx=0;entryDy=0;endArrow=classicThin;endFill=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="32" target="34"> <mxGeometry relative="1" as="geometry"> <Array as="points"> - <mxPoint x="400" y="550"/> - <mxPoint x="400" y="480"/> - <mxPoint x="400" y="440"/> + <mxPoint x="410" y="585"/> + <mxPoint x="410" y="530"/> + <mxPoint x="410" y="460"/> </Array> </mxGeometry> </mxCell> <mxCell id="36" value="hoge.txt" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;verticalAlign=top;" vertex="1" parent="1"> - <mxGeometry x="420" y="240" width="120" height="60" as="geometry"/> + <mxGeometry x="440" y="300" width="120" height="60" as="geometry"/> </mxCell> <mxCell id="37" value="piyo.txt" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;verticalAlign=top;" vertex="1" parent="1"> - <mxGeometry x="420" y="320" width="120" height="30" as="geometry"/> + <mxGeometry x="440" y="375" width="120" height="30" as="geometry"/> + </mxCell> + <mxCell id="44" value="Disk (or Memory)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;strokeWidth=2;fontColor=#000000;labelBackgroundColor=none;" vertex="1" parent="1"> + <mxGeometry x="440" y="250" width="100" height="30" as="geometry"/> </mxCell> </root> </mxGraphModel>
--- a/Paper/master_paper.lol Thu Jan 18 15:42:53 2024 +0900 +++ b/Paper/master_paper.lol Thu Jan 18 17:33:14 2024 +0900 @@ -4,5 +4,5 @@ \contentsline {lstlisting}{\numberline {3.3}Queueのインターフェース}{13}{}% \contentsline {lstlisting}{\numberline {3.4}Treeの仕様}{15}{}% \contentsline {lstlisting}{\numberline {3.5}RedBlackTreeの実装}{15}{}% -\contentsline {lstlisting}{\numberline {6.1}CopyRedBlackTreeの実装}{26}{}% -\contentsline {lstlisting}{\numberline {6.2}CopyRedBlackTreeのアルゴリズム}{28}{}% +\contentsline {lstlisting}{\numberline {6.1}CopyRedBlackTreeの実装}{27}{}% +\contentsline {lstlisting}{\numberline {6.2}CopyRedBlackTreeのアルゴリズム}{29}{}%
--- a/Paper/master_paper.tex Thu Jan 18 15:42:53 2024 +0900 +++ b/Paper/master_paper.tex Thu Jan 18 17:33:14 2024 +0900 @@ -415,7 +415,17 @@ GearsFileSystemではi-nodeをi-node numberがkey, i-nodeでのファイル属性情報をvalueであるノードを持つinode treeをRedBlackTreeで表現している. また,ファイル名からi-node numberを検索するためのindex treeも同じRedBlackTreeで表現している. +データ構造にRedBlackTreeのみを用いているのは, ls,cd,mkdirといった,ディレクトリ操作を行うためのUnix Likeなユーザーインターフェースをもつ. +図\ref{fig:GearsDir}にGears Directoryの処理の例を示す. + +\begin{figure}[ht] + \begin{center} + \includegraphics[width=160mm]{fig/gears_dir.png} + \end{center} + \caption{i-nodeを用いたディレクトリシステムの処理の流れ} + \label{fig:GearsDir} +\end{figure} \section{DataGearManagerによる分散ファイルシステム} \section{非破壊RedBlackTreeによる構成}