# HG changeset patch # User menikon # Date 1581705361 -32400 # Node ID 935e11c0f150d108c4dbc8761051afda2b9b5689 # Parent 676277795520d44099e08aef74681aa5df04b41e tweak diff -r 676277795520 -r 935e11c0f150 final_main/chapter4.tex --- a/final_main/chapter4.tex Sat Feb 15 01:45:22 2020 +0900 +++ b/final_main/chapter4.tex Sat Feb 15 03:36:01 2020 +0900 @@ -50,7 +50,8 @@ \item readsb \\ブロックのファイルサイズやデータブロックの数、inodeの数、log 中のブロック数などが格納されている Disk 階層の super block を読み込む。 \item iinit - \\ + \\ブート時にmain関数で呼び出され初期化される。 + %あやしい \item ialloc \\デバイスで指定されたタイプを新しい inode に割り当てる。 \item iupdate @@ -72,15 +73,17 @@ \item writei \\inode へデータを書き込む。 \item namecmp - \\ + \\const char *sとconst char *tとディレクトリサイズを比較し、結果を返している。ディレクトリを操作、管理する際に呼び出される。 + %要確認し \item dirlookup \\ディレクトリ内のディレクトリエントリを探す。 \item dirlink \\新しいディレクトリエントリ(名前、inum)をディレクトリdpに書き込む。 \item namei - \\ + \\/usr/rtm/xv6/fs.cのような階層的なパスを構成する際の操作、管理時に呼び出される。 + %要訂正 \item nameiparent - \\ + \\/usr/rtm/xv6/fs.cのような階層的なパスを構成する際の操作、管理時に呼び出される。 \end{itemize} %namecmp、dirlookup、dirlookup、dirlink、namei、nameiparent は/usr/rtm/xv6/fs.cのような階層的なパスを管理、操作するための API である。 ilock で inode をロックした場合必ず処理の終わりには iunlock が呼び出され inode のロックを解除する必要があるように、readi でinode からデータを読み込んだり iwrite で inode へデータを書き込む場合も iput で inode を参照必要がある。このように、FileSystem の API は実行される際様々な API 同士が影響を及ぼしあっているため複雑な挙動をしている。 diff -r 676277795520 -r 935e11c0f150 final_main/future.tex --- a/final_main/future.tex Sat Feb 15 01:45:22 2020 +0900 +++ b/final_main/future.tex Sat Feb 15 03:36:01 2020 +0900 @@ -12,4 +12,3 @@ また、書き換えにより実装した xv6 が実機上で動作するか確認する必要がある。 -%後々は定理証明支援機 agda で証明できる OS として開発したい。 \ No newline at end of file diff -r 676277795520 -r 935e11c0f150 final_main/main.pdf Binary file final_main/main.pdf has changed