01. 数据在磁场中的存储

news/2025/3/18 12:12:02/文章来源:https://www.cnblogs.com/lang77/p/18778688

数据在磁盘上的存储抽象

数据存储在磁盘上,物理层面上是在每一个存储单元中,有类似2维的一个一个空间,每一个空间存储1bit或者1byte的数据.
当存储数据的时候都需要知道每一段数据的头地址由此进行读写

这样并不方便管理,所以将整个存储空间划分为更大的单位空间,以block的方式进行管理,在这个文件系统中,除了要维护对应的数据,还需要存储类似于目录一样的元数据块。

以上是最基本的一种抽象,block是常常的技巧,但是依旧会有很多事情需要考虑

  • block的大小是固定的吗?大小是多少,如果大小是固定的,如果有很多小文件,那么会有内存碎片等等
  • 文件是有读写的,一个文件的大小可能是不断增长的,当文件超过的他的block空间,他是如何递增空间的?(guess: 文件分配的block不一定是顺序的)

磁盘的存储

首先是磁盘,磁盘就是在上面电镀了很多的磁粒,每一个磁粒都有磁性,NS级,磁头就是通过NS级转换成为01电信号

然后是盘面,盘面由磁道和扇区组成,一般0磁道的0扇区就是引导扇区,不存储用户数据,而扇区的编号一般并不是如图一样是sequential的,而是一般隔一个扇区加一的原因,因为磁盘转到首先是有惯性的,而且磁头将一个扇区的磁信号转换成为电信号是需要时间的,因此中间隔一个扇区可以说有一定的时间让其进行转换。 扇区是磁盘的最小读写单元。

最后是柱面,在这里其实有两个寻址方法:

  • 3D寻址方法:他是之前的做法,让每一个磁道都有相同的扇区,为了达到这个目的,在内部的磁道中的扇区的存储密度是更大的,这样因为每一个磁道有相同扇区就可以快速定位到xx磁头,xx磁道,xx扇区这种
  • 线性寻址:这是新的设计方法,每一个磁道中的扇区数量不相同,但保证存储密度相同,这样的寻找方法是从外磁道依次到内磁道,以扇区为单位进行线性寻址

文件系统的设计

文件在磁盘上的存储一定都是扇区的整数倍,就算是一字节的文件也要占用一整个扇区的大小

考虑兼容性,因为不同的硬件它的扇区的大小是不同的,因此为了兼容,文件系统提出了一个最小读写逻辑单元块或者簇,扇区是磁盘的最小读写物理单元.

  • 一个块的大小等于扇区的2,4,8等等倍
  • 一个文件占用的空间体积是块的整数倍
  • 块越小,磁盘空间利用率越高,但存储效率会降低
    • 块越小,管理的块越多,元数据占用比例越高
    • 现代磁盘一次 I/O 读取通常以块为单位

在文件系统中,设定好了block之后,在底层会有文件系统映射层将block转换为对应扇区,这里就是的block变成了一个抽象统一的标准,而真正对扇区的映射就交给了映射层

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据分析是什么?

谢邀,这篇就用大白话聊聊大数据分析到底是什么,不拽专业术语,不卖关子,就用最平常普通的例子去给大家拆解清楚。 大数据分析听着挺高大上,其实离日常生活可近了,比如你刷短视频看到的推荐视频、购物软件猜你喜欢的商品,背后都是大数据分析的作用! 一、到底什么是大数据…

触觉智能RK3506核心板,工业应用方案分享(一)

在工业4.0与智能制造深度融合的今天,设备实时性、稳定性和成本效益成为企业核心竞争力的关键。而触觉智能RK3506核心板,基于RK3506B/RK3506J,仅59元起售,作为全新的入门工业级芯片平台,其工业宽温性能、发热量小,IO接口丰富, 即时性高, 低延迟, 反应速度快等特点,重新定…

day:24 python模块(5)——xlrd模块

一.xlrd 介绍 (1)xlrd是可用于读取excel表格数据(不支持写操作,写操作需要xlwt模块实现) (2)支持xlsx 和xls 格式的格式的表格(不支持csv文件,csv文件可用python自带的csv模块操作) (3)模块安装方式:pip3 install xlrd==1.2.0 (4)模块导入方式:import xlrd 二、…

20242825 2024-2025-2 《网络攻防实践》第三周作业

@目录一. 实验内容1.1 实验内容概述1.2 实验相关知识概述二. 实验过程2.1 动手实践tcpdump2.1.1 实验要求2.1.2 实验过程展示2.1.3 所使用网址链接2.2 动手实践Wireshark2.2.1 实验要求2.2.2 实验过程展示1. 你所登录的BBS服务器的IP地址与端口各是什么?2. TELNET协议是如何…

安装 SQL Server 后在开始菜单中找不到 SQL Server XXXX 配置管理器

找不到,没有的话,就没办法了。。。 可以 Win+R 打开运行窗口,输入右侧命令,打开对应版本的配置管理器: SQL Server 2022:SQLServerManager16.mscSQL Server 2019:SQLServerManager15.mscSQL Server 2017:SQLServerManager14.mscSQL Server 2016:SQLServerManager13.ms…

MinIO Linux 数据迁移

目录安装下载安装Minio客户端备份数据数据还原数据迁移设置别名迁移 从A服务器,迁移致B服务器,前提,需要两边的 Bucket 相同,如果B服务器没有A服务器里的 Bucket 需要先创建 安装 MinIO Linux 安装使用 & SpringBoot整合MinIO 下载 查看系统架构 Linux uname -m # 输出…

day:24 python模块(4)——json模块

一、json模块 将python转换成字符类型,将字符类型转换成python类型 json模块可以实现json数据的序列化和反序列化 (1)序列化:将可存放在内存中的python 对象转换成可物理存储和传递的形式 实现方法:load() loads() (2)反序列化:将可物理存储和传递的json数据形式转换为在…

OpenWrt Mi R4A千兆编译问题

原帖地址:https://www.right.com.cn/forum/thread-4052254-1-1.html 众多周知,小米R4A千兆版与小米R3G V2在硬件上是一样的,但使用coolsnowwolf编译出来的R3G V2或者R4A固件如果用Breed刷进是无法引导进入系统的; 如果要编译出可以用breed能引导的固件需要修改源码,方法很简…

Cloud Ace 宣布成为 Langfuse 亚太地区首个代理商,提供 LLM 全链路解决方案

Langfuse 作为领先的 LLM 工程平台,助力高效开发和管理生成式 AI 应用。Cloud Ace 提供 Langfuse 企业版许可证,支持大规模开发,强化安全管控,并提供本地化技术支持。Cloud Ace 宣布正式代理 Langfuse 产品,是 Langfuse 在亚太地区唯一的官方授权经销商,全面负责其商用许…

【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)

问题描述 在中国区微软云Azure上使用Service Fabrics服务,本地通过Visual Studio 2022的发布.NET应用,发现无法发布!在搜寻官方文档之后,可以通过PowerShell命令来进行发布。本文参考的文档如下: 1:将应用程序部署到 Service Fabric 群集 (https://docs.azure.cn/zh-cn/…

记一次测试环境文件预览OOM问题

同事反映30MB的文件预览不了, 让我帮忙看下. 直接通过异常堆栈找到对应的方法. 大概实现是:GridFSFile dbFile = gridFsTemplate.findOne(query);GridFSDownloadStream gridFSDownloadStream = gridFSBucket.openDownloadStream(dbFile.getObjectId());GridFsResource resource…

这款流行 AI 工具被盗用挖取加密货币,这些隐患你需要知道

OneAPI 是在开源代码托管平台 GitHub 上拥有 2万 Star 的 AI 网关工具,该工具的用户发现安装最新版本镜像后,会固定消耗一定比例的 CPU 。事情经过 OneAPI 是在开源代码托管平台 GitHub 上拥有 2万 Star 的 AI 网关工具,该工具的用户发现安装最新版本镜像后,会固定消耗一定…