使用mmap 修改使用者空間檔案

2021-09-28 18:30:02 字數 480 閱讀 5208

這本是《深圳理解計算機系統》第九章的練習題

題目假設有乙個檔案hello.txt,內容是「hello,world!\n「,用 c 編寫乙個程式,使用mmap 修改檔案內容 為 「jello,word!\n」

#include #include #include void main()

ftruncate(fd,len); // 改變檔案大小

buf = mmap(null,len,prot_write,map_shared ,fd,0);

if(buf == -1)

memset(buf,64,0);

sprintf(buf,"hello_modify!\n");

munmap(buf,64);

close(fd);

}

需要注意的有,

沒有 ftruncate(fd,len)的話,超過原始檔案大小將寫入不了,所以需要先修改檔案大小。

使用者空間檔案系統 fuse

使用者空間檔案系統 fuse 2010 08 16 22 16 10 分類 伺服器與儲存 fuse是filesystem in user space,它是乙個使用者空間的檔案系統框架,通過fuse,程式設計師可以再使用者態實現檔案系統,並且不需要特權使用者的支援。fuse包括三個模組 核心模組,使用...

FUSE 使用者空間檔案系統

使用者空間檔案系統 filesystem in userspace,簡稱fuse 是作業系統中的概念,指完全在使用者態實現的檔案系統。目前linux通過核心模組對此進行支援。一些檔案系統如zfs,glusterfs和moosefs使用fuse實現。linux用於支援使用者空間檔案系統的核心模組名叫f...

FUSE 使用者空間檔案系統

fuse是file system in user space,它是乙個使用者空間的檔案系統框架,通過fuse,程式設計師可以再使用者態實現檔案系統,並且不需要特權使用者的支援。fuse包括三個模組 核心模組,使用者空間庫以及mount工具。l 核心模組實現了乙個完整檔案系統的框架,但具體操作沒有實現...