linux文件系统 ppt,linux文件系统幻灯片.ppt

linux文件系统幻灯片

Linux文件系统 提纲 1 Linux文件系统的特点与文件类别 2 Linux的虚拟文件系统 3 Linux文件系统的注册和挂装 4 ext2文件系统 5 块设备驱动 1 Linux文件系统的特点与文件类别 多级树形目录结构 根目录/ . 当前目录 .. 上一级目录 路径名 Linux文件的特点 无结构字符流式 长度可以动态改变 有访问权限 设备和文件系统统一 Linux文件类型 普通文件 目录文件 设备文件 字符设备文件 块设备文件 有名管道 软连接:类似Windows的快捷方式 Unix域套接字:在一台主机上的进程之间进行通信,不是网络协议的一部分。 2 Linux的虚拟文件系统 VFS 内核中的一个软件层 给用户空间进程提供文件系统接口 允许不同文件系统共存 隐藏了硬件的具体细节 为所有的文件系统提供了统一接口 利用了OO思想,提供了一个抽象基类,由该类派生出子类支持具体的文件系统。 提供的公共接口对应用程序是透明的 支持多种类型的文件系统 VFS的数据结构 super_block 每个具体的文件系统都有各自的超级块,被存放在磁盘特定扇区上。当内核对一个具体文件系统进行初始化和注册时,为其分配一个超级块,并从磁盘读取具体文件系统超级块中的信息填充进来,这是VFS超级块。 VFS超级块是各个具体文件系统安装时才建立的,并在这些具体文件系统卸载时被自动删除。 P250 双向循环链表 super_operation 与超级块关联的方法就是超级块操作对象,这些操作由super_operation结构来描述: struct super_operation { viod (*write_super)(struct super_block *);//把超级块信息写回磁盘 viod (*put_super)(struct super_block *); //释放超级块对象 viod (*read_inode)(struct inode *); //读取文件inode viod (*write_inode)(struct inode *,int); //回写文件inode viod (*put_inode)(struct inode *); //逻辑上释放inode viod (*delete_inode)(struct inode *); //物理上释放inode … }; inode对象(P252) 包含了内核在操作文件或目录时需要的全部信息,文件名可以更改,但索引节点对文件是惟一的,且随文件的存在而存在。 这些信息可以从磁盘索引节点直接读入VFS的inode对象中。 可以把具体文件系统存放在磁盘上的inode称为静态节点(FCB),它的内容被读入内存VFS的inode才能工作,后者也称为动态节点, dentry对象(P255) VFS把每个目录看作一个文件 如在路径/bin/vi中,bin和vi都是文件,bin是目录文件,而vi是普通文件 路径中的每个组成部分都由一个索引节点对象表示。 为了方便查找,VFS引入目录项的概念,每个dentry代表路径中的一个部分 如/、bin和vi都是目录项对象。前两个是目录,后一个是普通文件。 每一个文件除了有一个inode数据结构外,还有一个dentry数据结构与之关联,dentry结构中的d_inode指针指向相应的inode结构 引入dentry的主要目的是对目录进行缓冲,加快对文件的快速定位,改进文件系统效率。 Dentry结构代表逻辑意义上的文件,描述文件的逻辑属性,它在磁盘上并没有对应的映像;而inode结构代表物理意义上的文件,记录文件的物理属性,它在磁盘上有对应的映像。 file文件对象( P254) Linux建立了文件对象(file)来保存打开文件的文件位置,这个对象称为打开的文件描述符(open file description)。 file结构除保存文件位置外,还把指向该文件索引节点的指针也放在其中,file结构形成一个双向链表。 用户打开文件表files_struct(P261) 文件描述符用来描述打开的文件,每个进程用一个files_struct结构来记录文件描述符的使用情况,这个结构称为用户打开文件表,它是进程的私有数据, fs_struct结构 fs_struct结构描述进程与文件系统的关系,其定义为: struct fs_struct { … struct dentry *root; //根目录的目录项对象 struct dentry *pwd,; //当前工作目录的目录项对象 … struct vfsmount *rootmnt; //根目录的安装点对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值