unix中的v节点和i节点

每打开一个文件,内核使用3种数据结构表示打开文件,它们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响。

  • (1)每个进程都有一个进程表,表的每一项代表了一个打开的文件。表项中包含的内容如下
    • a.文件描述符 fd。
    • b.指向一个文件表项的指针。
  • (2)内核为所有打开文件维持一张文件表。每个文件表项包含:
    • a.文件状态标志(读、写、添写、同步和非阻塞等)
    • b.当前文件偏移量
    • c.指向该文件V节点表项的指针
  • (3)每个打开文件(或设备)都有一个v节点结构,每个v节点结构包含:
    • a.文件类型
    • b.对文件的各种操作函数指针
    • c.i节点(大多数文件)

Linux中没有使用V节点而是直接使用了i节点

三张表的对应关系如下

转载于:https://www.cnblogs.com/bookdrip/p/10490009.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值