📄 文件系统.txt
字号:
c.无缝地集成基于ROM的应用程序和基于RAM的数据
在对象存储里数据的存储机制是基于交易的,如果当数据正在被写入对象存储时电源被中断,那么操作系统保证存储不会中断。当系统重新启动或回滚到中断前的正常状态时,存储机制通过完成存储操作来做到这一点。对于文件系统,包括注册表设备,如果没有定义一个后备系统来保存当前设备,这可能意味着要从ROM重新加载初始设置。
目前,对象存储的大小限制为256MB的RAM,由于对象存储的压缩属性,对象存储实际能够包含的数据量可以达到51,M。对象存储里单个的文件限制为最大32M。
2.2.2文件系统
Windows ce提供以下三种类型的文件系统:
a.基于ROM的文件系统
b.基于RAM的文件系统
c.FAT文件系统
不论采用什么存储设备类型,所有文件系统都通过Win32文件系统API访问。Windows ce支持绝大多数与桌面Windows相同的文件i/o函数。
由于Windows ce没有当前目录的概念,因此所有对对象的引用都使用完整路径。基于OEM选项,Windows ce自动压缩对象存储里的所有文件,因此没有必要使用文件的FILE_ATTRIBUTE_INROM属性指出文件上是压缩的。
除了对象存储外,Windows ce还支持实现一个如FAT文件系统等的可安装文件系统。可安装文件系统能够提供对PC卡或其他外部存储设备的访问,一个外部存储设备可以被分为多个卷,每个分区一个卷,每个卷单独安装到文件系统。对于每一个安装的卷,用户看到的是位于可安装文件系统根目标下的一个文件夹。
windows ce将对象存储看做始终安装的特殊类型的卷。
1.文件系统的选择
Windows ce的内部文件系统控制对ROM的访问,也提供了对位于RAM中的对象存储里的文件存储,在两种可用的文件系统:RAM和ROM文件系统以及ROM文件系统,它们分别具有不同的属性,开发者需要为自己的目标设备选择合理的文件系统,这两种文件系统都具有安装另外的外部文件系统的能力。
RAM和ROM文件系统提供了对象 的文件存储以及对ROM的访问,对象存储是文件系统的根,而且,除外部文件系统被作为一个目录安装到根下之外,所有数据被保有耻在对象存储里。通过Windows目录,位于ROM里的数据是可以被访问的。由于当不刷新RAM时就会丢失对象存储,所以RAM和ROM文件系统对目标是非常有用的,它连续不断地为RAM提供动力。
ROM文件系统不允许应用程序将文件存储在对象存储里,通过Windows目录可以访问ROM中的数据。外部文件系统被安装为根下的目录,而且,利用ROM文件系统可以选择将一个外部文件系统放置在文件系统的根。如果必须安装一个文件系统作为根,那么除了其他外部文件系统之外,在根下的所有数据被存储到那个文件系统。
2.FAT文件系统
FAT文件系统与任何插 到Windows ce 系统的外部存储设备一起工作,这引动存储设备的每部分区域都包含一个文件系统分区,每个区域都被安装为一个FAT卷,并放置到根目录下的一个特殊的文件夹下,和外部存储设备相关的设备驱动提供安装文件夹的名称。一旦安装了文件系统,就可以在安装文件挟 下包含信件夹、文件和数据库。
从windows ce 4.0版本后,提供了一种新的FAT文件系统,称为交易安全的FAT文件系统(TFAT)。交易的概念来自于数据库,它是一种保证操作一定完成的一种机制。是专门设计用来为存储在磁盘上的数提供交易安全的文件系统,TFAT需要一个为那种类型的存储价质设计的特定于硬件的驱动,并在此介质上存在FAT文件系统,那么TFAT能够对可插拔介质以及不可插拔介质进行操作。
FAT文件系统不是一个交易安全的文件系统,如果在一个交易的中间写操作被中断,如突然断电或移去存储介质等,FAT系统可能崩溃。当文件分配表的内容与卷的目录或数据部分出现不一致时,FAT卷会崩溃。TFAT文件系统保证当出现断电时,文件分配表和目录保持完整。为了做到这点,FAT和目录数据的每个交易要么完全写入要么完全不写入。由于TFAT阻止了FAT和目录数据可能出现的相互不一致,所以写操作不能使磁盘上的主卷崩溃。
TFAT文件系统驱动是FAT文件驱动的超集,TFAT既支持TFAT卷又支持FAT卷。所以在一个系统中没有民要既包括TFAT驱动又包括TAT驱动,要么包括这个驱动,要么包括那个驱动。
值得注意的是:TFAT文件系统的写操作要比FAT文件系统的写操作慢,所以当考虑使用TFAT作为文件系统时,要考虑到性能的降低。读操作的性能在FAT和TFAT文件系统相当。
3.二进制ROM映像文件系统
二进制ROM映像文件系统是一个读由romimage.exe 在实际系统中,nk.bin文件睹阳被存放到一个物理的存储设备上,通常是块存储设备,为了实现对它的读/写,需要在块驱动之上加载BinFS文件系统。产生的二进制映像(.bin)文件格式的文件系统。.bin文件以特定的片段组织数据,每个片段包含一个片段头,片段头定义了这个片段的起始地址、片段长度及校验和。romimage.exe将以逻辑片段组织的数据写到.bin文件中。
Windows ce默认的操作系统映像文件为nk.bin文件,这是一个基于RAM的映像文件,我们可以使用Windows ce开发系统提供的命令Viewbin.exe查看nk.bin文件的格式,看到各个逻辑片段的定义。
4.CDFS/UDFS
压缩磁盘(CDFS)文件系统和通用磁盘(UDFS)文件系统被用来读取CD盘、DVD盘和CD-ROM。
5.可安装的文件系统
Windows ce开发者可以为自己的系统产阁下特定的文件系统.例如:可以使用可安装的文件系统充分利用一种新型的存储硬件提供的特殊功能,或者在一个标准的PC卡硬件上对文件的操作进行限制。可安装文件系统为开发者提供了对Windows ce支持的存储设备进行扩展的能力,使Windows ce的文件系统成为了一个开放的系统。
2.2.3数据库
Windows ce数据库不同于桌面Windows系统下的SQL数据库,它不是一种关系数据库,一个CEDB数据库更像关系数据库中的一个数据表。数据库的每一行代表一个记录,数据库的每一列代表一个特性。CEDB数据库不允许被锁定,但Windowsce 确实提供了一种方法通知一个进程另一个线程修改了数据库。CEDB数据库还对数据库记录提供了多达4层的分类排序与索引。
总之,Windows ce提供了基本的数据库功能以基本的数据库功能以帮助应用程序组织简单的数据结构。
2.2.4注册表
windows ce注册表是一个系统数据库,用来存储关于应用程序、驱动程序、用户配置及春他配置的数据。Windows ce注册表的结构类似于在其他桌面Windows 注册表结构,它被组织成树状结构。
2.2.5文件管理
Windows ce文件系统和所有与文件相关的操作都是通过Filesys.exe进程进行管理的,所以通常将它称为文件管理器。文件管理器实现了对象存储和存储管理,并将所有文件系统统一到一个根下面的单个系统中。
存储管理器用来对块设备进行管理,它由块驱动程序、分区驱动程序、文件系统驱动程序和文件筛选取器组成。存储管理器负责管理所有与外部存储相关的项目,包括所有的文件系统和块驱动,所有文件、数据和卷操作都归于存储管理器。因此,存储管理器处于所有磁盘和其他永久存储介质i/o的中心位置。由于所有与磁盘相关的i/o都必须经过存储管理器层,所以使用筛选器层来过滤磁盘i/o,在任一个磁盘i/o到达相应的的文件系统之前,文件筛选器捕獗行何调用并完成加密、压缩及病毒扫描等操作,然后,文件系统发送命令来启动运行会区驱动程序或直接启动运行块驱程序。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -