【文件系统】抽象磁盘的存储结构 CHS寻址法 | sector数组 | LAB数组

news2025/7/6 19:13:33

目录

1.为什么要抽象

2.逻辑抽象_版本1

2.1sector数组 

​2.2index转化CHS

3.逻辑抽象_版本2

3.1LBA数组

3.2LAB下标转化sector下标


  • 文件其实就是在磁盘中占有几个扇区的问题❗
  • 文件是很多个sector的数组下标❗
  • 文件是有很多块构成的❗
  • ❗文件由很多扇区构成------>文件由很多的index构成----->文件由很多的块构成

1.为什么要抽象

  1. 硬件的存储结构发生改变,OS软件随之发生变化。直接使用CHS的耦合度太高,不想软件直接拿着硬件的参数去访问。
  2. 为了后面编码设计,为了方便内核进行磁盘管理
  • OS需要也需要对大量的磁盘文件管理❗
  • 管理啊:先描述再组织❗
  • 下面我们走一遍OS对磁盘这样的设备进行管理和抽象。
  • OS对磁盘的管理转化成了对数组的管理,先描述再组织。
  • 描述:描述成数字
  • 组织:组织成数组

2.逻辑抽象_版本1

2.1sector数组 

  • 圆形结构变成了线性结构。磁盘抽象成线性结构。
  • 线性结构的每一段都是一个扇区。
  • 这个线性结构可以看成一个数组,数组元素是一个一个的扇区。
  • 天然就存在一个东西:数组下标表示sector(相当于对扇区进行了编址)

2.2index转化CHS

  • OS是拿到下标index就可以访问扇区
  • 硬件是使用CHS来进行扇区寻址
  • 磁盘的每个盘面的容量大小一样(磁道数/扇区数是一样大小的)
  • 二者的转化算法是很简单的,并且这个工作是磁盘内部完成的。
  • index------>硬件电路------->磁盘内部转化-------->CHS地址--------->磁盘的硬件定位扇区

前提:已知 磁盘总容量和每个扇区的大小=扇区数,磁道数。

磁盘的每个盘面:有1000个扇区,10个磁道(每一个磁道都有100个扇区)

index / 扇区数 = 定位的盘面(H)

index % 扇区数 = tmp

tmp / 100  = 定位磁道(C)

tmp % 100  = 定位扇区(S)

3.逻辑抽象_版本2

3.1LBA数组

  • 内存和外设之间进行IO交互。512字节会不会太小了。OS觉得有点小。(C语言访问内存是1字节,经常性是4/8字节访问)
  • 站在硬件的角度:每次往内存拷贝加载数据,512字节。
  • 站在OS的角度:效率低,能不能拷贝更多数据。可以4KB。
  • 基本单位是:4KB(可以修改需要重新编译OS,大部分场景够用,一次性读8个扇区)
  • ❗4KB的大小是规定出来的。有块号(规定)
  • OS:4KB = 8个连续的扇区 = 数据块(块大小)= 文件块
  • 大页式内核:4MB
  • 1KB = 1024字节

3.2LAB下标转化sector下标

  • 逻辑区块地址(Logical Block Address, LBA)是描述计算机存储设备上数据所在区块的通用机制,一般用在像硬盘这样的辅助记忆设备。
  • 8个扇区为1个块
  • 块号✖8(一个块的扇区数)= 一个块的第一个扇区sector的下标
  • 整个块的下标:第一个sector知道了,往后连续数7个就是这个块。01234567。每一个块的扇区的下标都知道了。再通过版本1的计算方法就可以知道CHS地址了。
  • 对于OS而言,未来我们读取数据,可以以块为单位了❗磁盘可以看成很多的块。
  • 只要知道第一个块号,就可以知道全部的块号了。(前提知道磁盘的总大小——总大小/4即可)只要知道一个起始,和磁盘的总大小,有多少块,每个块的块号,如何准换到对应的多个CHS地址,全部都知道了❗
  • 总大小/4KB=总块数=块的编号LBA---------->每个块的第一个起始地址=sector的下标----------->每个块中全部的sector的下标--------->每个下标index通过计算得到CHS地址---------->定位到硬件里面的扇区。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言刷题小记3

