论文部分内容阅读
随着多媒体技术的快速发展,可以同时提供录像、画面分割、网络传输、云台镜头控制、报警控制等多种功能的嵌入式DVR(digital video recorder),在安防监控领域取得了广泛的应用,逐渐代替基于PC的DVR已成为一种趋势。
嵌入式DVR通常使用Linux操作系统。Linux支持多种文件系统,如FAT32,EXT2,JFS,ReiserFS等。由于嵌入式系统独特的硬件特点使得这些文件系统在应用于嵌入式DVR领域时总存在某种缺陷,因此设计一个嵌入式DVR专用的文件系统CMFS是非常必要的。
首先分析Linux的VFS(虚拟文件系统)的机制,然后从硬盘存储结构、日志以及如何兼容Windows三个方面分析了CMFS的设计;最后给出了测试算法;测试结果表明CMFS可以满足嵌入式DVR的要求。CMFS具有如下特点:
1.与Linux的其他文件系统相比,CMFS在超级块中增加了FAT(文件分配表)、索引节点表、索引节点位图的开始位置字段以及日志所在设备的编号等字段,为简化CMFS的设计打下了基础;
2.通用文件系统的数据块分配信息并没有被全部缓存,导致读取这些信息花费太多的I/O时间;根据CMFS的专用特点,本文采用缓存的方法来保存上述信息,并设计了简单高效的数据块分配和寻址算法;
3.与其他具有多层目录的文件系统相比, CMFS的目录被限定为三层,从而简化了目录的实现机制;
4.本文在索引节点中增加了特殊字段,并实现了相对应的系统调用,供用户快速访问文件的增强属性;
5.利用内核的日志块设备模块实现了日志,最大限度的减少数据的损失,同时保证文件系统处于一致性状态;
6. Linux下的文件系统一般通过第三方的软件才能在Windows下使用,本文遵循DLL规范,设计和实现了与文件操作相关的函数,使CMFS直接兼容Windows。