ファイルシステム

ハードディスク

トラック/シリンダ/セクタ/ブロック

各ディスクは木の年輪のように同心円上にトラックと呼ばれる領域に分けられている。トラックには内側から0,1,2..のような番号が存在する。
同じトラック番号のトラックをまとめてシリンダと呼ぶ。各トラックは等分割されており、これをセクタと呼ぶ。セクタよりも小さい単位での書き込みはできない。磁気ヘッドを読みたいセクタに移動することをシークするという。セクタのサイズは記憶媒体によって決まる。OSはいくつかのセクタをまとめてブロックという単位で扱う。

ファイルシステムの仕組み

二次記憶装置を抽象化し、保管されたデータへのアクセス手段を提供する。
ファイルシステムの役割として次のような事柄が上げられる
  • ファイル名によるアクセス
ユーザーはセクタを知る必要が無い
  • ファイルの作成/伸長
セクタの空き情報などを意識する必要がない
  • ファイルの保護
ファイルにはアクセス権が付けられている。

ファイルへのアクセス

  • 順アクセス方式
先頭から逐次アクセスしていく
  • ランダムアクセス方式
ファイルの様々な位置にアクセスすることができる。

階層化ファイルシステム

ファイルを階層的に分類して保存することができる。
directory/folder

ファイルシステムの実現

  • 連続方式
一つのファイルを連続したブロック上に格納する。
実装が簡単であるが、ファイル作成前にファイルの最大長を決めておかなれけばならない欠点がある。
  • 連結方式
ファイルの領域同士をリスト構造にして実現する。これにより、ファイルの長さを自由に伸ばすことができる。ただし、ランダムアクセスができない。また、不良セクタが発生した場合ファイル全体が読めなくなってしまう。
  • Unixでの実装

  • ブートブロック
論理ブロック番号0番
unixのブートプログラムが格納されている。
  • スーパーブロック
論理ブロック番号1番
ファイルシステムに関する様々な情報が格納されている。
  • iノードブロック
論理ブロック番号2からn番.iノードと呼ばれるファイル管理用の
データ構造がならぶ。
  • データブロック
ファイルやディレクトリなどファイルの実体を格納する。
最終更新:2009年07月10日 23:01
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。