
私は「データベース システム コンプリート ブック 第 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 ミリ秒を再び追加すると、答えが得られます。