题目1 序列中删除指定数字 分析:本题要求我们来删除一个序列中指定的数字,这里大家要注意我们要删除的数字可能不止出现一次,所以我们需要用两个变量来进行处理,一个变量来遍历数组,一个变量来存储数组的位置&#xff…

H5 上使用腾讯位置服务选择收货信息

效果图 首先需要在腾讯位置服务上申请你自己的key,可参考地图选点组件 // 点击打开地图 backurl 是点击选中的位置点后,页面跳转至要返回的地址(backurl),会将位置信息添加到回跳地址(backurl&#xff0…

【威胁情报】新的 BingoMod Android 安卓恶意软件伪装成安全应用程序,清除数据

关注公众号网络研究观获取更多内容。 小心 BingoMod!这种危险的 Android 恶意软件会窃取您的钱财、清除您的手机数据并控制您的设备。 了解如何保护自己免受这种阴险威胁。保持在线安全! 计算机安全解决方案提供商 Cleafy 发现了一种狡猾的远程访问木…

PCIe总线-RK3588 PCIe RC初始化流程分析(十二)

1.简介 RK3588 PCIe RC的初始化涉及PCIe设备枚举、中断(INTx、MSI、MSI-X)配置、BAR配置、ATU配置、链路训练等,下面一一介绍。 2.初始化 当RC的模式为RK_PCIE_EP_TYPE时,平台驱动调用rk_add_pcie_port函数初始化RC&#xff0c…

如何将Maven子项目插入到Maven父项目中

Maven项目的融合具体方法: 1.在电脑本地磁盘拷贝Maven子项目; 2.用IDEA软件打开Maven父项目; 3.在IDEA中选中Maven父项目; 4.将复制好的的Maven子项目粘贴到Maven父项目中; 5.选中子项目的pom文件,右键选择…

apk反编译修改教程系列-----修改apk 解除软件限制功能 实例操作步骤解析_5【二十四】

解除apk功能 限制主要是一些app只有付费或者开通vip才可以使用所有功能。这些对于热爱反编译的你是不是比较愤慨,今天继续以一款app为大家来演示如何去除软件的限制功能。教程的目的主要是学习反编译的基础修改方法,了解app的修改步骤以及基础的入门修改常识。 反编译工具:…

无人机无人车固态锂电池技术详解

随着无人机和无人车技术的飞速发展,对高性能、高安全性电池的需求日益迫切。固态锂电池作为下一代电池技术的代表,正逐步从实验室走向市场,为无人机和无人车等应用领域带来革命性的变化。相比传统液态锂电池,固态锂电池在能量密度…

C++中的二维数组

引言 C语言的二维数组可直接用【】【】建立&#xff0c;C的数组更多实用vector<int>表示&#xff0c;那二维数组如何表示呢&#xff1f; 表示法 解读 vector<int>的含义是。 申请了一个连续空间vector&#xff0c;里面的数据是一个个的int vector<vector&l…

Spring - 解析 统一数据格式返回以及统一异常处理

接上篇文章的统一数据格式返回… 文章目录 1. 统一异常处理1.1 使用 2. 统一数据返回和统一异处理是怎么实现的2.1 initHandleAdapters2.2 initHandleExceptionResolvers 1. 统一异常处理 1.1 使用 统一异常处理的两个关键的注解是ControllerAdvice ExceptionHandler Contro…

C++入门基本语法(2)

一、引用 1、基本概念与定义 引用不是新定义一个变量&#xff0c;而是给已存在的变量起一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它和它所引用的变量公用同一块内存空间&#xff1b; 引用的写法&#xff1a;变量类型& 引用别名 变量&#xff…

第六周:机器学习

