情報処理技術者試験 高度共通午前I

問題 (2017年9月8日)

磁気ディスクのレコードを、乱呼び出しで検索するプログラムがある。このアクセス時間の大部分は、位置決め時間と回転待ち時間、転送時間からなり、同一ブロック内の複数レコードを同時に乱呼び出しで検索することはない。ブロック長と検索時間の関係に関する説明のうち、適切なものはどれか、ここで、位置決め時間と回転待ち時間はブロック長に依存しないものとする。 <17年NW問6>

○ 3. 正解です!

【解説】 プログラムによる磁気ディスク上のレコード乱呼出し時間は、CPU処理時間と磁気ディスクアクセス時間から構成される。ただし、CPU処理時間は磁気ディスクアクセス時間と比較すると無視できるほど短い。従って、検索時間に影響を与える要素としては、磁気ディスクアクセス時間を構成する磁気ヘッドの位置決め時間、回転待ち時間、データ転送時間を考慮すればよい。

また、データ転送はブロックと呼ばれる物理レコード単位で行われるため、ブロック長を大きくするとその分だけデータ転送時間が長くなる。これより、同一ブロック内の複数レコードを同時に乱呼び出しで検索しないという条件下では、ブロック長を大きくしたとき、そのデータ転送時間の増加分だけ検索時間も長くなる。

1:ブロック長の大小は、磁気ディスクのアクセス時間を構成するデータ転送時間に影響を与え、検索時間に影響を与える。

2:磁気ディスクアクセスは、ブロック単位でデータ転送される。ブロック長を大きくすると、同一ブロック内の複数レコードを同時に乱呼び出しで検索することはないという条件から、レコード乱呼び出し時のデータ転送時間が長くなり、検索時間も長くなる。

3:バッファリングやディスクキャッシュを導入して大きな効果を得られるのは、順次アクセスや呼出しレコードに局所性がある場合である。同一ブロック内の複数レコードを乱呼び出しをしないという条件から、“ブロック長を調整するよりも、バッファリングとディスクキャッシュを導入する方が、検索時間短縮に効果的である”とはいえない。

Copyright(c) 1996-2018 TAC Co.,Ltd. All Rights Reserved.
ITトレメの問題や解答、サービスに関するお問い合せはこちらまで
@IT自分戦略研究所フォーラム 新着記事
- PR -