2013-04-06 35 views
0

我使用mmap將文件F映射到塊B,然後我只寫入B的一個字節。 如果我用MS_SYNC爲B調用msync(),操作系統是否將所有塊寫入F?或者它只寫入修改爲F的一個字節?msync()如何工作?

回答

0

你的特定系統上的man page是什麼意思?如果它不是開源的,那麼這是關於最好的,除非你能找到更詳細的UNIX平臺文檔。

在至少一個系統,人的msync說:

的則msync()系統調用將修改後的整頁回 文件系統並更新文件的修改時間。只有包含addr和len-1後續位置的頁面 纔會被檢查。

1

這是操作系統和架構特定的,但很可能只有髒的將寫入磁盤。