1.每个进程有一个task_struct, 在task_struct里有一个指针struct files_struct *files,指向的file_struct结构体成为文件描述符表(FDT)
2.已经打开的文件在内核中用file结构表示,file结构里包含有File Status Flag(f_flags),读写位置(f_pos),引用计数(f_count),等等, 还有一个指向file_oprations的结构体指针。这个结构体的成员都是函数指针,指向各种内核函数,这些内核函数的作用是实现各种文件操作。
暂时认为:file结构存在于进程的PCB里
暂时认为:对于n种不同类型的文件,内核有n个对应的file_opration
3.每个用户登录时,会启动一个shell程序,每个shell程序有自己的终端设备文件,c文件,该文件在shell进程启动时被打开三次