什么是嵌入式的根文件呢?嵌入式跟文件系統就是一種特殊的文件系統,那么根文件系統和普通的文件系統有什么區別呢?由于根文件系統是內核啟動時掛在的個文件系統,那么根文件系統就要包括Linux啟動時所必須的目錄和關鍵性的文件,例如Linux啟動時都需要有init目錄下的相關文件,在 Linux掛載分區時Linux一定會找/etc/fstab這個掛載文件等,根文件系統中還包括了許多的應用程序bin目錄等,任何包括這些Linux 系統啟動所必須的文件都可以成為根文件系統。
嵌入式的根文件系統有哪些呢?
一、基于FLASH的文件系統
Flash(閃存)作為嵌入式系統的主要存儲媒介,有其自身的特性。Flash的寫入操作只能把對應位置的1修改為0,而不能把0修改為1(擦除Flash就是把對應存儲塊的內容恢復為1),因此,一般情況下,向Flash寫入內容時,需要先擦除對應的存儲區間,這種擦除是以塊(block)為單位進行的。
二、基于RAM的文件系統
(1)Ramdisk
Ramdisk是將一部分固定大小的內存當作分區來使用。它并非一個實際的文件系統,而是一種將實際的文件系統裝入內存的機制,并且可以作為根文件系統。將一些經常被訪問而又不會更改的文件(如只讀的根文件系統)通過Ramdisk放在內存中,可以明顯地提高系統的性能。
在Linux的啟動階段,initrd提供了一套機制,可以將內核映像和根文件系統一起載入內存。
(2)Initramfs
基于RAM的文件系統-Initramfs出現在2.6內核中,它類似于tmpfs,是一種基于內存的文件系統,它的使用不需要創建內存塊設備。增加文件到ramfs(或增大原有的文件)會自動配置更多的內存,并刪除或截去文件以釋放內存。(若ramdisk沒有滿,已被占用的額外的內存也不能用來做其它事,若ramdisk滿了,但其它仍有閑置的內存,也必須重新格式化后才能擴展使用)
(3)ramfs/tmpfs
Ramfs是LinusTorvalds開發的一種基于內存的文件系統,工作于虛擬文件系統(VFS)層,不能格式化,可以創建多個,在創建時可以指定其能使用的內存大小。(實際上,VFS本質上可看成一種內存文件系統,它統一了文件在內核中的表示方式,并對磁盤文件系統進行緩沖。)
三、其它文件系統
(1)網絡文件系統NFS(NetworkFileSystem)
NFS是由Sun開發并發展起來的一項在不同機器、不同操作系統之間通過網絡共享文件的技術。在嵌入式Linux系統的開發調試階段,可以利用該技術在主機上建立基于NFS的根文件系統,掛載到嵌入式設備,可以很方便地修改根文件系統的內容。
(2)UBIFS
在linux-2.6.27以前,談到Flash文件系統,大家很多時候多會想到cramfs、jffs2、yaffs2等文件系統。它們也都是基于文件系統+mtd+flash設備的架構。linux-2.6.27后,內核加入了一種新型的flash文件系統UBI(UnsortedBlockImages)。產生的背景。
以上就是什么是嵌入式的根文件?嵌入式的根文件系統有哪些的內容了,如果說你對于嵌入式感興趣并且想要學習的話,那么可以來我們粵嵌科技的嵌入式培訓班進行學習,也可以先點擊我們文章下面的獲取試聽資格按鈕來獲取我們的嵌入式課程免費試聽資格,在試聽中可以更加深入的了解我們粵嵌科技。