Yaffs的垃圾回收机制.docVIP

  • 21
  • 0
  • 约1.08万字
  • 约 7页
  • 2018-04-20 发布于河南
  • 举报
Yaffs的垃圾回收机制

Yaffs的垃圾回收机制 mournjust(sev7ncolor@) 由于NANDFLASH的独特的特性,使得overwrite变得很困难,而且性能低下。虽然变通的block-mapping机制能够很好的解决这个问题,但是同时也引入了新的问题,即如何确切的了解文件系统的空闲空间,如何从脏页中回收空间等等一系列问题。 我们知道由于VFS缓存机制的引入使得问题变得更加复杂(yaffs没有使用内核的缓存页,但是它使用内部的yaffs_cache)。 Yaffs提供一种gc机制,即垃圾回收,在文件系统内部空间不足时,通过回收一些脏页来重新获得可以使用的空间。 垃圾回收都是由后台进程来定期的完成的,因为这样的工作很费时,如果真的等到逼不得已的时候才去进行垃圾回收的话,耗时就很长了。那么为什么不设定一个阈值,让后台进程定期的进行垃圾回收呢? static int yaffs_check_gc(struct yaffs_dev *dev, int background) 其中输入参数dev为需要进行垃圾回收的设备(每个设备上只能挂载一个yaffs文件系统),background用于表示是否是后台运行的。由yaffs_bg_gc函数调用的时候background始终为1. if (!dev-is_checkpointed) { urgency = yaffs_bg_gc_urgen

文档评论(0)

1亿VIP精品文档

相关文档