目录 摘要 Abstract 一、深度学习的优化算法 1、SGD 2、SGDM 3、Adagrad 4、RMSProp 5、Adam算法 二、分类器 三、卷积神经网络 总结 摘要 接着上周学习率在训练中的影响&#xff0c;本周对深度学习常见的几种优化算法做了总结&#xff0c;着重分析Adam算法的优缺…

太阳光强光照射实验在材料科学中的应用

强光照射实验方法 所谓的强光照射即使用人造太阳光模拟器设备模拟太阳光的真实光照环境。强光照射实验是一种在材料科学中常用的实验方法&#xff0c;主要用于研究材料在强烈光照条件下的稳定性、性能变化及其内在机制。实验通常涉及将材料置于特定波长和强度的光源下&#xff…

【vulnhub】DerpNStink靶机

靶机安装 下载地址&#xff1a;DerpNStink: 1 ~ VulnHub 信息收集 靶机IP扫描 nmap 192.168.93.0/24 端口扫描&#xff0c;开放21、22、80端口 nmap -A 192.168.93.158 -p- 目录扫描 dirsearch -u http://192.168.93.158 进行网址访问&#xff0c;页面上只有个单词DeRPn…

IJCAI 2024 | 时空数据(Spatial-Temporal)论文总结

2024 IJCAI&#xff08;International Joint Conference on Artificial Intelligence, 国际人工智能联合会议&#xff09;在2024年8月3日-9日在韩国济州岛举行。 本文总结了IJCAI2024有关时空数据(Spatial-temporal) 的相关论文&#xff0c;如有疏漏&#xff0c;欢迎大家补充。…

【微服务】springboot 整合 SA-Token 使用详解

目录 一、前言 二、认证与授权介绍 2.1 什么是认证 2.1.1 认证的目的 2.1.2 认证基本步骤 2.2 什么是授权 2.2.1 常用的授权模型 三、微服务中常用的认证安全框架 3.1 Spring Security 3.1.1 Spring Security 特点 3.2 JWT (JSON Web Tokens) 3.2.1 JWT特点 3.3 其…

鸿蒙笔记--Socket

这一节主要了解鸿蒙Socket通信&#xff0c;在鸿蒙系统中&#xff0c;Socket TCP通讯是一种常用的网络通信方式&#xff0c;它提供了可靠的、面向连接的数据传输服务。它主要用到ohos.net.socket这个库&#xff1b; 栗子: export default class SocketUtils {public static c…

跟《经济学人》学英文:2024年08月03日这期 How deep is Britain’s fiscal “black hole”?

How deep is Britain’s fiscal “black hole”? Rachel Reeves sets out her first big decisions as chancellor set out: 陈述&#xff0c;阐明 “Set out” 的意思是陈述、阐明或展示。在这个上下文中&#xff0c;指的是Rachel Reeves作为财政大臣阐明了她的第一个重要决…

数据结构(8):排序

1 排序的基本概念 稳定性&#xff01;&#xff01;&#xff01; 分类[内部、外部] 机械硬盘的读取是很慢的&#xff01;&#xff01;&#xff01; 总结 2 内部排序 2.1 插入排序 前面时 保存好的 是排好序的哦 一个一个检查&#xff01;然后放到改在的位置 只有小的时候换&am…

AI论文速读 | 2024MM【开源】时间序列预测中频率动态融合

&#x1f4f0;题目&#xff1a;Pre-Training Identification of Graph Winning Tickets in Adaptive Spatial-Temporal Graph Neural Networks &#x1f58b;作者&#xff1a;Xingyu Zhang&#xff08;张星宇&#xff09;, Siyu Zhao&#xff08;赵思雨&#xff09;, Zeen Song…

200kg大载重履带遥控无人车技术详解

200kg大载重履带遥控无人车&#xff08;以下简称“无人车”&#xff09;是一种专为复杂地形和高负载运输设计的智能化车辆。它集成了先进的动力系统、高效的行走机构、灵活的操控系统以及强大的负载能力&#xff0c;能够在人难以到达或危险的环境中执行物资运输、勘探探测、应急…