磁盘物理结构介绍(磁头,扇区),chs寻址,如何读写,磁盘io消耗时间;线性抽象结构,lba寻址,分区引入

本文主要是介绍磁盘物理结构介绍(磁头,扇区),chs寻址,如何读写,磁盘io消耗时间;线性抽象结构,lba寻址,分区引入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

磁盘文件

引入

看待角度

磁盘

介绍

物理结构 

俯视图

立体图

磁头

扇区

如何找到一个扇区 -- CHS寻址

如何读写

磁盘io消耗时间

抽象结构 -- 线性

引入

介绍 -- LBA寻址

分区

引入

介绍


磁盘文件

引入

文件分为两种

  • 被打开的文件(主要讨论与进程之间的联系)
  • 没有被打开的文件(存放在磁盘上)

我们这里来介绍磁盘级别的文件

看待角度

  • 从单个文件角度:文件具体存放在哪里,如何存储,大小是多少,属性有哪些
  • 从系统角度:一共有多少个文件,内容和属性存放在哪里,如何快速找到指定的文件和对应的数据

为了了解磁盘文件,我们得先来认识磁盘是什么 

磁盘

介绍

  • 内存--掉点易失存储介质
  • 磁盘--永久性存储介质(eg: ssd,u盘,flash卡,光盘,磁带)
  • 磁盘属于冯诺依曼模型中的外设,是一种机械设备(所以它io速度很慢)

物理结构 

俯视图

  • 工作时,磁盘进行高速旋转(有不同的转速)
  • 磁头会左右摇摆,进行寻址(数据其实就在磁盘上)
立体图

磁头

  • 可以看到,磁盘并不是只有一片,它其实是多个磁盘叠放在一起的
  • 磁盘的两面都可以存放数据,所以一个磁盘对应两个磁头

  • 磁头并不是紧挨着磁盘,他俩中间有一定的距离
  • 因为两者都会旋转
  • 如果挨着,磁盘表面肯定会有一定程度的磨损,而数据也可能随之丢失
  • 虽然他俩有距离,但其实距离很小
  • 所以,一旦在磁盘工作过程中,电脑磕了碰了啥的,都可能会引起磁头和磁盘的接触,就可能磨损磁盘,数据就可能会丢失

扇区

扇区磁盘存储数据的基本单位,一个扇区一般占512字节

如何找到一个扇区 -- CHS寻址

因为存储数据的基本单位是扇区,那么我们进行读写的前提是找到扇区

  • 首先确定在哪一个柱面
  • 每个柱面对应磁头的一个位置,柱面由多个半径相同的磁道组成
  • 然后移动磁头到对应的磁道上
  • 再确定要找的扇区在哪个扇面上(也就是具体对应哪个磁头)
  • 然后就可以找到对应的扇区了

如何读写

由于计算机只认识二进制,而数据都在盘面上,所以盘面上就存储了大量的二进制

类比于磁铁的正负极,盘面是通过磁性来区分0,1

  • 读取操作时,磁头感应磁性场盘面上的磁变化,并将其转换为对应的数据
  • 写入操作时,磁头改变磁场的极性,将数据写入磁性盘面

磁盘io消耗时间

 

抽象结构 -- 线性

引入

  • 随着磁盘容量的增加和计算机系统的发展,CHS寻址方式面临容量限制、复杂性和效率等问题
  • 为了克服CHS寻址方式的限制,磁盘驱动器制造商引入了逻辑块寻址(LBA)方式
  • LBA寻址方式将磁盘的物理位置抽象为一系列逻辑块,每个逻辑块都有唯一的逻辑块地址(LBA)
  • 类比磁带,它看似是圆形结构,实际上圆盘是由非常长的线性磁带环绕而成
  • 因此我们也可以将磁盘的盘片想象成线性的结构

介绍 -- LBA寻址

  • 像上面那样抽象成线性结构,每一个扇区就变成了一个块状结构
  • 如果平铺下来,是不是很像数组:
  • 所以,访问扇区,只需要知道它所在的下标即可
  • 这样的寻址方式就叫做LBA寻址
  • 最终将LBA找到的扇区,转换为CHS上的物理结构即可

分区

引入

通过上面的抽象,我们对磁盘的操作,就变成了对数组的操作:

但是,磁盘通常容量很大,几百g甚至t,若将其看作一个整体,则太过于庞大

于是我们可以将它进行分区,这些分区以统一的视角去看待,就可以将大的问题简单化

介绍

先将非常大容量的磁盘分区:

但是,这样分下来,每个区还是很大,不好管理

所以每个分区里面再进行分区:

不断分区...最终以块组为单位,组成磁盘

一个很大的磁盘 -> 多个分区 -> 很多个块组

所以只要管理好块组,分区就管理好了,分区管理好了,磁盘也就管理好噜~

这篇关于磁盘物理结构介绍(磁头,扇区),chs寻址,如何读写,磁盘io消耗时间;线性抽象结构,lba寻址,分区引入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/354684

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

10. 文件的读写

10.1 文本文件 操作文件三大类: ofstream:写操作ifstream:读操作fstream:读写操作 打开方式解释ios::in为了读文件而打开文件ios::out为了写文件而打开文件,如果当前文件存在则清空当前文件在写入ios::app追加方式写文件ios::trunc如果文件存在先删除,在创建ios::ate打开文件之后令读写位置移至文件尾端ios::binary二进制方式

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2