2007年05月19日

ISO9660 その2 物理セクタ、論理セクタ、論理ブロック

CD-ROM などにアクセスするときは、バイト単位で読み書きするのではなく、それをまとめたセクタ単位で読み書きします。先頭からの位置もセクタで指定します。

そこでややこしいのが、物理セクタ、論理セクタ、論理ブロック、の違いです。

物理セクタは、メディア内の区切りであり、ユーザー用の実データ以外に同期信号やアドレス、CRC などの検査、復号用データを含みます。そして物理アドレスで場所を指定します。但し、ユーザーデータ以外は CD-R/W に Raw モードで書き込む時くらいしか気にする必要はありません。読み取るときにはドライブ(もしくはOS)が復号までやってくれます。

ISO9660 の論理セクタのバイト数は 2048 かそれ以上の 2 の n 乗です。物理セクタ内のユーザーデータの大きさが 2048 バイト未満であれば、論理セクタは 2048 バイトで、足りない分は次の物理セクタに続きます。物理セクタ内の実データ部が 2048 以上であれば、1 論理セクタは 1 物理セクタに収まるように n を最大に設定します。一つの論理セクタは必ず物理セクタのユーザーデータの先頭から始まります。

論理ブロックのバイト数は 512 かそれ以上の 2 の n 乗です。論理ブロックのバイト数は論理セクタのバイト数以下です。そのサイズは PVD/SVD/EVD に書かれています。

ただ、通常は物理セクタ内のユーザーデータ=論理セクタ=論理ブロック=2048 バイトでして、この違いを気にすることはあまりありません。

アドレスに相当する、先頭からの位置を論理ブロックで数えたものを論理ブロック番号 (LBN) と呼びます。
posted by 七癖 at 09:08| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。