论文部分内容阅读
随着嵌入式系统越来越广泛的使用,嵌入式系统中的数据存储和管理成为一个新的研究热点。Flash存储器拥有速度快,功耗低和价格便宜等众多优点,在嵌入式系统中被广泛用作数据存储设备,为了有效的在Flash存储器上存储和管理数据,设计和实现基于Flash存储器的嵌入式文件系统也成为一个新研究点。本文在北京大学操作系统实验室设计的构件化的嵌入式操作系统TICK的基础上,设计并实现了基于Flash存储器的日志文件系统TICKFS,利用这个关键构件为TICK提供基于Flash存储器的数据存储和管理服务。
TICKFS是嵌入式操作系统TICK的关键构件,TICKFS为TICK的其他部件和用户提供文件操作服务,同时也需要利用TICK中内存管理构件等其他构件提供的服务。TICKFS是一个日志文件系统,在Flash存储器上采用基于日志的组织结构,所有的数据都以日志方式写入Flash存储器。TICKFS基于Flash存储器设计,Flash存储器需要进行垃圾回收,TICKFS提供了一个实时的垃圾回收机制,该垃圾回收机制能够保证每次垃圾回收都在确定的时间内完成,同时该垃圾回收机制能够保证回收的数据块在Flash存储器上是均匀分布的,这种垃圾回收机制保证了整个Flash存储器一直处于擦除均衡的状态。
本文首先通过分析现有的基于Flash存储器的嵌入式文件系统的实现技术,提出了构建基于Flash存储器的文件系统面临的技术难点,然后自底向上描述了支持实时垃圾回收和均衡擦除的文件系统TICKFS的设计与实现,并对设计与实现过程中所用到的关键技术进行了详细的论述,随后在实际硬件平台上验证了该文件系统的可行性和优越性。