-2

これは、ソフトウェアというよりハードウェアの問題です。

ハードディスク ドライブから 512 バイト セクタのデータを取得したいと考えています。平均シーク時間は 9 ミリ秒で、ディスクは 7200 RPM で回転します。データの上に配置されると、データは 15 MB/秒で転送できます。データの取得には平均でどのくらいの時間がかかりますか?

これを計算するには、ある種の公式が必要ですよね?それを使用して、プログラムを作成する予定です。助けてください。

4

2 に答える 2

0

これに対する答えは自明ではなく、おそらく無関係です。データの取得時間は、OS リソース、さまざまなレベルのキャッシュ、データが物理的にドライブ上にある場所 (外側のエッジは内側よりも高速) などによって異なります。

私が無関係と言ったのは、プログラマーとしてできることは何もなく、信頼することもできないからです。ドライブが予想よりも遅い場合 (NFS/Samba マウント)? 高速 (RAID0、SSD)?

于 2013-02-05T10:11:55.160 に答える
0

理論的には、平均的なケースを探している場合、そのデータを見つけるための平均シーク時間 + データ転送時間になります。ただし、ディスクにはある種の OS があり、データが断片化されている可能性があるため (内容によっては)、時間が大幅に増加する可能性があります。

PSコマンドの処理時間もありますが、通常はナノ秒の範囲です

于 2013-02-05T08:11:14.930 に答える