在Linux裡,我們可以利用mmap()將檔案或device的某個區塊映像到記體裡使用。在inode裡這兩個字段就是跟它有關的: strUCt vm_area_struct *i_mmap; int i_writecount; i_writecount這個字段的值是用來記錄目前有多少個行程是以可寫入的模式開啟此檔案的。為什麼需要這個值呢? 因為系統沒辦法支持可以對一個檔案寫入,而又同時將這個檔案映像為MAP_DENYWRITE的模式,所以,用這個字段來代表目前有多個行程可對此inode做寫入的動作或是有多少個行程將它映像成MAP_DENYWRITE的模式。它的值有以下三種情形: 0: 沒有行程將它開啟為可寫入,也沒有行程對它做MAP_DENYWRITE的映像 < 0: 有-i_writecount個行程對它做MAP_DENYWRITE的映像。 > 0: 有i_writecount個行程將它開啟為可寫入模式。 至於i_mmap這個字段就是用來做內存映像的字段。