今天CSDN抽风,实在不行就甩了他~
这是第二次看这本书了,这次看得比上次明白多了。
有一个问题要搞清楚,就是为什么有dentry和inode之分,他们是多对一的关系,前者是逻辑属性,后者是物理属性。可以改变进程的根目录,path_init()这个函数的作用就是找到开始寻找节点的起始目录,绝对路径和相对路径是不同的。在跨越deveice的时候mount的节点起一个连接作用。为了减少加锁的时间,查找缓存和不在缓存创建新节点是分开加锁的,虽然在创建新节点前还要查找一次,这个是得大于失的。内核中很多这种代码,spinlock本来就很轻了,还要做这种处理,追求极致了。
其实很多现象我也知道,但是知道他的原理感觉还是不一样。
阅读(747) | 评论(0) | 转发(0) |