找回密码
 注册
搜索
查看: 2546|回复: 0

[讨论] 全面解析Windows Embedded CE文件系统

[复制链接]
发表于 2009-4-15 16:38:11 | 显示全部楼层 |阅读模式
随着Windows Embedded CE的发展,对象存储的作用越来越小,而大容量的永久存储设备被越来越多地采用。Windows Embedded CE文件系统是一种灵活的模块化设计,它允许自定义文件系统、筛选器和多种不同的块设备类型。一般来说,Windows Embedded CE基本提供了三种文件系统:基于ROM的文件系统、基于RAM的文件系统、FAT文件系统。






Windows Embedded CE下设备文件系统结构

实际上,文件系统和所有与文件相关的 API 都是通过FileSys.exe进程来管理的。这个模块实现了对象存储和存储管理器,并将所有文件系统统一到一个“\”下面的单个系统中。

FileSys.exe 由ROM文件系统、存储管理器、对象存储3个组件组成。

    ROM 文件系统可以防止程序或数据被任意更改。

    存储管理器是负责管理系统中的存储设备,以及用于访问它们的文件系统。

    对象存储包含 RAM 系统注册表、RAM 文件系统和属性数据库,算是一个内存堆。

FileSys.exe 从ROM文件系统内的默认注册表对注册表进行初始化,以便启动各种应用程序。从HKEY_LOCAL_MACHINE\Driver\BuiltIn项加载驱动程序,然后,内置到存储管理器向设备管理器通知系统注册,以便接收有关块驱动程序加载和卸载的通知。





Windows Embedded CE文件系统体系结构

FileSys,即“File System”单从名字可以看出它是一个文件系统,但它真正的范围要比它的名字广得多,不但包括文件系统,还包括存储对象的管理。

拿现在的CE 6.0举例,其对象存储系统有丰富的存储功能,提供各种文件系统的支持,包括FAT文件系统、RAM文件系统和其他CD等通用磁盘文件系统。

支持第三方定制的文件系统,支持与SQL-CE和SQL Server数据库的链接,有良好的安全特性,支持第三方程序对磁盘进行的加密。



其中,比较重要的是CE 6.0的FAT文件系统。它采用了Extended File Allocation Table File System (ExFAT),解决了大容量文件存储的限制问题。

为什么这么说呢?在WinCE 5.0中,对象存储最大可以达到256MB,单个文件不超过4GB,在CE6.0中存储的限制就解除了。

另外,使用了Win CE 6.0的设备与桌面PC机之间的文件传输更加方便快捷;而且,ExFAT还提供了对以前文件系统的支持。

ExFAT的基本特性如下:

    对象存储最大为32GB;

    突破单个文件夹存储1000个文件的限制;

    提升了存储速度;

    突破了单个文件不超过4GB的限制;

    提高了CE 6.0设备与未来桌面操作系统的互操作性;

    支持OEMs和ISVs定制的针对特殊设备的文件系统。



Windows Embedded CE文件系统体系结构是灵活的和可扩展的。不过,将Windows Embedded CE移植到目标平台上,必须为在平台上已建立的设备提供驱动程序。如键盘、显示器等,对操作系统都有一定的接口。

在Windows Embedded CE中应用程序通过文件系统里的特殊入口访问外围设备。WinCE中的文件系统代码包括那些识别特殊文件名并重定向IO操作到适当的流接口驱动程序的代码。






流接口驱动开发

流接口驱动程序是一般类型的设备驱动程序,它表现为在用户一级的动态链接库DLL,用来实现一组固定的函数称为流接口函数,这些流接口函数使得应用程序可以通过文件系统访问这些驱动程序。

流接口驱动程序的主要任务就是把外设的使用传递给应用程序,这是通过把设备表示为文件系统的一个特殊文件实现的。比如:对于串口1在用户级别的程序里面通常被描述为COM1。



不是所有文件系统驱动程序都使用了物理设备,即使使用,也可能没有使用分区驱动程序。因为文件系统将不需要知道数据是否来自磁盘上的分区、或者直接来自磁盘,所以,FSDMGR会对文件系统驱动程序进行包装,以便为驱动程序的高端或低端提供接口。这就提供了巨大的灵活性呢。
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-25 05:00 , Processed in 0.046357 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表