linux之文件系统

概述:

    1.应用层访问具体文件的层次图

    2.

    3.

    4.

    5.

    6.

一.应用层访问具体文件的层次图

结构图:


文件与文件系统的关系:

    从上图中我们看出,文件首先分类,归属于不同的文件系统

文件与进程之间的关系:

    进程与文件的连接,即"已打开文件"是进程的私有财产,归具体进程所有,那么这种连接的file结构必然与进程的task_struct结构存在着联系

struct task_struct {
......
/* filesystem information */
    struct fs_struct *fs;//指向文件系统的信息,比如根目录,访问权限等
/* open file information */
    struct files_struct *files;//指向关于已打开的文件信息
......
}

files_struct的主体是struct file 结构体数组:d_array[NR_OPEN_DEFAULT];应用层拿到的是一个"打开文件号"fid即数组下标,由该下表找到数组对应的实际file,在struct file中包含着具体的f_ops,最终通过绑定在f_ops上的open,read,write,close函数来访问具体的文件

每个文件对应两个信息:

    dentry:对应逻辑上的文件,不同的进程可以操作同一个文件,造成读写位置等各信息都不一样

    inode:对应物理上的文件

 inode 与dentry的关系为一对多的关系


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值