平均シーク時間を計算するにはどうすればよいですか?

平均シーク時間を計算するにはどうすればよいですか?

私は「データベース システム コンプリート ブック 第 2 版」という本から Megatron 747 の例を読んでいます (例 13.2、565-566 ページ)。そこには次の情報が記載されています。

  • 8枚のプラッター = 16面
  • 2^16 = 1面あたり65536トラック
  • トラックあたり256セクター
  • セクターあたり4096バイト

平均シーク時間を計算するときは、次の計算を行います。

1 + (65536/3)/4000 = 6.46 millisecond.

65536 は指定されたトラックの数であり、1/3 は距離の平均化のためであることは理解していますが、なぜ 1 を追加したのか、4000 はどこから得たのかはわかりません。

誰か助けてくれませんか?

答え1

トピックについて何も知らなくても大丈夫です(実際、知っているように見えることは、あなたを本題から逸らすだけです。シークタイムのみ)。4000説明内の のすべての出現 (1 つだけあります) と、1 millisecond同じ段落内の の関連する出現を探します。

引用データベース システム - 完全版 (第 2 版)、強調は筆者による:

ヘッドアセンブリをシリンダー間で移動させるには開始と停止に1ミリ秒、プラスシリンダーが4000回移動するごとに1ミリ秒追加したがって、ヘッドは 1.00025 ミリ秒で 1 トラックを移動し、最も内側のトラックから最も外側のトラックまで、65,536 トラックの距離を約 17.38 ミリ秒で移動します。

計算を言い換えると、最も内側のシリンダーから最も外側のシリンダーまでシークするのに 17.38 ミリ秒かかります。開始/停止の 1 ミリ秒を除くと、実際の移動時間は 16.38 ミリ秒になります。その 3 分の 1 (著者によると平均距離の移動) は 5.46 です。開始/停止の 1 ミリ秒を再び追加すると、答えが得られます。

関連情報