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

文章目录

  • 总览
  • 文件块和磁盘块
  • 连续分配
      • 顺序访问
      • 直接访问(随机访问)
      • 为什么连续分配同时支持这两种访问模式?
  • 链接分配
    • 隐式链接
    • 显示链接
    • 小结
    • 索引分配
    • 链接方案
    • 多层索引
    • 混合索引
    • 小结
  • 总结

总览

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

文件块和磁盘块

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

连续分配

逻辑块号类似偏移

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

顺序访问

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

直接访问(随机访问)

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

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

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

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

链接分配

隐式链接

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

显示链接

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

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

在这里插入图片描述

小结

在这里插入图片描述

索引分配

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

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

链接方案

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

在这里插入图片描述

多层索引

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

混合索引

在这里插入图片描述

小结

在这里插入图片描述

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/757600.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ASUS华硕A豆14笔记本电脑I421EAYB,I421EQYB_ADOL14EA工厂模式原厂Win11系统安装包下载

适用型号&#xff1a;ADOL14EA笔记本I421EAYB、I421EQYB 链接&#xff1a;https://pan.baidu.com/s/1krU8m_lbApyUfZQo5E4cCQ?pwd0ewl 提取码&#xff1a;0ewl 华硕原装WIN11系统工厂安装包&#xff0c;带有MyASUS WinRE RECOVERY恢复功能、自带所有驱动、出厂主题壁纸、系…

k8s token加新节点

在 master 节点执行 kubeadm token create --print-join-command得到token和cert&#xff0c;这两个参数在2个小时内可以重复使用&#xff0c;超过以后就得再次生成 kubeadm join apiserver.k8s.com --token mpfjma.4vjjg8flqihor4vt --discovery-token-ca-cert-hash sha…

UML建模笔记

5个视图 设计。类&#xff0c;接口&#xff0c;对象如何协作。实现。组件&#xff0c;运行程序&#xff0c;文档关系。用例。用户功能期望。进程。并发与同步相关进程&#xff0c;线程。部署。部署到计算机。 建模目的 和客户共创追踪需求变更协同开发进度控制持续迭代测试生…

java用pdf.js在线预览pdf文件(jeecg框架)

最近在jeecg框架的后台要做一个pdf在线预览的页面功能&#xff0c;可是每次点预览都是下载&#xff0c;所以就要解决这个问题&#xff0c;现在解决了&#xff0c;记录一下&#xff0c;防止后面踩坑。 先放代码&#xff1a; 下面是点“预览”按钮的点击事件&#xff0c;代码放…

自定义一个MyBaits脱敏插件

自定义一个MyBaits脱敏插件 用于对查询结果中的敏感数据进行脱敏处理。这个插件将拦截ResultSetHandler对象的处理结果&#xff0c;对某些敏感字段进行脱敏。 插件实现步骤 创建脱敏插件类。注册插件。 1. 创建脱敏插件类 首先&#xff0c;我们创建一个自定义插件类 DataM…

Unity面试八股文之寻路算法BFS广度优先搜索

文章目录 广度优先搜索&#xff08;Breadth-First Search, BFS&#xff09;算法 广度优先搜索&#xff08;Breadth-First Search, BFS&#xff09;算法 BFS算法是一种用于图或树的遍历算法。它逐层扩展节点&#xff0c;从起始节点开始&#xff0c;首先访问其所有邻居节点&…

如何从0构建一款类似pytest的工具

Pytest主要模块 Pytest 是一个强大且灵活的测试框架&#xff0c;它通过一系列步骤来发现和运行测试。其核心工作原理包括以下几个方面&#xff1a;测试发现&#xff1a;Pytest 会遍历指定目录下的所有文件&#xff0c;找到以 test_ 开头或 _test.py 结尾的文件&#xff0c;并且…

全网唯一免费无水印AI视频工具!

最近Morph Studio开始免费公测&#xff01;支持高清画质&#xff0c;可以上传语音&#xff0c;同步口型&#xff0c;最重要的是生成的视频没有水印&#xff01; Morph Studio国内就可以访问&#xff0c;可以使用国内邮箱注册&#xff08;我用的163邮箱&#xff09;&#xff0c;…

基于协同过滤的电影推荐与大数据分析的可视化系统

基于协同过滤的电影推荐与大数据分析的可视化系统 在大数据时代&#xff0c;数据分析和可视化是从大量数据中提取有价值信息的关键步骤。本文将介绍如何使用Python进行数据爬取&#xff0c;Hive进行数据分析&#xff0c;ECharts进行数据可视化&#xff0c;以及基于协同过滤算法…

