【Linux】磁盘结构和文件系统

在这里插入图片描述

文章目录

  • 磁盘
  • 磁盘的物理结构
  • LBA寻址法
  • 抽象管理分区化
  • 总结

磁盘

磁盘是计算机存储系统的核心部件之一,主要用于长期存储数据。磁盘的基本概念、物理结构和逻辑组织形式直接影响着其性能和使用效率。
下面的图片是一个磁盘:
在这里插入图片描述
磁盘打开之后的结构如下:
在这里插入图片描述
磁盘盘片是高速旋转的,顺时针旋转或者逆时针旋转跟磁盘有关,读写的磁头是只能左右摆动的。
在这里插入图片描述
这就形成了机械磁盘,我们来看看磁盘的物理结构:

磁盘的物理结构

在这里插入图片描述
上面是磁盘的物理结构,每一圈叫做磁道,每个磁道上的每一块叫做扇区,磁盘上的每个扇区一般都可以存储512KB
在这里插入图片描述
磁头在左右摆动用来定位磁道,磁盘在不断旋转用来定位扇区。
扇区是磁盘存储的最小单位,所以假如我们需要修改一个比特位的数据,我们也需要将整个扇区加载到内存当中进行修改。
因为一个磁盘能够存储的容量很有限,所以一般磁盘的两面都会用来存储,并且一般一个磁盘中不止一个盘面,实际上有两个以上的盘面。
在这里插入图片描述
实际上磁盘的结构是这样的,这里有三个磁盘面,磁盘面的编号从h0~h5。图上所示的柱面是假想出来的。
在这里插入图片描述
柱面是所有盘片上处于相同位置的磁道集合,每个磁道由其上的多个扇区组成。当我们将这些磁道想象为一个整体时,就形成了一个柱面。
这里产生了六个磁头,这六个磁头是共进退的,同时指向不同盘面中的同一个区域的扇区。

所以我们定位文件的步骤:
1.先定位磁头。
2.确定磁头要访问哪一个柱面(磁道)
3.定位扇区

上面步骤也就是CHS定址法

用Linux查看是否存在扇区信息:
在这里插入图片描述

可以看见Linux确实存在扇区这个概念,还可以看到有多少扇区,还有起始扇区和结束扇区。
上面我们讲了CHS定制法,CHS 定址法在早期的硬盘中曾经是常用的寻址方式,但随着硬盘容量的增加及其物理结构的复杂性,CHS 方法显得不再适用。现代硬盘和操作系统大多使用 LBA(逻辑块寻址)来代替 CHS,解决了容量限制、寻址效率等问题。
因为CHS具有很大的局限性,所以引入了LBA寻址法。

LBA寻址法

LBA(Logical Block Addressing,逻辑块寻址) 是一种现代硬盘寻址方法,它通过简单的逻辑块编号来替代传统的 CHS(Cylinder-Head-Sector) 定址法,使得硬盘容量和寻址方式更加灵活和高效。LBA 的出现解决了 CHS 的局限性,并且被广泛应用于现代硬盘、SSD 和其他存储设备。
在这里插入图片描述
这是多个盘面,我们先从单个盘面开始看起。
在这里插入图片描述
上面标红的磁道我们可以将其拉直形成一个线性的数组:
在这里插入图片描述
一恶搞磁道形成一维数组,但是有多个磁头同时指向每一个磁盘面对应的磁道,所以就有了我们的柱面,按照上面这个红色区域另外六个盘面对应的磁道会形成柱面,我们沿着柱面切开就形成了二维数组:
在这里插入图片描述
当不同的柱面都展开时就形成了三维数组:
在这里插入图片描述
这就是CHS的来源,因为每个磁道的个数和磁头个数还有扇区都是确定的,所以我们将其抽象为一个一维数组:
在这里插入图片描述

抽象管理分区化

