1. 基本情報技術者講座トップページ
  2. 基本情報技術者講座 磁気ディスクの容量の計算
IT関連の練習問題(ITキャパチャージ)
リクルートが運営するキーマンズネットに無料会員登録することで、基本情報技術者で出題されるIT関連の問題を解くことができます。また、基本情報技術者試験の勉強で用語を調べるときにIT単語帳は簡単に調べられほとんどの用語をカバーしているのでたいへん便利です。基本情報技術者試験合格のためにぜひ、無料会員登録をしておきたいサイトです。

基本情報技術者講座 磁気ディスクの容量の計算

スポンサードリンク

磁気ディスク装置におけるファイルを記録するのに必要なシリンダ数の計算は、磁気ディスク、シリンダとトラックの関係が理解できていれば求めることができる。

磁気ディスク装置におけるシリンダ、トラックとセクタの関係は、基本情報技術者講座 磁気ディスク装置を参照して欲しい。

具体的には以下の順番でファイルを記録するのに必要なシリンダ数を求める。

基本情報技術者講座 必要なシリンダ数の計算手順

  1. ブロック長を求める
  2. 1トラックに記録できるブロック数を求める
  3. 1シリンダに記録できるブロック数を求める
  4. 記録するファイルのブロック数を求める
  5. 必要なシリンダ数を求める

例題

以下の表の磁気ディスク装置に1レコード400バイトのレコードをブロック化因数5で10,000レコード記録するのに必要なシリンダ数はいくつか。

1シリンダのトラック数40トラック
1トラックの記憶容量15,000バイト
ブロック間隔150バイト

基本情報技術者講座 シリンダの概念図

必要なシリンダ数を求めるときに図のように図示して整理するとすると計算の手順が分かりやすい。計算を進めていく中で求まった数値を図中に記入する。こうすることで後で見直しをするときに簡単に見直しができる。

ブロック長を求める

ブロック長は、1ブロックの大きさのことである。ブロックは、何レコードかをひとまとめにしたもののことである。磁気ディスク装置にはデータはブロック単位で記録される。このためブロックのことを物理レコードという。

基本情報技術者講座 ブロックの概念図

1ブロックが何レコードであるかを表しているのがブロック化因数である。また、ブロックとブロックの区切りとしてブロック間隔が付く。したがって、ブロック長は以下の式で求められる。

基本情報技術者講座 ブロック長の求め方

ブロック長
レコード長×ブロック化因数+ブロック間隔

400バイト×5+150バイト=2,150バイト

1トラックに記録できるブロック数を求める

1トラックに記録できるブロック数の考え方は、15,000バイトの中に2,150バイトがいくつ入るかを考えればよい。したがって、1トラックに記録できるブロック数は以下の式で求められる。

なお、ブロックは複数のトラックにまたがって記録することはできない。しがたって、小数点以下は切り捨てる。

基本情報技術者講座 1トラックに記録できるブロック数

1トラックに記録できるブロック数
1トラックのバイト数÷ブロック長

小数点以下は切り捨てる

基本情報技術者講座 シリンダの概念図

15,000バイト÷2,150バイト=6ブロック

1シリンダに記録できるブロック数を求める

シリンダはトラックが集まったものである。したがって、1シリンダに記録できるブロック数は、以下の式で求められる。

基本情報技術者講座 1シリンダに記録できるブロック数

1シリンダに記録できるブロック数
1シリンダのトラック数×1トラックに記録できるレコード数

基本情報技術者講座 シリンダの概念図

40トラック×6ブロック=240ブロック

記録するファイルのブロック数を求める

ファイルのブロック数は、以下の式で求められる。小数点以下は切り上げる。これはデータを切り捨ててはいけないからである。

基本情報技術者講座 ファイルのブロック数

ファイルのブロック数
ファイルのレコード数÷ブロック化因数

小数点以下は切り上げる

10,000レコード÷5=2,000ブロック

これは、10,000レコードを5レコード1ブロックにすると、何ブロックであるかということである。

必要なシリンダ数を求める

2,000ブロック記録するためには、240ブロック記録できるシリンダがいくつあればよいかと考えればよい。必要なシリンダ数は、以下の式で求められる。

基本情報技術者講座 必要なシリンダ数

必要なシリンダ数
ファイルのブロック数÷1シリンダに記録できるブロック数

小数点以下は切り上げ

小数点以下は切り上げる。例えば、5人が宿泊できる部屋があるとき、7人宿泊するためには何部屋必要かを考えるとよい。部屋数は、7÷5=1.4で2部屋必要である。5人宿泊できるところに2人だけ宿泊させるのはもったいないので、2人は野宿ではかわいそうである。これはファイルのブロック数を計算するときと同じ考え方である。

2,000ブロック÷240ブロック=9シリンダ

基本情報技術者講座 磁気ディスク装置の容量計算の先頭