文件系统,是指操作系统依据文件夹和文件的组织形式在磁盘设备上应用的一种设备驱动,不同的文件系统对文件夹和文件有不同的限制(如文件夹名限制,文件限制大小等)。
VxWorks支持多种文件系统,比較重要的有:
1、dosFs:适用于块存取设备(比方硬盘、软盘)。和MS-DOS文件系统兼容;
2、rawFs:提供了一种简单的原始文件系统。该文件系统将整个硬盘当作一个单独的大文件;
3、cdromFs:同意系统从依照ISO9660标准文件系统格式化的CD-ROM上读取设备;
通常文件系统驱动位于磁盘(块存取)设备驱动和IO系统之间,这一点在VxWorks中也不例外,但它在此基础上扩充了功能,即在文件系统下方添加了一个CBIO(Core Blocked IO)接口,在CBIO下方才是块存取设备驱动,其示意图例如以下:
图1 VxWorks I/O系统层次图
而CBIO接口部分又细分为4个逻辑子层,每一个逻辑层都有与创建文件系统相关的函数,将CBIO接口部分细分后。包括各子层相关操作函数的VxWorks文件系统示意图例如以下:
图2 CBIO层内部结构层次图
图中线框中的四层就是CBIO接口层里的子层。对内核配置了dosFs支持的VxWorks来说,对磁盘的管理是从BLK_DEV API设备驱动子层上開始的,不同子层上的函数创建出的CBIO句柄分属不同的层,下层的CBIO句柄即为上层CBIO句柄的附属CBIO句柄。也就是说它们尽管都是CBIO_DEV_ID类型,但依据产生它们的函数所在的层把它们按等级划分,一个CBIO缓冲区能够在每一个子层上都有一个CBIO句柄,也能够在部分子层上有CBIO句柄。CBIO缓冲区在基本CBIO to BLK_DEV设备子层上就没有句柄。图右側函数间的箭头指示了各子层间句柄的关系。此外,从图中能够看出,头文件也是依据层的划分来组织的。这样使得函数调用层次清晰。
2 在磁盘上建立dosFs文件系统
以运行在摩托罗拉公司的PPC860 CPU上的VxWorks为例,在配置VxWorks内核时加入IDE/ATA磁盘设备驱动,在系统启动后,系统就和磁盘相连,系统启动后会发现磁盘(运行指令:devs,列出