バッファなしI/Oと標準I/Oの違いは何ですか?私は、read()、write()、close()を使用することはバッファリングされていないIOであることを知っています。 PrintfとgetはバッファされたIOです。私はまた、大きなトランザクションにバッファされたIOを使用する方が良いことを知っています。私はその理由を知りません。この文脈では、「バッファされた」という用語は何を意味しますか?バッファなしのI/OとバッファされたI/Oの比較
1
A
答えて
5
バッファなしI/Oとは単に読み書き中にバッファを使用しないことを意味します。一般的に、read()やwrite()などのシステムコールを使用するときにcharでcharを読み書きするため、だから巨大な日付の一般的に高レベルの読み取り/書き込みまたは単純にバッファリングされたI/Oが優先されます.Bufferedは単なる文字を扱わないことを意味しますが、ブロックのI/Oとして知られています。 Unixでは、高水準の読み書き機能を使用するときに、指定されたブロックサイズのデータをフェッチ/格納し、それらをバッファキャッシュに配置し、このバッファキャッシュからこれらのI/O関数が必要な量のデータを取得します。
関連する問題
- 1. バッファされたものとバッファされていないものIO
- 2. バッファとargvエラーの比較
- 3. Haskell - IO Charとcharを比較する
- 4. Erlangでioバッファをフラッシュする方法は?
- 5. なぜstd :: io :: Readの関数がバッファを取るのですか?
- 6. バッファされた/バッファされていないチャンネル
- 7. ASIO IO完了コールバックの順序と実際のIO操作の順序との比較
- 8. Haskell: "予想されるIO IO()をIO ThreadIdと一致させることができませんでした"
- 9. COMport.Readline()問題:バッファされたバッファと文字列の操作
- 10. バッファをC++のconst char *と比較する
- 11. JavaラインIOとC++ IO?
- 12. ハスケルはIO UTCTimeを比較しています
- 13. 角度ソケット-IO IOが定義されていない
- 14. ASP.NET MVC AsyncControllerとIOバインドされたリクエスト
- 15. メモリマップされたIOのコンセプトの詳細
- 16. angle io highchart socket io
- 17. バッファなしのchild_process.execFile()
- 18. バッファの長さとバッファのソケット上での送信
- 19. IO文字列とIOデータ型
- 20. IOのシンプルなカウンタ
- 21. Ioのランダムなバグ
- 22. java.lang.NoSuchMethodErrorの:org.apache.commons.io.FileUtils.copyInputStreamToFile(Ljava/IO /のInputStream; Ljava/IO /ファイル;)
- 23. バッファには比較方法がありますか?
- 24. バッファされたオーディオのパーセンテージを表示
- 25. 実際のタイプ 'IO()'で 'Control.Monad.Trans.Reader.ReaderT MongoContext IO a0'と一致しませんでした
- 26. State MonadはIOと非IOを混在させます
- 27. IO
- 28. 到着するバイト*バッファと配列を比較する最速の方法
- 29. アンドロイドブラウザとソケットio
- 30. IOチャネルとリーダライタ
あなたの質問は次のようになります:http://stackoverflow.com/questions/1450551/buffered-io-vs-unbuffered-io – Dave
厳密に言えば、Linuxでは、readなどは**カーネル**は ' O_DIRECT'が有効になります。あなたの文脈では、バッファリングとは、I/O関数呼び出しのたびにフラッシュされない内部配列をCライブラリが維持することを意味します。むしろfflushを呼び出さなければなりません。同様に、読取りバッファは読取り中にコールごとのハングを少なくすることができる。 – moshbear
@moshbear:fflushが何をしているのかを明確にしてください。 c内部配列またはバッファされたキャッシュをフラッシュしますか? – FourOfAKind