linux文件系统学习笔记 ----- dentry inode 文件的读写过程代码分析

  1. 复习dentry相关内容文件目录是一个树形的结构,为了保存这个树形结构 ,需要有一个合理的数据结构。这个数据结构就是dentry,dentry是一个纯粹的内存结构,由文件系统在提供文件访问的过程中在内存中直接建立
    在这里插入图片描述
    其中对于文件夹 d_subdirs 存放了其子文件,与给定目录下的所 有文件和子目录相关联的dentry实例,都归入到d_subdirs链表(在目录对应的dentry实例中)。子 结点的d_child成员充当链表元素。内存中所有活动的dentry实例都保存在一个散列表中,该散列表使用fs/dcache.c中的全局变量 dentry_hashtable实现。用d_hash实现的溢出链,用于解决散列碰撞。因为dentry缓存只包含文件系统结构的一小部分。最 常用文件和目录对应的目录项才保存在内存中。原则上,可以为所有文件系统对象都生成dentry项, 但物理内存空间和性能原因都限制了这样做。Dentry是一个线程层面上的概念 ,一个文件可以有多个dentry,dentry还保存了文件与进程之间通信所需的信息。线程在访问文件时,会生成dentry

(1) Linux系统内核为文件设置了一个缓存,所有文件的读写的数据内容均缓存在这里,称之为page cache 。使用page cahe的IO称之为 bugger IO,内核默认使用buffer IO,由应用自身提供内存,则称之为d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值