檔案系統是乙個實現了資料的儲存、組織、處理和獲取等操作的抽象資料型別。一般分為磁碟檔案系統,網路檔案系統和特定功能的檔案系統。
磁碟檔案系統主要包括fat(fat12、fat16、fat32),ntfs、hfs、ext2、ext3,現在ext4也出來了。
flash檔案系統是針對flash儲存器設計的檔案系統。隨著移動裝置的不斷普及,和flash儲存空間的不斷增長,flash檔案系統也流行起來。在嵌入式系統中,絕大多數都使用flash檔案系統。
資料庫檔案系統是基於資料庫的檔案系統。與分層結構的管理不同,在資料庫檔案系統中,檔案由描述符來標識,如檔案的型別、主題、作者或其他一些元資料。
網路檔案系統是用來訪問伺服器中檔案的檔案系統,常見的協議有nfs、afs和smb。
現代作業系統都整合了檔案系統,wince也不例外。與桌面windows的檔案系統不同,wince的檔案系統中沒有分割槽的概念。所有的檔案系統,都被mount到根目錄「/」下面。程式設計時需要注意,wince中也沒有當前目錄的概念,所有的目錄都以根目錄為參考。
wince中支援的檔案系統有如下幾種:
檔案系統 概要
fat或fatfs
標準的fat檔案系統。單個檔案不能超過4g,分割槽大小也有限制。
exfat
fat的公升級版,取消了檔案和分割槽大小的限制。
tfat
基於exfat的檔案系統,支援互動操作,需要驅動的支援。
binfs
支援將bin檔案mount成乙個檔案系統,wince中的multi-bin需要用到該檔案系統。
cdfs/udfs
用來支援cd和***的檔案系統。
ram(物件儲存)
ram檔案系統由fsd manager管理。
relfsd
在開發的過程中,將開發主機的release目錄mount到裝置上。
wince檔案系統的配置,由登錄檔實現,一般在[hklm/system/storagemanager]中。
在定製
wince作業系統時,我們可以選擇rom-only 的檔案系統或ram and rom的檔案系統。當選擇ram and rom的檔案系統時,根目錄檔案系統在記憶體當中,掉電即丟失。為了實現根檔案系統和登錄檔的儲存,即在冷啟動時不丟失,我們需要選擇rom-only的檔案系統和hive based登錄檔,以將儲存空間mount成根目錄,並配置登錄檔使其支援hive based登錄檔。
linux的檔案系統有ext、xfs、jfs和reiserfs。嵌入式linux的檔案系統主要有rootfs、ramdisk、cramfs、jffs2(基於日誌的flash fs)、yaffs2(yet another flash fs)等。
所以,想要linux和wince共用乙個nand flash有沒有可能呢?兩個想法,簡單而又方便的是讓linux直接掛在wince下的fat分割槽,第二個想法是wince中留一些block,給linux處理。先mark一下,有時間再來求證。
WinCE7 檔案系統概要
windows embedded compact 7 以下簡稱wec7 支援多種常用的檔案系統,包括三種不同型別的fat file allocation tabe 檔案系統。應用程式可以通過檔案io函式來訪問檔案,而不用去理會系統底層是如何實現的。從微軟的文件中可以看到,wec7支援的檔案系統可以分...
WinCE中的檔案系統檔案
檔案系統檔案 dat 定義了在目標裝置初始化時設定的檔案和資料夾的位置,當目標裝置冷啟動時,filesys.exe將會使用這些檔案系統檔案在記憶體中來建立資料夾,鏈結和檔案等。通過修改project.dat檔案中資料夾和檔案位置的定義,你可以定義任何除了windows資料夾以外的根資料夾,另外,你還...
檔案系統 why檔案系統
為什麼需要檔案系統,可否由作業系統直接寫裸裝置?裸裝置是一種沒有經過格式化的磁碟或分割槽,即讓作業系統直接管理操作磁碟設定,進行資料讀寫等。通過檔案系統的方式組織磁碟儲存和資料管理有很多好處,比如 1.資料讀取 管理等操作變得簡單便捷 檔案系統給使用者提供了乙個簡單的操作介面,只需簡單的操作就能實現...