基本情報技術者平成16年春期 午前問22

問22

表の仕様の磁気ディスク装置に,1レコード200バイトのレコード10万件を順編成で記録したい。10レコードを1ブロックとして記録するときに必要なシリンダ数は幾つか。ここで,一つのブロックは複数のセクタにまたがってもよいが,最後のセクタで余った部分は利用されない。
22.png/image-size:175×65
  • 103
  • 105
  • 106
  • 132

分類

テクノロジ系 » コンピュータ構成要素 » 入出力装置

正解

解説

セクタ、トラック、シリンダの関係は次のようになっています。シリンダについては少しわかりづらいですが、磁気ディスク装置を構成する各ディスク上の同一半径のトラックをひとまとめにした単位です。
22a.png/image-size:250×569
1ブロックは10レコードからなり、1レコードのデータ量は200バイトなので、1ブロックのデータ量は「200×10=2,000バイト」です。1セクタには256バイトを記録できるため、1ブロックの記録に必要なセクタ数は次のように計算できます。

 2,000バイト÷256バイト=7.8125セクタ

余った部分は使われないので、1ブロックの記録には8ブロックが必要とわかります。

10万件のレコードは記録するときに1万ブロックにまとめられるので、必要なセクタ数は、

 10,000ブロック×8セクタ=80,000セクタ

1トラックは40セクタで構成されるので、80,000セクタの記録に必要なトラック数は、

 80,000セクタ÷40セクタ=2,000トラック

1シリンダは19トラックで構成されるので、2,000トラックの記録に必要なシリンダ数は、

 2,000トラック÷19トラック=105.2…シリンダ

したがって、必要なシリンダ数は端数を切り上げて「106」となります。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop