Linux文件系统盘片解析

Linux对于文件系统的支持层解析

  • Linux中使用文件系统都分几个部分
  1. 有关于Linux中高速缓冲区的管理程序 分页机制 每页4KB 每个程序不是所有页都读入高速缓冲区,如果执行中出现没有加入高速缓冲区的页,会触发缺页中断
  2. 文件系统的底层通用函数(对于硬盘的读写 分配 释放等,对于目录的几点管理 inode 内存与磁盘的映射)
  3. 对于文件数据进行读写操作模块(VFS:虚拟文件系统 硬件驱动和文件系统的关系 pipe 块设备的读取)
  4. 文件系统与其他程序的接口实现(fopen 关闭 创建等使用文件的调用方式)
  • 文件系统的基本概念

    磁盘中要有目录的映射,把磁盘分成盘片,每一个盘片都有一个文件系统的子系统(章节目录)一个盘片一般是8196字节

    一个盘片的结构

    引导块:用来引导设备,引导块可以为空,但一定要有,为了保持结构一致

    超级块:是该文件子系统的描述符(记录该盘片的 逻辑块位图的地址 和 i节点位图的地址 通过设备号可以获取超级块,然后在获取逻辑块位图和 i节点位图,最后获取逻辑块和i节点)

    逻辑块位图:其每一位对应一个逻辑块的使用情况,1表示对应逻辑块被使用

    i节点位图:其每一位对应一个i节点的使用情况,1表示对应inode节点被使用

    inode节点:有很多块,文件与磁盘的桥接 ,文件的属性描述(文件名片)

    逻辑块数据区:有很多块,存储数据单元

  • i_mode 文件属性说明

    crwxrwxrwx:

    第一个c:表示文件类型:

    -:普通文件

    d:目录

    s:符号链接

    p:pipe管道

    c:字符设备

    b:块设备

    l:链接文件

    第一个rxw:当前用户的权限

    第二个rxw:用户组的权限

    第三个rxw:他人的权限

  • uid:文件的所属用户ID

  • gid:文件的所属组ID

  • i_size:文件大小

  • i_mtime:文件的修改时间

  • i_zone:该文件映射在逻辑块的数组,里边存储逻辑块号,前7个叫直接块号,一个单元存一个逻辑块号

    ​ izone[8]一次间接块号,如果占用的逻辑块较多 大于7 小于512+7 则占用一次间接块号

    ​ izone[9]二次间接块号,如果占用的逻辑块太多 大于512+7 小雨512*512+7 则启动二次间接逻辑块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值