Windows 掲示板
[5943]
非同期書き込み?

proxy01ra.so-net.ne.jp

 
よねよね さん
ちょっと、こんがらかってしまいましたので、ご存知の方がいらっしゃったらご教示いただきたいのですが...

困ったことに、標題の「非同期書き込み」というものについて、2つの認識ができてしまいました。

●DISKへの物理的な書き込みが完了した時点ではなく、ライトバックなキャッシュに書き込みが完了した時点で、I/Oが完了したと見なす

●1回1回、I/Oの完了を待たなくても、連続してデータの書き込み要求を受け付けることができる

どちらが正しい(もしくは両方正しい or 間違い)か、どなたかお教えいただきたいのですが...

また、Windows 9X系、Windows NT系のローカルDISKへの書き込みと、CIFS/SMBのそれぞれで非同期書き込みが可能なのかどうかも、併せてお教えいただけないでしょうか?

よろしくお願いいたします。m(..)m
1. Reply: 非同期書き込み?

proxy7.dti.ne.jp

 
McBenie さん
ちょっと難しすぎて判断できませんが・・・、一点だけ。
少なくともWindows95ではディスク上のファイルへの非同期入出力はサポートされてません。
Windows98はどうなのか・・・教えて欲しいです(^^;;;

2. Reply: 非同期書き込み?

cs1p107.ppp.infoweb.ne.jp

 
西家 さん
 Windows9Xでサポートしているのは、ディスクへのキャッシュによる遅延書き込みです。ディスクデバイス以外(シリアルポートやネットワークのソケット通信など)については非同期I/Oをサポートしています。
 同期I/Oと非同期I/Oとの違いは、I/Oの結果を待ってから(同期して)次の処理を行うか、I/O処理をOSに依頼しておいて、I/Oの結果は別途に非同期に受け取りことができるかということです。
 キャッシュによる遅延書き込みは、アプリケーションに正確な出力結果を即時に得られないため、多分に投機的な要素があります。実際には障害などでエラーが発生するような書込み操作でも、出力時には正常終了してしまう場合があります。処理速度は上がりますが信頼性がありません。
 WindowsNTの非同期ディスクI/Oについては、Cがわかる方なら次のページも参考にしてもよいかもしれません。
 http://www.microsoft.com/JAPAN/support/kb/articles/J047/1/65.htm
3. Reply: 非同期書き込み?

proxy01ra.so-net.ne.jp

 
よねよね さん
お返事ありがとうございました。m(..)m

さらにあちこち調べてみた結果、西家さんの書かれているように、前者はただの「遅延書き込み」で、後者が「非同期書き込み」のようでした。
(某“ホームページ”社のセミナで、前者を「非同期書き込みという」って教わったんだけどなぁ〜。(^^;;)

あと、McBenieさんと西家さんの書かれているように、Windows NTでは非同期I/Oをサポートし、Windows 9Xではサポートしないようですね。

また、CIFS/SMBは非同期I/Oをサポートするようですね。(CIFS/SMBで、Windows 9Xのネットワークドライブに書き込む場合はどうなるんだろう...?)

# う〜ん、あとは HP-UXにて、非同期I/Oをサポートしないハズの NFS Ver.2で、Export時に -asyncオプションを付けた場合の動作が謎だなぁ。