当前位置: 首页 > news >正文

操作系统——第四章(文件的物理结构以及与逻辑结构的对比)

一、文件的物理结构

1.知识总览

     

2.补:文件块和磁盘块

     

在内存管理中,进程的逻辑地址空间被分为一个一个页面同样的,在外存管理中,为了方便对文件数据的管理,文件的逻辑地址空间也被分为了一个一个的文件“块”。
于是文件的逻辑地址也可以表示为(逻辑块号,块内地址)的形式。

3.连续分配

      

   

   

    

【总结】连续分配的优缺点:

4.链接分配

链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和显式链接两种。

(1)隐式链接

   

隐式链接一一除文件的最后一个盘块之外,每个盘块中都存有指向下一个盘块的指针。文件目录
包括文件第一块的指针和最后一块的指针。

优点:很方便文件拓展,不会有碎片问题,外存利用率高。
缺点:只支持顺序访问,不支持随机访问,查找效率低,指向下一个盘块的指针也需要耗费少量
的存储空间。

(2)显式链接

把用于链接文件各物理块的指针显式地存放在一张表中,即文件分配表(FAT)。

(i)假设某个新创建的文件“aaa”依次存放在磁盘块2→5→0→1
(ii)假设某个新创建的文件“bbb”依次存放在磁盘块4→23→3

                        

【注】一个磁盘仅设置一张FAT。开机时,将FAT读入内存,并常驻内存。FAT的各个表项在物理上连续存储,且每一个表项长度相同,因此“物理块号”字段可以是隐含的。

优点:很方便文件拓展,不会有碎片问题,外存利用率高,并且支持随机访问。相比于隐式链接
来说,地址转换时不需要访问磁盘,因此文件的访问效率更高。
缺点:文件分配表的需要占用一定的存储空间。

若考试题目中遇到未指明显式或隐式的“链接分配”,默认为隐式链接分配。

5.索引分配

索引分配允许文件离散地分配在各个磁盘块中,系统会为每个文件建立一张索引表,索引表中记录了文件的各个逻辑块对应的物理块(索引表的功能类似于内存管理中的页表一一建立逻辑页面到物理页之间的映射关系)。索引表存放的磁盘块称为索引块。文件数据存放的磁盘块称为数据块。  
 

       

可见,优点——索引分配方式可以支持随机访问。文件拓展也很容易实现(只需要给文件分配一个空闲块,并增加一个索引表项即可)。
缺点——索引表需要占用一定的存储空间。


思考?——若每个磁盘块1KB,一个索引表项4B,则一个磁盘块只能存放256个索引项。
如果一个文件的大小超过了256块,那么一个磁盘块是装不下文件的整张索引表的,如何解决这个问题?

(1)方案一 ——链接方案:如果索引表太大,一个索引块装不下,那么可以将多个索引块链接起来存放。

         

光是读磁盘就需要两百多次的操作,效率非常低。因此,提出方案二。

(2)方案二——多层索引:建立多层索引(原理类似于多级页表)。使第一层索引块指向第二层的索引块。还可根据文件大小的要求再建立第三层、第四层索引块。

         

多层索引也存在一个问题,假如一个文件本来很小,它的数据块只有1KB那么大,但它采用了两层索引的这种结构,读入文件的操作仍然需要三次,效率还不高,因此提出了方案三继续优化。

(3)方案三——混合索引:多种索引分配方式的结合。例如,一个文件的顶级索引表中,既包含直接地址索引(直接指向数据块),又包含一级间接索引(指向单层索引表)、还包含两级间接索引(指向两层索引表)。

                  

总结下来,

           

超级超级超级重要考点①要会根据多层索引、混合索引的结构计算出文件的最大长度(Ky:各级索
引表最大不能超过一个块);②要能自己分析访问某个数据块所需要的读磁盘次数(Ky:FCB中会存有指向顶级索引块的指针,因此可以根据FCB读入顶级索引块。每次读入下一级的索引块都需要一次读磁盘操作。另外,要注意题目条件一一顶级索引块是否已调入内存)。

6.回顾总结

  


二、逻辑结构VS物理结构

1.两者知识回顾

           

2.两者分析

               

              

链式存储与链接分配?

         

索引文件与索引分配?

          

3.消化理解

       

复盘对比(* ̄︶ ̄),下一讲文件存储空间管理与文件的基本操作、文件保护等相关介绍。




 



 

相关文章:

  • vue截图-html2canvas
  • V 型球阀设计标准:为带颗粒、料浆介质量身定制的卓越方案-耀圣
  • STM32裸机开发问题汇总
  • 统一返回JsonResult踩坑
  • PBR材质-Unity/Blender/UE
  • 优选算法系列(8.多源BFS)
  • 个人网站versionI正式上线了!Personal Website for Jing Liu
  • RISC-V架构深度解析
  • 高组装导轨的特点
  • 【Prometheus】 kube-state-metrics中的指标kube_pod_labels
  • 元子与元组的关系解析:从简单到复杂大跨界大综合的融智学研究
  • SSRF请求伪造
  • 分布式架构详解
  • Ceph 原理与集群配置
  • 驱动开发硬核特训 · 专题篇:Vivante GPU 与 DRM 图形显示体系全解析(i.MX8MP 平台实战)
  • 50个精选DeepSeek指令
  • QT中connect高级链接——指针、lambda、宏
  • Linux云计算训练营笔记day03(Rocky Linux中的命令)
  • MySQL OCP 认证限时免费活动​ 7 月 31 日 前截止!!!
  • Linux中的线程安全与线程同步详解
  • 前4个月全国新建商品房销售面积降幅收窄,房地产库存和新开工有所改善
  • 马上评|中药液涉嫌添加安眠药?药品安全儿戏不得
  • 国家统计局答澎湃:我国投资的潜力依然巨大,支撑投资增长的有利因素仍然比较多
  • 波兰总统选举投票开始,将是对亲欧路线的一次严峻考验
  • 以开放促发展,以发展促开放,浙江加快建设高能级开放强省
  • 上海博物馆展览进校园,“小先生”传递文物知识