1
當使用mmap
/msync
/munmap
時,是讀/寫原子? (假設磁盤在掉電時將完成任何未決寫入)msync原子?
當使用mmap
/msync
/munmap
時,是讀/寫原子? (假設磁盤在掉電時將完成任何未決寫入)msync原子?
涉及多個頁面或多個磁盤扇區的操作永遠不會是原子的。
調查一致性兩個具體事情之間可能更有用。
例如,兩個程序或均爲MMAP(2) -ing同一文件線程之間,它們已經相干和msync(2)
無關於此。所有msync
都會導致內核將修改後的頁面寫入底層存儲系統 ...對於同一系統上的其他讀者和寫入者也沒有必要或有幫助,這些讀寫器也使用mmap()。
如果您想使用不同的工具(共享存儲或非mmap I/O)並同步訪問,您將需要一個真正的信號量或互鎖。我不認爲msync()是有用的。爲了給您更多的幫助,我們需要更多地瞭解您嘗試同步的內容。