平成21年度 秋期 午前 問13
ソフトウェア
セクタ数の合計
500 バイトのセクタ 8 個を 1 ブロックとして,ブロック単位でファイルの領域を割り当てて管理しているシステムがある。2,000 バイト及び 9,000 バイトのファイルを保存するとき,これら二つのファイルに割り当てられるセクタ数の合計は幾らか。ここで,ディレクトリなどの管理情報が占めるセクタは考慮しないものとする。
- ア22
- イ26
- ウ28
- エ32
答えと解説を見る
✓ これが正解エ32
解説
端数でも一ブロックまるごと割り当てられます。
この設問の要は、割り当ての単位がセクタではなくブロックだという点です。見分ける軸は、必要量をブロックの大きさで区切ったときに端数をどう扱うかにあります。まずブロックの大きさは、一セクタの容量に一ブロックあたりのセクタ数を掛けて求まります。次にファイルごとに、その大きさで必要量を割り、割り切れなくても切り上げて整数のブロック数にします。最後に二つのファイルのブロック数を合計し、一ブロックあたりのセクタ数を掛け直せば、割り当てられるセクタ数の合計が出ます。切り上げを忘れると、実際には確保される余りの領域を数え落とします。余った領域は他のファイルに回せないので、割り当てとしては消費された扱いになります。ブロックを大きくすると管理は楽になりますが、小さいファイルほど使われない領域が増えるという釣り合いがあります。
ほかの選択肢はなぜ違うのか
- ア22:どちらのファイルもセクタの単位のまま数え、切り上げをまったく行わなかった場合に出る値です。割り当てがブロック単位であるという前提が反映されていません。
- イ26:小さい側のファイルだけをブロックの単位に丸め、大きい側をセクタのまま数えた場合に出る値です。二つのファイルで扱いがそろっていません。
- ウ28:大きい側のファイルだけをブロックの単位に丸め、小さい側をセクタのまま数えた場合に出る値です。こちらも切り上げが片方にしか及んでいません。
出典:平成21年度 秋期 基本情報技術者試験 午前 問13
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)