操作系统-文件的物理结构(文件分配方式)

总览

在这里插入图片描述
文件数据存放在外存中
在这里插入图片描述

文件块和磁盘块

在这里插入图片描述
文件内通过逻辑块号和块内地址定位到文件内的任何位置
在这里插入图片描述

连续分配

逻辑块号类似偏移

连续分配是一种文件存储策略,在这种策略下,文件的各个部分被存储在磁盘或其他存储介质上的连续块中。这种存储方式支持两种类型的访问:顺序访问和直接访问。

顺序访问

连续分配非常适合顺序访问,因为在连续分配中,文件的块是连续的,这意味着当从文件的开头开始读取时,磁头可以从第一个块一直连续读取到文件的末尾,而不需要在磁盘上进行额外的寻道动作。由于磁盘寻道时间是磁盘访问延迟的主要来源之一,连续访问减少了这种延迟,从而提高了读取速度。

直接访问(随机访问)

直接访问是指能够立即访问文件中的任意位置的能力。在连续分配中,如果知道了文件的第一个块的地址,那么文件中任何块的地址都可以通过简单的数学计算得出。这是因为每个块都有固定的大小,所以只需要知道块的编号(相对于文件起始块的偏移量),乘以块的大小,就可以计算出该块在磁盘上的绝对位置。这使得即使是在文件的中间或末尾读取数据,也可以快速定位到正确的磁盘位置,而无需从文件的开头开始顺序读取。

为什么连续分配同时支持这两种访问模式?

连续分配之所以能同时支持顺序访问和直接访问,是因为它的数据布局特性。文件的连续存储允许顺序读取时避免不必要的寻道,而固定的块大小和位置关系使得可以根据块号直接计算出物理地址,从而支持直接访问。这种灵活性使得连续分配在很多应用中非常有效,尤其是那些既需要快速顺序读取又需要随机访问的场景,如数据库和多媒体文件。

在这里插入图片描述
连续分配的 文件磁盘块相邻,移动距离短
在这里插入图片描述扩展也需要连续,有时需要迁移
在这里插入图片描述
紧凑需要移动磁盘块内容,耗费时间
在这里插入图片描述
在这里插入图片描述

链接分配

隐式链接

访问第几个逻辑块就是第几个指针,零号逻辑块就是起始块
在这里插入图片描述
尾部增加一个链表节点就行,然后修改FCB
在这里插入图片描述

显示链接

链接各个文件的指针没放在块里,而放到一张表
隐含的原因就是按顺序存储每个物理块对应的下一块,所以不需要再标明物理块号了
在这里插入图片描述

零号代表起始块号对应的物理块,大于零意味着需要寻找下一块

在这里插入图片描述

小结

在这里插入图片描述

索引分配

文件名->FCB中的索引块->内存中的索引表->逻辑块号(隐藏)->物理块号

24位<2的30次方<32位
在这里插入图片描述
拓展通过往索引表添加即可
在这里插入图片描述
当一个磁盘块对应的索引表装不下文件所有物理块时
在这里插入图片描述

链接方案

一个文件对应多个索引块,通过链表形式连接,FCB只需记录第一个索引块号
读入索引块然后确定嗲一个索引块

在这里插入图片描述

多层索引

在这里插入图片描述
但文件的块比较暗小的时候,多层索引有点浪费了,而且还需要多次读磁盘

混合索引

在这里插入图片描述

小结

在这里插入图片描述

总结

FCB就是目录项内容在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看星猩的柴狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值