スポンサードリンク
磁気ディスク装置におけるファイルを記録するのに必要なシリンダ数の計算は、磁気ディスク、シリンダとトラックの関係が理解できていれば求めることができる。
磁気ディスク装置におけるシリンダ、トラックとセクタの関係は、基本情報技術者講座 磁気ディスク装置を参照して欲しい。
具体的には以下の順番でファイルを記録するのに必要なシリンダ数を求める。
以下の表の磁気ディスク装置に1レコード400バイトのレコードをブロック化因数5で10,000レコード記録するのに必要なシリンダ数はいくつか。
1シリンダのトラック数 | 40トラック |
1トラックの記憶容量 | 15,000バイト |
ブロック間隔 | 150バイト |
必要なシリンダ数を求めるときに図のように図示して整理するとすると計算の手順が分かりやすい。計算を進めていく中で求まった数値を図中に記入する。こうすることで後で見直しをするときに簡単に見直しができる。
ブロック長は、1ブロックの大きさのことである。ブロックは、何レコードかをひとまとめにしたもののことである。磁気ディスク装置にはデータはブロック単位で記録される。このためブロックのことを物理レコードという。
1ブロックが何レコードであるかを表しているのがブロック化因数である。また、ブロックとブロックの区切りとしてブロック間隔が付く。したがって、ブロック長は以下の式で求められる。
400バイト×5+150バイト=2,150バイト
1トラックに記録できるブロック数の考え方は、15,000バイトの中に2,150バイトがいくつ入るかを考えればよい。したがって、1トラックに記録できるブロック数は以下の式で求められる。
なお、ブロックは複数のトラックにまたがって記録することはできない。しがたって、小数点以下は切り捨てる。
小数点以下は切り捨てる
15,000バイト÷2,150バイト=6ブロック
シリンダはトラックが集まったものである。したがって、1シリンダに記録できるブロック数は、以下の式で求められる。
40トラック×6ブロック=240ブロック
ファイルのブロック数は、以下の式で求められる。小数点以下は切り上げる。これはデータを切り捨ててはいけないからである。
小数点以下は切り上げる
10,000レコード÷5=2,000ブロック
これは、10,000レコードを5レコード1ブロックにすると、何ブロックであるかということである。
2,000ブロック記録するためには、240ブロック記録できるシリンダがいくつあればよいかと考えればよい。必要なシリンダ数は、以下の式で求められる。
小数点以下は切り上げ
小数点以下は切り上げる。例えば、5人が宿泊できる部屋があるとき、7人宿泊するためには何部屋必要かを考えるとよい。部屋数は、7÷5=1.4で2部屋必要である。5人宿泊できるところに2人だけ宿泊させるのはもったいないので、2人は野宿ではかわいそうである。これはファイルのブロック数を計算するときと同じ考え方である。
2,000ブロック÷240ブロック=9シリンダ