文件IO详解---文件描述符(fd)和inode号的关系
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件IO详解---文件描述符(fd)和inode号的关系相关的知识,希望对你有一定的参考价值。
1、文件描述符和inode号码是不同的两个东西。
2、对于每个进程,系统会建立一个进程控制块(PCB)来保存相关的信息,而这个PCB在内核中的表现其实就是一个称为task_struct的结构体,这个结构体的成员用来保存与此进程有关的相关信息,其中有个成员是struct file_struct *files,它是用来找到此进程所有打开的文件列表的,files变量指向的是struct file_struct类型的结构体,这个结构体中有一个成员是一个指针数组struct file *fd_array[],这个数组中的每个元素会指向一个struct file的结构体,这个结构体是用来描述一个打开的文件的,有很多的成员,其中有个成员是指向struct file_operation的指针变量,而struct file_operation结构体中包括了很多的函数指针,也就是open,write,realease,read等等对文件进行操作的函数,具体这些函数的实现就是驱动开发需要做的事情。如下图所示。
3、在对文件操作前,必须要先打开文件,打开文件过程其实就是让程序能通过某个路径能够找到此文件,关闭文件就是将此路径断开,找不到文件。
以上是关于文件IO详解---文件描述符(fd)和inode号的关系的主要内容,如果未能解决你的问题,请参考以下文章
[OS-Linux]详解Linux的基础IO ------- 文件描述符fd
linux /proc/[pid]/fd 中socket描述符后面的数字是什么意思?inode(information node)