根据上述,所以只需要用一个一维数组就可以管理这个磁盘,操作系统在进行IO时,以扇区为单位,512字节,单次IO的数据量有点少,所以计算机通常都是以4KB的数据块来进行IO的。
这里引入数据块的概念:一个数据块------8个扇区
在这里插入图片描述
上面的图就是形成的数据块。
我们以数据块为单位抽象为一维数组:
在这里插入图片描述
但是假如我们有500G要管理还是有很多块,还是不好管理,所以我们引入分区管理,假如我们有500G我们将其分为5个区,每个区100G
在这里插入图片描述
这样只需要管理好每个区域即可管理好磁盘,我们再将每个区域分为若干个组:
在这里插入图片描述
我们从管理分区切换到管理好每一个组即可。
在这里插入图片描述
每个组中也有很多块区,如上图所示。
这里我们需要介绍一下inode,我们都知道一个文件是有数据和属性构成的,属性也是数据,是以结构体的方式搭建起来的(inode),我们称这个属性的集合为inode,一个文件仅有一个inode,或者没有。
下面是inode的结构
在这里插入图片描述
原则上一个inode是128字节,但是有一些是256字节,所以我们接下来统一为2256字节。
每个文件都是一个inode的,我们可以通过ls的选项来查看inode:
在这里插入图片描述
当然这里还有很多没有说完,下一篇接着说。

总结

在本文中,我们深入探讨了磁盘的物理结构、LBA 寻址法以及分区管理的相关内容。首先,了解了磁盘的物理结构——它由多个盘片、磁头、磁道、扇区等组成,并且通过这些结构实现了数据的存储和访问。随后,我们介绍了 LBA 寻址法,它通过简化寻址方式,取代了传统的 CHS 定址法,为现代大容量硬盘的使用提供了支持。最后,我们讨论了磁盘分区化的概念,通过抽象管理的方式,使得磁盘的使用更加灵活、便捷,提升了数据的管理和存取效率。

磁盘技术的演进使得存储设备的性能和容量不断提升,从而支撑起了各类数据密集型应用的快速发展。在今后的技术进步中,磁盘的物理结构和管理方式仍将不断优化,以应对日益增长的存储需求和性能挑战。无论是硬件设计,还是软件管理,磁盘存储的持续创新都将为信息技术的发展提供重要支持。

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

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

相关文章

NLP-中文分词

中文分词 1、中文分词研究背景及意义 和大部分西方语言不同,书面汉语的词语之间没有明显的空格标记,句子是以字串的形式出现。因此对中文进行处理的第一步就是进行自动分词,即将字串转变成词串。 比如“中国建筑业呈现新格局”分词后的词串…

【Golang】Go语言编程思想(六):Channel,第三节,使用Channel实现树的遍历

使用 Channel 实现树的遍历 tree 在此处简单回顾一下之前学过的二叉树遍历,首先新建一个名为 tree 的目录,并在其下对文件和子目录进行如下组织: 其中 node.go 存放的是 Node 的定义: package treeimport "fmt"type…

spring 源码分析

1 IOC 源码解析 BeanDefinition: bean的定义。里面会有beanClass、beanName、scope等属性 beanClass:通过Class.forName生成的Class 对象beanName:context.getBean(“account”),acount就是beanNamescope: 作用区分单例bean、原型bean Bea…

快速搭建SpringBoot3+Vue3+ElementPlus管理系统

快速搭建SpringBoot3Vue3管理系统 前端项目搭建(默认开发环境:node20,Jdk17)创建项目并下载依赖--执行以下命令 前端项目搭建(默认开发环境:node20,Jdk17) 创建项目并下载依赖–执行以下命令 创建项目 y…

基于Hadoop大数据音乐推荐系统的设计与实现

摘 要 各种主流的音乐平台都为用户提供了的大量的音乐,让他们时刻都能沉浸在音乐的海洋之中。然而,过多的音乐往往使用户眼花缭乱,很难发现他们真正所需要的。一套优秀的推荐系统,可以很好地解决这个问题,既能帮助用户…

IDEA遇到EasyConnect中的网络资源无法访问的问题

IDEA遇到EasyConnect中的网络资源无法访问的问题 摘要由CSDN通过智能技术生成 点击编辑IDEA的 启动配置,然后在启动器下面的新增一个请求参数然后重新启动项目, java.net.preferIPv4Stack true IDEA就能连接到EasyConnect代理的网络服务 wanshanyu_ 关…

IP研究 | 大数据洞察黄油小熊的爆火之路

一只来自泰国的小熊在国内红成了顶流。 今年,黄油小熊以烘焙店“打工人”的超萌形象迅速走红,2个月内火遍中国的社交媒体,泰国门店挤满飘洋过海求合影的中国粉丝,根据数说故事全网大数据洞察,黄油小熊2024年度的线上声…

分数求和ᅟᅠ        ‌‍‎‏

分数求和 C语言代码C 代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 输入n个分数并对他们求和,并用最简形式表示。所谓最简形式是指:分子分母的最大公约数为1;若最终结果的分母为…

5G中的随机接入过程可以不用收RAR?

有朋友提到了一种不用接收RAR的RA过程,问这个是怎么回事。其实在刚刚写过的LTM cell switch篇章中就有提到,这里把所有相关的内容整理如下。 在RACH-less LTM场景,在进行LTM cell switch之前就要先知道target cell的TA信息,进而才…

Ubuntu安装grafana

需求背景:管理服务器,并在线预警,通知 需求目的: 及时获取服务器状态 技能要求: 1、ubuntu 2、grafana 3、prometheus 4、https://img-home.csdnimg.cn/images/20230724024159.png?origin_urlhttps%3A%2F%2Fimg…

vue3获取、设置元素高度

前言 在web端常见的需求场景中,会经常遇到table表格需要根据页面可视区域使高度自适应的情况。 傻喵(作者本人)昨天在尝试使用vue3实现这个需求时,看了几篇网上写的回答,都不太全面,所以干脆自己写个总结吧.(第一次写&#xff0c…

美畅物联丨观看实时视频对服务器带宽有什么要求?

​随着互联网的迅猛发展,实时视频观看已然成为人们日常生活中不可或缺的一部分。不管是视频会议、在线教育,还是在线娱乐,实时视频都起到了极为重要的作用。不过,实时视频的流畅播放对服务器的带宽有着极高的要求。本文将深入探究…

MongoDB-固定集合(Capped Collection)

在 MongoDB 中,固定集合(Capped Collection)是一种具有特殊属性的集合。固定集合具有一个固定的最大大小,并且一旦达到该大小时,最早插入的文档将会被自动删除,以便为新的文档腾出空间。固定集合的这种特性…

EasyExcel注解使用

上接《Springboot下导入导出excel》,本篇详细介绍 EasyExcel 注解使用。 1. ExcelProperty value:指定写入的列头,如果不指定则使用成员变量的名字作为列头;如果要设置复杂的头,可以为value指定多个值order&#xff…

yolo-V3

1、研究背景及意义 1)对yolo进行创新,准确度更高。 2、创新点 1)主要是更换了主干网络,使用了多尺度特征融合。 3、网络结构 yolo-V3以Darket-Net-53为主干网络。网络输入一张尺寸为416416的图片,经过多层卷积分别…

零基础如何使用ChatGPT快速学习Python

引言 AI编程时代来临,没有编程基础可以快速上车享受时代的红利吗?答案是肯定的。本文旨在介绍零基础如何利用ChatGPT快速学习Python编程语言,开启AI编程之路。解决的问题包括:传统学习方式效率低、缺乏互动性以及学习资源质量参差…

重生之我在异世界学编程之C语言:枚举联合篇

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文枚举(Enum&#xff0…

MYSQL索引的分类和创建

目录 1、聚簇索引和非聚簇索引 tips: 小问题:主键为什么建议使用自增id? 2、普通索引 (常规索引)(normal) 3、唯一索引(UNIQUE ) 唯一索引和主键的区别: 唯一约束和唯一索引的区别&#…

Robust Depth Enhancement via Polarization Prompt Fusion Tuning

paper:论文地址 code:github项目地址 今天给大家分享一篇2024CVPR上的文章,文章是用偏振做提示学习,做深度估计的。模型架构图如下 这篇博客不是讲这篇论文的内容,感兴趣的自己去看paper,主要是分享环境&…

.NET 一款获取主机远程桌面端口的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…