如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
嵌入式操作系统原理——WindowsCE第五章存储管理存储管理•对象存储(ObjectStore)•文件系统(FileSystem)•数据库(Database)•注册表(Registry)•文件压缩(FileCompression)•存储管理器(StorageManager)5.1对象存储•对象存储的作用•对象存储完成的工作•存储机制•容量限制•对象标志符(CEOID)•对象存储容量5.1.1对象存储的作用•对象存储为应用程序及其相关数据提供了持久稳定的存储。(断电保护)•对象存储需要非易失性(nonvolatile)RAM作为物理介质。5.1.2对象存储完成的工作•管理堆栈(stack)和内存堆(memoryheap)•在需要时压缩和解压缩文件•无缝连接基于ROM的应用程序和基于RAM的数据5.1.3存储机制•当向对象存储写入数据时发生电源中断的情况,WindowsCE会通过各种手段保证对象存储不被破坏5.1.4容量限制•RAM文件系统最大256M,单个文件限32M。对象存储的个数可达4,000,000。•文件最大4GB,通过压缩、不为未使用到的文件部分分配内存的方法实现。5.1.5对象标志符(CEOID)•对象存储的对象可以是:注册表中的一个键,注册表中的一个值,一个文件等等•每个对象分配唯一的CEOID,用于访问对象存储中的对象5.1.6对象存储容量•最大容量为256MB(可压缩)•可修改,用于定义应用程序及其相关数据的存储量–在冷启动时设置–调用系统函数SetSystemMemoryDivision–控制面板5.2文件系统•文件系统的概念•WindowsCE文件系统概述•内部文件系统•FAT文件系统•BinFS文件系统•可安装的文件系统•文件系统过滤器5.2.1文件系统的概念•文件系统提供对存储设备的高效访问•文件系统将存储设备结构化以便读写。•常用的文件系统格式5.2.2WindowsCE文件系统概述•提供三种文件系统•可根据设备需要创建文件系统•使用标准Win32API访问•使用句柄访问文件•外部存储设备可分区5.2.3内部文件系统•内部文件系统控制ROM的访问,也在RAM中提供对象存储中的文件存储。•两种内部文件系统供选择:–RAM和ROM文件系统–单独ROM文件系统RAM和ROM文件系统•在提供ROM访问的同时提供在对象存储中的文件存储。目标设备需为RAM持续供电以保留对象存储的内容。•对象存储是系统的根目录,除了外部文件系统之外所有数据都存储在对象存储中。•ROM中的数据可通过Windows目录访问单独ROM文件系统•不允许应用程序在对象存储中放置文件。•ROM中的数据可通过Windows目录访问•外部文件系统以目录的形式存在于根目录下•可选择外部文件系统作为根目录5.2.4FAT文件系统•fileallocationtable(FAT)文件系统适用于所有外部存储卡,包括ATA卡、线性flash卡以及PC卡•卡可被分区,每个分区可作为一个FAT卷挂载,放置在根目录的一个文件夹下。5.2.5BinFS文件系统•BinaryROMimagefilesystem(BinFS)用于读取由Romimage.exe产生的二进制文件格式。•.bin文件格式将数据按特定的分段组织5.2.6CD/UDFS文件系统•CompactDiscFileSystem(CDFS)和UniversalDiscFileSystem(UDFS)用于读取CD,DVD,CD-ROM。•使用ATAPI块驱动程序定位和音频视频回放5.2.7可安装的文件系统•文件系统驱动程序的创建•文件系统驱动程序的加载•文件系统驱动程序管理器文件系统驱动程序的创建•函数映射•WindowsCE为FSD的开发提供模板•保存所需信息的数据结构文件系统驱动程序的加载1)插入PC卡。2)该卡驱动程序读取PC卡驱动注册表入口,它定义了该卡要使用的FSD的名称。3)发送给存储管理器一条通知。4)存储管理器安装适当的分区驱动程序,然后为分区装载相应的文件系统。5)FSD管理器调用MyFSD.dll的输出函数MyFSD_MountDisk。6)当调用MyFSD_UnmountDisk时,设备上的所有卷会被注销。文件系统驱动程序管理器•负责管理与系统中所有可安装文件系统的交互。•屏蔽不同文件系统的接口差异,向用户提供标准的函数接口。•创建文件句柄,注册卷