linux系统存储文件系统,Linux文件系统的深入分析
【IT168 技術】本人很喜歡Linux,在工作中也很喜歡總結關于Linux文件系統的經驗,下面就這個問題來詳細說說吧。Linux支持多種文件系統,包括ext2、iso9660、jffs、ext3、vfat、ntfs、romfs和nfs等,為了對各類文件系統進行統一管理,Linux引入了虛擬文件系統VFS(Virtual File System)。
基于RAM的文件系統
(1)Ramdisk
Ramdisk是將一部分固定大小的內存當作分區來使用。它并非一個實際的文件系統,而是一種將實際的文件系統裝入內存的機制,并且可以作為根文件系統。將一些經常被訪問而又不會更改的文件(如只讀的根文件系統)通過Ramdisk放在內存中,可以明顯地提高系統的性能。
在Linux的啟動階段,initrd提供了一套機制,可以將內核映像和根文件系統一起載入內存。
(2)ramfs/tmpfs
Ramfs是LinusTorvalds開發的一種基于內存的文件系統,工作于虛擬文件系統(VFS)層,不能格式化,可以創建多個,在創建時可以指定其最大能使用的內存大小。(實際上,VFS本質上可看成一種內存文件系統,它統一了文件在內核中的表示方式,并對磁盤文件系統進行緩沖。
Ramfs/tmpfs文件系統把所有的文件都放在RAM中,所以讀/寫操作發生在RAM中,可以用ramfs/tmpfs來存儲一些臨時性或經常要修改的數據,例如/tmp和/var目錄,這樣既避免了對Flash存儲器的讀寫損耗,也提高了數據讀寫速度。
Ramfs/tmpfs相對于傳統的Ramdisk的不同之處主要在于:不能格式化,文件系統大小可隨所含文件內容大小變化。
Tmpfs的一個缺點是當系統重新引導時會丟失所有數據。
3.網絡文件系統NFS(NetworkFileSystem)
NFS是由Sun開發并發展起來的一項在不同機器、不同操作系統之間通過網絡共享文件的技術。在嵌入式Linux系統的開發調試階段,可以利用該技術在主機上建立基于NFS的根文件系統,掛載到嵌入式設備,可以很方便地修改根文件系統的內容。
附錄:NOR閃存與NAND閃存比較
NOR FLASHNAND FLASH
接口時序同SRAM,易使用地址/數據線復用,數據位較窄
讀取速度較快讀取速度較慢
擦除速度慢,以64-128KB的塊為單位擦除速度快,以8-32KB的塊為單位
寫入速度慢(因為一般要先擦除)寫入速度快
隨機存取速度較快,支持XIP(eXecute In Place,芯片內執行),適用于代碼存儲。在嵌入式系統中,常用于存放引導程序、根文件系統等。順序讀取速度較快,隨機存取速度慢,適用于數據存儲(如大容量的多媒體應用)。在嵌入式系統中,常用于存放用戶文件系統等。
單片容量較小,1-32MB單片容量較大,8-128MB,提高了單元密度
最大擦寫次數10萬次最大擦寫次數100萬-1000萬次
以上討論的都是基于存儲設備的文件系統(memory-basedfilesystem),它們都可用作Linux的根文件系統。實際上,Linux還支持邏輯的或偽文件系統(logicalorpseudofilesystem),例如procfs(proc文件系統),用于獲取系統信息,以及devfs(設備文件系統)和sysfs,用于維護設備文件。
總結
以上是生活随笔為你收集整理的linux系统存储文件系统,Linux文件系统的深入分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 基础之java运算符
- 下一篇: 苹果天气不显示_热门天气APP被苹果拿下