annotate final_main/chapter4.tex @ 11:53114bdcb0c3

tweak
author menikon
date Sun, 09 Feb 2020 19:53:00 +0900
parents 40726bcd5272
children 996a70147cb0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
menikon
parents:
diff changeset
1 \chapter{xv6}
11
menikon
parents: 10
diff changeset
2 \section{xv6 の概要}
6
102c40310142 add fig
menikon
parents: 5
diff changeset
3 xv6 \cite{xv6} とは MIT のオペレーティングコースの教育目的で2006年に開発されたオペレーティングシステムである. xv6 はオリジナルである v6 が非常に古い C 言語で書かれてい る為, ANSI-C に書き換えられ x86 に再実装された. xv6 は read や write などの systemcall, プロセス, 仮想メモリ, カーネルとユーザーの分離, 割り込み, ファイルシステムなど Unix の基本的な構造を持っている.
9
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
4 本研究で使われているのは ARM\cite{arm} 上で動作する Raspberry Pi 用に改良されたxv6を使用する.
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
5
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
6
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
7 %\section{FileSystem}
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
8 %どんなものか書く
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
9
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
10 %processについて(軽く)
6
102c40310142 add fig
menikon
parents: 5
diff changeset
11 \section{xv6 のFileSystem構造}
11
menikon
parents: 10
diff changeset
12 xv6 の FileSystem は図\ref{fig:xv6filesystem} のように7つの階層によって構成されている.
10
40726bcd5272 add src
menikon
parents: 9
diff changeset
13 \begin{figure}[ht]
40726bcd5272 add src
menikon
parents: 9
diff changeset
14 \begin{center}
40726bcd5272 add src
menikon
parents: 9
diff changeset
15 \includegraphics[width=50mm]{fig/FileSystemLayout.pdf}
40726bcd5272 add src
menikon
parents: 9
diff changeset
16 \end{center}
11
menikon
parents: 10
diff changeset
17 \caption{xv6 の FileSystem 構造}
10
40726bcd5272 add src
menikon
parents: 9
diff changeset
18 \label{fig:xv6filesystem}
40726bcd5272 add src
menikon
parents: 9
diff changeset
19 \end{figure}
40726bcd5272 add src
menikon
parents: 9
diff changeset
20
11
menikon
parents: 10
diff changeset
21 \begin{itemize}
menikon
parents: 10
diff changeset
22 \item File descriptor 階層
menikon
parents: 10
diff changeset
23 Unixの資源はファイルとして表現され,コンソールのようなデバイスはもちろん,実際のファイルもファイルとして表現されている.
menikon
parents: 10
diff changeset
24 File descriptor 階層はこの
menikon
parents: 10
diff changeset
25
menikon
parents: 10
diff changeset
26 \item Pathname 階層
menikon
parents: 10
diff changeset
27 \item Directory 階層
menikon
parents: 10
diff changeset
28 \item Inode 階層
menikon
parents: 10
diff changeset
29 \item Logging 階層
menikon
parents: 10
diff changeset
30 \item Bffer cache 階層
menikon
parents: 10
diff changeset
31 \item Disk 階層
menikon
parents: 10
diff changeset
32 \end{itemize}
menikon
parents: 10
diff changeset
33
10
40726bcd5272 add src
menikon
parents: 9
diff changeset
34 \newpage
11
menikon
parents: 10
diff changeset
35 xv6 の FileSystem の Disk の割り当てを以下の図\ref{fig:filesystem}に示す.
6
102c40310142 add fig
menikon
parents: 5
diff changeset
36
102c40310142 add fig
menikon
parents: 5
diff changeset
37 \begin{figure}[ht]
102c40310142 add fig
menikon
parents: 5
diff changeset
38 \begin{center}
8
80f76a34c4f7 fix ref
menikon
parents: 6
diff changeset
39 \includegraphics[width=150mm]{fig/xv6filesystemlayout.pdf}
6
102c40310142 add fig
menikon
parents: 5
diff changeset
40 \end{center}
11
menikon
parents: 10
diff changeset
41 \caption{xv6 の FileSystem に関する Disk の割り当て}
6
102c40310142 add fig
menikon
parents: 5
diff changeset
42 \label{fig:filesystem}
102c40310142 add fig
menikon
parents: 5
diff changeset
43 \end{figure}
5
menikon
parents:
diff changeset
44
9
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
45 \begin{itemize}
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
46 \item boot sector
11
menikon
parents: 10
diff changeset
47 \\boot sectorを保持しているだけで FileSystem はこのブロックを使用することはない.
menikon
parents: 10
diff changeset
48
9
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
49 \item super block
11
menikon
parents: 10
diff changeset
50 \\ブロックのファイルサイズやデータブロックの数, inodeの数, log 中のブロック数などが格納されている.
menikon
parents: 10
diff changeset
51
menikon
parents: 10
diff changeset
52 \item inodes
menikon
parents: 10
diff changeset
53 \\inodeが格納されている.
menikon
parents: 10
diff changeset
54
10
40726bcd5272 add src
menikon
parents: 9
diff changeset
55 \item block bitmap
11
menikon
parents: 10
diff changeset
56 \\block bitmap は使用しているブロックが記憶されている.
menikon
parents: 10
diff changeset
57
10
40726bcd5272 add src
menikon
parents: 9
diff changeset
58 \item data blocks
11
menikon
parents: 10
diff changeset
59 \\block bitmap において使用可能であることが記録されており,ファイルやディレクトリが保持されている.
menikon
parents: 10
diff changeset
60
10
40726bcd5272 add src
menikon
parents: 9
diff changeset
61 \item log
11
menikon
parents: 10
diff changeset
62 \\Logging 階層の log が格納されている.
menikon
parents: 10
diff changeset
63
9
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
64 \end{itemize}
8
80f76a34c4f7 fix ref
menikon
parents: 6
diff changeset
65
9
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
66 \section{FilleSystem の API} %関数や構造体などを解説しそのまま利用されているところをかく
dca5e4f9fceb fix ref
menikon
parents: 8
diff changeset
67
11
menikon
parents: 10
diff changeset
68 \begin{itemize}
menikon
parents: 10
diff changeset
69 \item
menikon
parents: 10
diff changeset
70 \item
menikon
parents: 10
diff changeset
71 \item
menikon
parents: 10
diff changeset
72 \item
menikon
parents: 10
diff changeset
73 \item
menikon
parents: 10
diff changeset
74 \item
menikon
parents: 10
diff changeset
75 \item
menikon
parents: 10
diff changeset
76 \end{itemize}