歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> 關於linux系統調用write()

關於linux系統調用write()

日期:2017/2/27 12:09:17   编辑:Linux文化

>>> 此貼的回復 >> 不是.只是修改了緩沖區.操作系統定期刷新緩沖區的內容到磁盤上.如果想及時更新磁盤上的數據有必要使用fsync()

>>> 此貼的回復 >> fflush()也有這個功能,但它裡面的參數是文件句柄, 同 fsycn()有什麼區別嗎?

>>> 此貼的回復 >> 一個是文件流, 一個是文件描述符. 他們之間是可以相互轉換的. man fdopen 將文件描述符轉換成流 man fileno 講流轉換成文件描述符

>>> 此貼的回復 >> fflush 是把 FILE * 裡的緩沖區(位於用戶態進程空間)刷新到內核中 fsync 是把內核中對應的緩沖(是在 vfs 層的緩沖)刷新到硬盤中

>>> 此貼的回復 >> write() 只是沒有用戶空間的緩沖(就像 stdio 提供的), 但是它仍然有內核中的緩沖.

分不清楚 fflush() 和 fsync() 就說明還沒有用戶空間和內核空間的概念. 建議系統的學習/補習一下.


Copyright © Linux教程網 All Rights Reserved