WindowsVistaのコピーが遅い理由?

| コメント(0) | トラックバック(0)
Windows Vistaのコピーが遅い。
以前から思ってましたが、原因がわかりました。

ライトキャッシュが無いというか遅延書き込みをやってないのが
原因みたいです。
???なんじゃそれ??  かも(^^;

HDDよりメモリーのアクセスがとんでもなく早いのはご存知でしょうか?
エクセルなどを起動する際・・1回目の起動より2回目の起動が早いですよね。
まー ソフト、テンコ盛りの安いメーカー製パソコンだとわからないみたいですが。

簡単な実験ですが条件があります。
Windows2000/XPでは メモリー512M以上
WindowsVistaでは メモリー1.5G以上
上のパソコンならほぼ実験できます。100%OKの保証は無いけど。
パソコンの電源を入れて DISKTOP画面が出てから5分ぐらい待ちます。
で エクセルを起動させます。起動したらすぐエクセルを終了します。
で また エクセルを起動させて見て下さい。かなり早くエクセルが
起動すると思います。

これは、キャッシュという効果のおかげです。
HDDから読み込んだデータ(この場合はエクセルというプログラム)を
空きメモリーに一時的に保存して、次に同じデータの要求が来た場合は
HDDからデータを読み込まず、一時的にメモリーに保存したデータを利用するからです。
上の実験をHDDのアクセスランプを見ながらやっていただければ よくわかると思います。
この1回目と2回目の時間的な差がHDDとメモリーの速度差だと思ってください。
この機能はOS(この場合はWindows)が提供している機能です。

プログラム的に言うと(OSもプログラムです)
xxxというデータを読み込んで下さい。ってOSに依頼します。
でOSはメモリーにあればそのまま 読み込んだよ(^^
って返事をプログラムに返します。
でもメモリーに無い場合は、そのデータをHDDから読み込んでメモリーに入れたら
プログラムに 読み込んだよ(^^ って 返事をします。
その読み込む間は、じっと返事が来るのを待っています。

これが 読む場合ですね。

書き込みをする場合は
xxxと言うファイル名でデータを書き込んで下さいって OSに依頼します。
で ここで XPまでは とりあえずHDD書き込み用の一時的なメモリーに書き込んでから
書き込み完了しました ('◇')ゞ って返事するんですが
Vistaでは、まじめにHDDに書き込みをするのでその間まじめにじっと
プログラムは待ってるんです。
HDDに直接書いているので 時間がかかります。
だから・・・遅いんです。って わかるか こんな説明で o(`ω´*)o

じゃー XPまでやってるメモリーに書き込んだ奴はどうするの? ってなりますが
CPUの負荷の状態を見て 負荷が掛かっていない時に人知れず
データをHDDに書いていきます。
他には、書き込み用の一時データに入らなくなったら急いでHDDに書き込みを行います。
これがライトキャッシュとか 遅延書き込み って 言うやつです。
HDDへの書き込みが終わる前に停電とかで電源が切れたら、データは消えてしまいます。
危険ではあるんですけどね・・でも速度は速くなります。

この遅延がVistaのコピーのときは機能していないらしい。
普通は遅延が動いてるかどうかは知りません。頭が悪いミアにはわかりません。

ここを読む人は殆ど居ないので・・・適当に書いてます。
嘘じゃないと思うけど・・・大きくは間違ってないだろうと。
最近OSに近いプログラム書かないので良く知らない (つд・)


あと、処理時間計算とかの問題とかあるけど・・

トラックバック(0)

トラックバックURL: http://miai.pm-jp.com/bin/log/mt-tb.cgi/92

コメントする