文件描述符是一个整形值,通过这个整形如何才能找到这个文件,这个被索引的数组在哪。
struct task_struct { struct files_struct *files; }
struct files_struct {
struct fdtable fdtab;
struct file * fd_array[NR_OPEN_DEFAULT];
}
进程就是通过文件描述符,来索引fd_array[],得到想要的struct file的,struct file 包含打开的文件的所有信息。
参考: Advanced Linux Kernel Architecture 8.3.3