磁盘文件系统主要包括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和DVD的文件系统。 |
RAM(对象存储) | RAM文件系统由FSD |
RELFSD | 在开发的过程中,将开发主机的release目录mount到设备上。 |
WinCE文件系统的配置,由注册表实现,一般在[HKLM/System/StorageManager]中。
Linux的文件系统有ext、XFS、JFS和ReiserFS。嵌入式Linux的文件系统主要有rootfs、RAMDisk、Cramfs、JFFS2(基于日志的FLASH
所以,想要Linux和WinCE共用一个NAND
补充一下,最终WinCE和Linux共享NAND的方式是,WinCE使用前500M,Linux使用后500M,修改也非常简单。在WinCE中报告容量时,将1G设置为500M既可。Linux使用NAND时,可以设置起始位置,设置在500M以后就行。
WinCE的文件系统和数据存储都指的是对象存储,对象存储是WinCE的默认文件系统,它相当于WinCE设备的硬盘。是由共享一个内存堆的文件系统、数据库和注册表组成。
WinCE文件系统既可以是一个RAM和ROM文件系统,也可以是一个ROM的文件系统。
数据库提供了对属性记录集的存储、访问和分类,WinCE默认数据库是CEDB(WinCE
系统注册表用于存储关于应用程序、驱动程序、用户设置和其他设置的数据。WinCE注册表要么是基于RMA(RAM-based)的注册表,要么是基于蜂窝(Hive-based)的注册表。
1.对象存储
****摘录于http://ponymaggie.blog.sohu.com/124274673.html****
现在市场上的基于wince的板子,基本上有下面几种存储设备,nand
说说nand
Boot
Nand
wince最大可以支持多大的nand
是不是wince能支持的最大nandflash也不是wince系统决定的呢。市场上的nand
是了,只要能和CPU在硬件上接口匹配,然后bootloader里驱动做相应改动,就可以支持市场上最大的nand
好了,重点来了,看看wince系统启动后的内存分配了。
一般我们买一块基于wince的开发板,如果厂家说这个板子的内存是64M,一般就是说SDRAM有64M,
Wince
Wince内存
拿64M的这个板子举例。开发板上电,
先说一下对象存储,
wince
内建的文件系统是放在对象存储里的,对象存储从物理角度来讲就是一个RAM,除了内建的文件系统外,它还包括注册表和数据库。最大支持256M的大小,对象存储的存在,面向用户隐藏了ROM文件系统和RAM文件系统的差异,对用户来讲,都可以访问,只不过ROM里的文件是只读的.
好了,来看看很多人在网上问过的一个问题,
对象存储和程序内存的大小修改就比较人性化了,
FSRAMPERCENT
这个值可以改变默认设置。
最后一个问题,wince最大支持多大的物理内存,
2.文件系统
(1)文件系统类型
WinCE主要有如下三种类型的文件系统:
l
l
l
由于WinCE没有当前目录的概念,所有对对象的引用都使用完整路径。
FAT文件系统不是一个交易安全的文件系统,如果在一个交易的中间写操作被中断,如突然断电或移动存储介质等,FAT文件系统可能崩溃。当文件分配表的内容与卷的目录表或数据部分出现不一致时,FAT卷会崩溃。TFAT文件系统则会保证当出现断电时,文件分配表和目录保持完整。
TFAT文件系统驱动是FAT文件系统驱动的超集,TFAT既支持TFAT卷又支持FAT卷。
值得注意的是:TFAT文件系统的写操作要比FAT文件系统的写操作慢,所以当考虑使用TFAT作为文件系统时,要考虑到性能的降低。读操作则两者相当。
(2)二进制ROM映像文件系统
二进制ROM映像文件系统(BinFS)是一个读由romimage.exe产生的二进制映像(.bin)文件格式的文件系统。
(3)CDFS/UDFS文件系统
压缩磁盘(Compact
(4)可安装文件系统
可安装文件系统为开发者提供了对WinCE支持的存储设备进行扩展的能力,使WinCE的文件系统成为一个开放的系统。
3.数据库
数据库提供了属性集记录的存储、访问和分类。WinCE数据库(CEDB)模型是一个小型的、扁平的结构,并为小型的、有效的存储进行了优化。WinCE数据库没有对应的Win32
4.注册表
WinCE注册表是一个系统数据库,用来存储关于应用程序、驱动程序、用户配置及其他配置的数据。
5.文件管理器
文件管理器实现了对象存储和存储管理,并将所有文件系统统一到一个根“/”下面的单个系统中。