linux系统编程之I/O内核数据结构

Posted 阿瞒123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统编程之I/O内核数据结构相关的知识,希望对你有一定的参考价值。

文件在内核中是用三种数据结构进行表示的

(1)文件描述符表:文件描述符表是一个结构体数组,数组的下标就是open函数返回的文件描述符。

          文件描述符表的每一个记录有两个字段

                   *文件描述符标志

                   * 文件表项指针

(2)文件表项:一般含有一下内容

        * 文件状体标志,读,写,追加,同步,阻塞,非阻塞等

        * 当前文件偏移量

        * i节点指针

        * 引用计数

(3)i节点:一般含有一下记录

      * 文件类型

      * 对该文件的操作函数的指针

      * 当前文件的长度

      *文件的所有者

      * 文件的权限

      * 指向文件数据在磁盘块上所在位置的指针

 

 

简要示意图如下

 

以上是关于linux系统编程之I/O内核数据结构的主要内容,如果未能解决你的问题,请参考以下文章

socket编程:多路复用I/O服务端客户端之epoll

嵌入式Linux从入门到精通之第十节:系统编程之进程

Socket编程实践 --Select-I/O复用

Linux系统编程:基本 I/O 系统调用

Linux网络编程——I/O复用之poll函数

UNIX环境高级编程之第3章:文件I/O