[0433] ブロック化因数,IBG

平成13年度秋期 基本情報処理技術者試験より
レコード長が750バイト,レコード件数が 20,000件のファイルをデータ記録密度 250バイト/ミリメートル,ブロック間隔 15ミリメートルの磁気テープに書き込む。このとき,ブロック化因数を1(ブロック化しない)とすると,ブロック化因数を 20( 20のレコードを一つにブロック化)としたときに比べて,必要な磁気テープ長は約何倍になるか。
4.8
5.75
6
20

正解

解説

 名称,金額,数量などの項目(フィールド)を 1つのまとまりにしたものをレコードといい,コンピュータではこのレコードの単位で処理を行ないます。しかしながら,1レコード単位で補助記憶装置へアクセスするにはデータが細かすぎるため効率的ではありません。

 そこで,レコードを複数のブロックと呼ばれる単位へまとめ,ブロック単位で読み書きを行なっています。1つ1つのレコードは論理レコード,ブロックとなる実際に読み書きする単位を物理レコードといいます。1ブロックに含まれる論理レコード数がブロック化因数です。

 磁気テープ装置はその性質上,一定速度でテープを巻き取りながらデータにアクセスしなければなりません。そのため,ブロックの前には IBG(Inter Block Gap;ブロック間隔)と呼ばれる無記録領域が作成されます。テープを起動した状態から,IBG の間に巻き取り速度を上げていき,ブロックからは一定速度でアクセスできるようにしています。



 それでは問題を解いていきましょう。問題文の磁気テープは下図のようにデータが記録されます。



 ブロック化因数が 20 の場合,20論理レコードで 1ブロックとなります。1ブロックを記録するためのテープ長は,
    20[論理レコード] × 750[バイト] ÷ 250[バイト/mm] = 60[mm]
これに IBG を加えて 20,000論理レコードで必要なテープ長は,
    ( 60[mm] + 15[mm]) × 1,000[ブロック] = 75,000[mm]
 ブロック化因数が 1 の場合の 1ブロックのテープ長は,
    1[論理レコード] × 750[バイト] ÷ 250[バイト/mm] = 3[mm]
これに IBG を加えて 20,000論理レコードで必要なテープ長は,
    ( 3[mm] + 15[mm]) × 20,000[ブロック] = 360,000[mm]
 よって,ブロック化因数が 1 の場合は 20 のときと比べて,
    360,000[mm] ÷ 75,000[mm]= 4.8
4.8倍のテープ長が必要となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題