Linux檔案系統和FLASH

2021-09-11 18:49:56 字數 2059 閱讀 4282

1、nand一般以儲存資料為主,晶元容量大,容量可以達到2gb甚至更大,nand的讀取是以一次讀取一塊的形式來進行的,通常一次讀取512個位元組,採用這種技術的flash比較廉價。

2、nor採用記憶體的隨機讀取技術,允許隨機定址,不需要糾錯以及較高的每位元成本。如果我們只是利用快閃儲存器來儲存小量**,那無疑nor是非常合適的。nor 的傳輸效率(注意是效率,並不是速度)很高,在1~4mb的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響到它的效能(因為nor和記憶體一樣基本儲存單元是位元組)。nor的一大特點是應用程式可以直接在flash快閃儲存器內執行,不必再把**讀到系統ram中。

3、emmc = nand + 控制器 + 標準封裝介面。功能包括儲存以及取代nor flash的開機功能,不需要處理nand flash相容性和管理問題。

在linux系統中有乙個重要的概念:一切都是檔案。目前大多linux發行版本預設使用的檔案系統一般是ext4,另外,新一代的btrfs也呼之欲出。

使用者層(目錄樹)

核心層(虛擬檔案系統-》常見檔案系統)

底層驅動(mtd字元裝置、mtd塊裝置-》mtd裝置驅動)

硬體層(nor flash、nand flash、ram)

vfs就把這些不同的檔案系統做乙個抽象,提供統一的api訪問介面,這樣,使用者空間就不用關心不同檔案系統中不一樣的api了。vfs所提供的這些統一的api,再經過system call包裝一下,使用者空間就可以經過sci的系統呼叫來操作不同的檔案系統。

linux啟動時,第乙個必須掛載的是根檔案系統;若系統不能從指定裝置上掛載根檔案系統,則系統會出錯而退出啟動。之後可以自動或手動掛載其他的檔案系統。因此,乙個系統中可以同時存在不同的檔案系統。

不同的檔案系統型別有不同的特點,因而根據儲存裝置的硬體特性、系統需求等有不同的應用場合。在嵌入式linux應用中,主要的儲存裝置為ram(dram, sdram)和rom(常採用flash儲存器),常用的基於儲存裝置的檔案系統型別包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。

1、jffs檔案系統主要用於nor型快閃儲存器

2、yaffs/yaffs2自帶nand晶元的驅動

3、cramfs一種唯讀的壓縮檔案系統。

ubifs是ubi file system的簡稱,用於裸的flash裝置,作為jffs2的後繼檔案系統之一。ubifs通過ubi子系統處理與mtd裝置之間動作。ubifs檔案系統更適合mlcnand flash。需要注意的是ubifs並不是為ssd,mmc,sd,compact flash等之類的基於flash的儲存裝置,其是針對於裸flash裝置。

ubifs通過子系統ubi 處理與mtd device之間的動作。與jffs2 一樣,ubifs 建構於mtd device 之上,而與一般的block device不相容。它在設計與效能上均較yaffs2、jffs2更能適用於mlc nand flash上面。

1、配置核心支援ubifs

2、將乙個mtd分割槽4掛載為ubifs格式 

● flash_eraseall /dev/mtd4 //擦除mtd4 

● ubiattach /dev/ubi_ctrl -m 4 //和mtd4關聯 

● ubimkvol /dev/ubi0 -n rootfs -s 100mib //設定volume 大小(不是固定值,可以用工具改變)及名稱 

● mount -t ubifs ubi0_0 /mnt/ubi或mount -t ubifs ubi0:rootfs /mnt/ubi 

ramdisk、ramfs/tmpfs。

nfs是由sun開發並發展起來的一項在不同機器、不同作業系統之間通過網路共享檔案的技術。

管理磁碟分割槽時經常會使用 df (disk free) 命令,df -k 命令可以用來檢視磁碟空間的使用情況(以千位元組計)。

檢視當前系統所掛載的硬體裝置可以使用 mount 命令。例如,

mount -t file_system_type device_to_mount directory_to_mount_to
可以通過 umount 命令來解除安裝檔案系統。

linux 檔案系統 Linux 檔案系統結構介紹

ubuntu 像所有類unix系統一樣 在分層樹中組織檔案,其中的關係就像父母和孩子一樣。目錄可以包含其他目錄以及常規檔案,它們是樹的 葉子 樹的任何元素都可以通過路徑名引用 絕對路徑以字元 標識根目錄,其中包含所有其他目錄和檔案 開頭,然後列出必須遍歷以到達該元素的每個子目錄,每個子目錄用 符號分...

Linux檔案系統和inode

學到linux上的軟連線和硬鏈結,不得不了解inode,要想知道inode,不得不了解一些檔案系統,至少是linux檔案系統 檔案系統是什麼 我的理解,檔案系統類似現實中的檔案管理,條理化的儲存資料。它定義了磁碟上儲存檔案的方法和資料結構。不同的人管理檔案有不同的管理方法,那麼相對於不同的系統格式有...

Linux和Windows檔案系統

為了更深入地學習作業系統,我們比較linux和windows的檔案系統還是有必要的,為什麼有必要?當然就是為了更好地使用它。1 windows和linux的檔案許可權 在windows系統中,使用者分為兩類 計算機管理員和受限使用者。windows常常設定為管理員身份,結果大家都可以隨意安裝和修改系...