011 Linux一次文件打开过程open()

前面介绍了文件系统的各种结构体,那么一次打开文件过程,需要和哪些结构体产生联系呢?要解决上面提出的问题,就要先搞清楚,函数是调用流程是怎样的,调用过程中串联了哪些数据结构,说起来也就是回答如下几个疑问:

  1. 打开文件的内核入口在哪里?
  2. 打开文件时,如何知道当前属于哪个文件系统呢?
  3. 如果文件已存在,那又如何获取目录项dentry和索引节点inode呢?
  4. 文件对象file是怎么构造的?
  5. 文件描述符是怎么产生的,又是如何跟file对象关联起来?
open()调用流程
open()调用流程
继续阅读“011 Linux一次文件打开过程open()”