這本是《深圳理解計算機系統》第九章的練習題
題目假設有乙個檔案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 核心模組實現了乙個完整檔案系統的框架,但具體操作沒有實現...