by shigemk2

当面は技術的なことしか書かない

ファイルシステムについて

P188

  • Unixはディスクをファイルシステムという形に組織する。ファイルシステムは、ファイルとディレクトリのコレクションである。ディレクトリは、名前tポインタのリストである。ディレクトリの1つ1つのエントリは、ファイルかディレクトリを指している。ディレクトリには、親ディレクトリを指すエントリと自分自身を指すエントリが含まれている。
  • Unixファイルシステムは、スーパーブロック、iノードテーブル、データ領域の3つの領域から構成される。ファイルの内容は、データブロックに格納される。ファイルの属性はiノードに格納される。iノードテーブル内でのiノードの位置をファイルのiノード番号という。iノード番号は、ファイルを一意に識別する。
  • 同じiノード番号が複数のディレクトリでさまざまな名前で登場することがある。これらのエントリはファイルに対するハードリンクと呼ばれる。シンボリックリンクは、iノード番号ではなく、名前によってファイルを参照するリンクとなる。
  • 複数のファイルシステムを1つの木構造にまとめることができる。あるファイルシステムのディレクトリと別のファイルシステムのルートを接続するカーネルの処理をマウントという。 Unixは、ディレクトリの作成、削除、ポインタのコピーの作成、ポインタの移動、ポインタに対応する名前の変更、ほかのファイルシステムの接続、切断のためのシステムコールを提供している。