メモリはバイト単位
ディスクはブロック単位
	歴史的経緯で512byte単位
ファイルシステムはこのブロックの使い方を決めましょう、というルール


大昔は、どの「ブロック」を使うかを物理的なメモ帳とかに「Address」を書いてやりくりした
	No.0 blockはAさん、1はBさん、というように。
	telコマンド(?)
	
・どこを使っているか
	複数のブロックの場合も、単一のブロックで済む場合もある
	Unixで採用された、ブロックが自動で拡張されるという機能は結局批判されながらも広まっていった
・誰が使うか
	inode
	http://www.tamacom.com/tour/kernel/unix/S/61.html
	32行目
		i_mode
			ファイルのモード
			shortなので16bit
			rwxで3bit * 3 = 9bit
	63行目〜
		隠れたモード (i_mode)
		〜67行目
		D => directory
		R => regular file
	内容がユーザに開放されているのがregular file
	directoryはOSが使用するので、ユーザは普通意識しない

今日はinodeしかしないよ

伝統的な*nixのファイルシステム

ディスク内の順番
	先頭 superblock => 次回以降
	inodeエリア
	一般ブロック
superblock
	全体の情報
	初期化するのはmkfs等のツール
inodeエリア
	inodeが固まりでぎっしり入っている
	inodeの配列
一般ブロック
	directoryやregular fileで埋まっている

mkfsしただけではファイルシステムとして認識されない
ファイルシステムとして、mkfsしたディスクをOSに認識させるのはmountコマンド

mountコマンドが何をするか
	superblockを読んで、正しいFSか、致命的な不整合がないか
	mount /dev/blockdev mountpoint
		inodeの2番を読んで、mountpointに追記
		2番なのは決まっている
		inodeの2番は非常に重要
	umount
		ファイルが全て閉じているか
			inodeが全てlockされていない
inodeの2番
	各FSの2番inodeはディレクトリ構造のrootとなっている
	mkfsコマンドのFSの初期化直後は、mkfsコマンドが2番をディレクトリに必ずセットする

inode一個が一つのファイル

inodeの配列から、未使用のinodeを探してきて、メモリ上に読み込み、regular <= +1してdiskに書き戻す
	未使用を探すアルゴリズムは別にある
一般ブロックの空き領域を探す
	探すアルゴリズムが別にある
	39行目のNADDRが未使用

*nixではinode自体がファイル
	「ファイル = inode」
	inodeは識別子ではないので、番号がついている
		「i_no」
		「ls -i」でinode番号が出る
	"ls -id /"
		=> 2
lnコマンドでhardlinkを作る
	ファイルをinodeの番号で呼ぶのは面倒なので、名前をつける
	ファイル名は複数つけられる
消えるタイミングはrmコマンドを打った瞬間とは限らない

「ino <=> file name」の組み合わせを配列として持っている奴が居る
	|ino | file name |
	| 41 |   file A  |
	| 41 |   file B  |
	のような管理簿的な物
	実はこれがディレクトリファイル
		ディレクトリファイルを無理矢理見ると見える
		"cat ."
			Linuxは構造が違うので見れない
	今のLinuxとV7のファイルシステムの構造は同じ
		ファイルシステムの基本的なデザイン構造は同じ
		もちろん実装上の工夫・進化はある
		アンティークなUnixを今回取り上げた理由はこれ

tempファイル
	ファイルを作った瞬間にunlink => プロセスが事故死しても勝手にファイルが消える

昔はディスクが高価で大きな単一ディスクを用意するのが難しかったので、
小さなディスクを接ぎ木して、大きく見せるという苦肉の策
	=> inode 2
