简单归纳:fd
只是一个整数,在open
时产生。起到一个索引的作用,进程通过PCB
中的文件描述符表找到该fd
所指向的文件指针filp
。
文件描述符的操作: 如
open
返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用;而流(如:
fopen
)返回的是一个FILE
结构指针,FILE
结构是包含有文件描述符的,FILE
结构函数可以看作是对fd直接操作的系统调用的封装, 它的优点是带有I/O缓存