【FFmpeg】avformat_write_header函数

FFmpeg相关记录&#xff1a; 示例工程&#xff1a; 【FFmpeg】调用ffmpeg库实现264软编 【FFmpeg】调用ffmpeg库实现264软解 【FFmpeg】调用ffmpeg库进行RTMP推流和拉流 【FFmpeg】调用ffmpeg库进行SDL2解码后渲染 流程分析&#xff1a; 【FFmpeg】编码链路上主要函数的简单分…

LeetCode 207. 课程表

思路&#xff1a;这是一道拓扑排序问题&#xff0c;拓扑排序听起来可能有点复杂&#xff0c;但实际上它是个相当直观的概念。想象一下&#xff0c;你有很多事情要做&#xff0c;但有些事情必须在另一些事情完成之后才能开始&#xff0c;就像你得先穿上袜子再穿鞋子 拓扑排序就…

【UML用户指南】-23-对高级行为建模-状态机

目录 1、概述 2、状态 2.1、状态的组成 3、转移 3.1、转移的组成 4、高级状态和转移 4.1、进入效应和退出效应 4.2、内部转移 4.3、do活动 4.4、延迟事件 4.5、子状态机 5、子状态 5.1、非正交子状态 5.2、历史状态 5.3、正交子状态 6、分叉与汇合 7、主动对象…

Uboot重定位

Uboot重定位 一、重定位的意义二、介绍一些重定位相关的表项结构(节)三、uboot的重定位过程:一、重定位的意义 uboot的重定位有两次,第一次是在编译成镜像后,在makefile中调用进行处理的,其调用tools/riscv_prelink.c的代码进行重定位处理(主要就是对重定位表中的R_RIS…

Linux多进程和多线程(一)

进程 进程的概念 进程&#xff08;Process&#xff09;是操作系统对一个正在运行的程序的一种抽象。它是系统运行程序的最小单位&#xff0c;是资源分配和调度的基本单位。 进程的特点如下 进程是⼀个独⽴的可调度的活动, 由操作系统进⾏统⼀调度, 相应的任务会被调度到cpu …

[软件安装]Dev C++

一、下载Dev C软件安装包 1、官网下载官网 2、百度网盘下载压缩包 二、安装Dev C 1、解压Dev C软件安装包 2、找到【Dev-Cpp 5.11…】应用程序&#xff0c;右键选择【以管理员身份运行】它 3、设置语言 回到桌面&#xff0c;右键桌面上的【Dev C 5.11软件图标】&#xff0c…

vue插槽的简单使用

默认插槽 1.在Category中创建插槽 <slot>默认值<slot/> 2.在App中使用 <Category tittle"美食"> <ul ><li v-for"(l,index) in foods" :key"index">{{l}}</li></ul> </Category> 3.运行后的…

用英文介绍美国总统:Barack Obama First African-American President (2009 – 2017)

Barack Obama: First African-American President (2009 – 2017) Link: https://www.youtube.com/watch?vwHCBI3yypmE&listPLybg94GvOJ9E-ZM1U6PAjgPUmz-V4-Yja&index44 Introduction Barack Obama made history as the first African-American elected to the pre…

中国电信股份有限公司江西分公司招聘信息 7.5日截止

法律事务管理(南昌) 学历要求 本科及以上学历 岗位职责 1.依据国家法律、法规和相关规章规定,为公司其他部门提供日常法律服务与支持; 2.负责公司各类合同审核工作; 3.负责公司法律文件的起草和法律事务谈判; 4.围绕与公司业务有关的法律问题及法…

Alibaba Cloud Linux详解_操作系统兼容性_alinux稳定性全解析

Alibaba Cloud Linux是阿里云自研的稳定、安全、高性能的服务器Linux操作系统&#xff0c;完全兼容CentOS/RHEL生态和操作方式&#xff0c;又阿里云提供免费提供长期支持和维护LTS。Alibaba Cloud Linux是目前阿里云服务器最大规模使用的操作系统之一&#xff0c;可部署在Web网…

基于GWO灰狼优化的多目标优化算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1灰狼优化算法原理 4.2 多目标优化问题(MOP)的帕累托最优解 4.3 基于GWO的多目标优化算法 5.完整程序 1.程序功能描述 基于GWO灰狼优化的多目标优化算法matlab仿真&#xff0c;目标函数…