Linux系统如何管理文件

文章介绍了磁盘的存储结构,包括静态文件、扇区、块的概念,以及inode在文件系统中的作用。inode存储文件属性并关联文件数据的block。在打开文件时,系统通过inode编号找到文件信息。同时,文章提到了PCB和文件表,它们在进程管理和文件操作中的角色,如何通过文件描述符和inode找到文件数据。
摘要由CSDN通过智能技术生成

静态文件与inode

        文件没有被打开存储在磁盘中称为静态文件,磁盘的最小存储单位叫扇区,操作系统一个一个扇区的读取效率会很低,那么可以多个扇区一起读取,多个扇区就称为块。

        我们在对磁盘进行初始化的时候会把它分为两个区域,一个是数据区,一个是inode区,inode区存放一个个inode节点,它是一个结构体存放着一些文件属性,每个文件对应着一个inode,每个inode又对应着一个编号,我们可以通过对应的inode编号找到inode区中对应的inode

打开文件系统内会分为三部分

 ①找到文件所对应的inode编号 ②通过inode编号找到对应的inode结构体 ③根据inode结构体中记录的属性确定文件数据所在的block,读取数据

PCB和文件表

     在Linux系统中,内核会为每一个进程创建一个PCB(Process control block)我们成为进程控制块。

        PCB数据结构中有一个指针指向文件描述符表,文件描述符表里面存放进程已打开文件的文件描述符,文件描述表中每一个元素都会索引到对应的文件表,文件表中记录着许多文件相关的信息,也包括inode指针。

inode指针指向该文件对应的 inode结构体,inode 数据结构体中的元素会记录该文件的数据存储的 block(块),也就是 说可以通过 inode结构体找到文件数据存在在磁盘设备中的那个位置,从而把文件数据读取出来。

 注:图片来自正点原子

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值