首页 > 其他分享 >文件的物理结构

文件的物理结构

时间:2024-10-20 19:22:29浏览次数:1  
标签:文件 访问 分配 索引 磁盘 物理 链接 结构

img

img

文件块和磁盘块

类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操作系统中,磁盘块的大小与内存块、页面的大小相同。内存与磁盘之间的数据交换(即读/写操作、磁盘I/O)都是以“块”为单位进行的。即每次读入一块,或每次写出一块

img

文件分配方式

连续分配

img

  • 优点:支持顺序访问和直接访问(即随机访问);连续分配的文件在顺序访问时速度最快
  • 缺点:不方便文件拓展;存储空间利用率低,会产生磁盘碎片

链接分配

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

隐式链接

img

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

显式链接

img

注意FAT是常驻内存的

img

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

索引分配(重要)

img

img

假设每个索引项占4B,磁盘块大小为1kb,那么每个磁盘块中可以存放256个索引项,如果索引表超过了256个表项,那么一个磁盘块是存不下的,为了解决这个问题,我们引入了链接索引、多级索引和混合索引这三种方式

链接索引

img

多级索引

img

混合索引

img

img

img

img

标签:文件,访问,分配,索引,磁盘,物理,链接,结构
From: https://www.cnblogs.com/AH20/p/18487684

相关文章

  • 批量修改文件夹内各种格式文件名(与文件夹名保持一致)——EXCEL VBA 实现
     如下图:加入我们有3个文件夹,需要将3个文件夹内所有文件名改为与所在文件夹名一致,可用excelvba实现。方法如下: 一、打开此xlsm文件打开excel,  alt+F11快捷键打开代码编辑窗口。二、将文件夹路径修改为你的文件夹路径,如下图:需要重命名的文件夹全部放入一个总文件......
  • base64编码图片二进制数据后直接保存在html文件中
    相关内容:在markdown编辑器中嵌入base64图片看到一个帖子,那就是base64编码用来http服务中对二进制文件编码,那么可以不可以直接在html文件中使用base64编码后的字符串来表示图片呢,于是就有了本文的尝试。注意,这里使用的是markdown格式的图片插入链接格式,即\(![图片文字描述](图......
  • 在运维领域,为什么以文件形式存储密码比环境变量存储密码要更安全?
    dockercomposesecretshttps://docs.docker.com/compose/how-tos/use-secrets/Asecretisanypieceofdata,suchasapassword,certificate,orAPIkey,thatshouldn’tbetransmittedoveranetworkorstoredunencryptedinaDockerfileorinyourapplicat......
  • 【数据结构】队列
    ......
  • 栈结构的实现
    栈的概念与结构栈:一种特殊的线性表,只允许再固定的一端进行插入和删除元素操作。栈中的数据元素遵循后进先出的原则。栈的结构:栈的数据保存再数组中typedefstructStack{ STDataType*arr; inttop; //栈顶 intcapacity;//容量}Stack;栈的初始化:voidStack......
  • c#数据结构06_队列
    说明(此系列帖子记录数据结构学习成果,如侵犯视频作者权益,立删)视频链接:离忧夏天C#数据结构本文实现队列需要用到动态数组ArrayList和单链表的相关知识,详细请看:C#数据结构专栏文章目录一:队列的基本概念二:队列的基本操作三:队列的实现1.数组队列(由动态数组实现)2.循环......
  • 数据结构与算法
    数据结构:研究数据在内存中存储的结构算法:实现增删改查的方法解决问题的实际方法算法的好坏评价标准:时间复杂度和空间复杂度时间复杂度:算法所用时间的一个映射时间复杂度得出的是一个数学问题数据总量x(x足够大),从而消耗的执行次数y之间存在的关系LeetCode算法题......
  • 模块paramiko,使用密钥文件ssh登录
    1.不用密码,使用密钥文件登录importparamiko#指定私钥位置private_key=paramiko.RSAKey.from_private_key_file("/root/.ssh/id_rsa")#创建ssh对象ssh=paramiko.SSHClient()#允许连接不在know_hosts文件ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)#连接服务器......
  • 【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有
    【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉”零、报错在使用DiskGenius对磁盘分区进行调整时,DiskGenius检查出磁盘报错,报错信息:文件使用的簇被标记为空闲或与其它文件有交叉,本文介绍如何解决此错误。注意:在操作磁盘之前请把重要数......
  • PbootCMS增加可允许上传文件类型
    在PBootCMS中,默认情况下只允许上传某些类型的文件。如果您需要增加允许上传的文件类型,可以通过修改系统配置文件来实现。步骤登录后台管理登录PBootCMS后台管理界面。进入系统设置在后台管理界面中,找到并点击“系统设置”或类似的选项。编辑上传设置在系统设置......