磁盘和固态磁盘

磁盘和固态磁盘

磁盘的物理结构

image-20230502150745540

​ 磁盘的表面由一些磁性的物质组成,可以用这些磁性物质来记录二进制数据。磁盘的盘面被划分成一个个磁道,这样一个“圈”就是一个磁道。同一磁盘上不同磁道上记录的信息量相同,因此内侧磁道上的数据密度较大。一个磁道又被划分成一个个扇区,每个扇区就是一个“磁盘块”。各个扇区存放的数据量相同

image-20230502150912516

如下图,所示。一个磁盘中可能会有多个盘面,一个盘面上会有不同的磁道。对于活动的头磁盘,磁臂可以来回伸缩来确定磁头定位磁道,因此每个盘面对应一个磁头。而对于一个固定头磁盘,每个盘面的每个磁道都有一个对应的磁头

image-20230502151153295

在这里插入图片描述

​ 了解了磁道的物理结构,我们便可以用(柱面号,盘面号,扇区号)(编号的顺序不能换,在后面的减少延迟时间的方法具体解释)来定义任意一个“磁盘块”。根据该地址读取一个“块”的过程如下:

  1. 根据柱面号移动磁臂,让磁头指向指定柱面
  2. 激活指定盘面对应的磁头
  3. 磁盘旋转的过程中,指定的扇区会从磁头下面划过,这样就完成了对指定扇区的读/写(实质上是电流的磁效应,和切割磁感线,具体的可以看机组中的磁盘描述)

磁盘一次读/写操作的时间

一次磁盘的读写时间

一次磁盘的读写时间由寻找(寻道)时间旋转延迟时间传输时间决定

寻找时间(寻道时间)Ts:在读写数据前,将磁头移动到指定磁道所花的时间。

  1. 启动磁头臂需要的时间
  2. 移动磁头需要的时间

延迟时间 T R T_R TR:通过旋转磁盘,使磁头定位到目标扇区所需要的时间。设转速为r,则平均所需的延迟时间 T R = 1 2 r T_R = \frac{1}{2r} TR=2r1

传输时间 T t T_t Tt:从磁盘读出或向磁盘写入数据所经历的时间,假定磁盘转速为r,此次读写的字节数为b,每个磁道上的字节数为N。则传输时间 T t = b r N T_t = \frac{b}{rN} Tt=rNb

总的平均存取时间$T_a=T_s + \frac{1}{2r} + \frac{b}{rN} $

延迟时间和传输时间都与磁盘的转速相关,。而转速是硬件的固有属性,因此操作系统也无法优化延迟时间和传输时间。但是操作系统的硬盘调度算法会直接影响寻道时间。

磁盘调度算法

image-20230502142803008

先来先服务算法(FCFS)

FCFS算法的根据进程请求访问磁盘的先后顺序进行调度。

优点是该种算法的具有公平性,不会产生饥饿现象。当只有少量进程需要访问,且大部分请求都是访问簇聚的文件扇区,则有达到较好的性能

缺点:如果有大量进程竞争使用磁盘,请求访问的磁道很分散,则FCFS性能上较差,寻道时间较长

image-20230502143532382

最短寻找时间(SSTF)

SSTF(Shortest Seek Time First)算法有限处理与当前磁头最近的磁道。可以保证每次的寻道时间最短,但是不能保证总的寻道时间最短.(贪心思想)

优点:性能较好,平均寻道时间短

缺点:可能产生饥饿现象(当进程中有一个较大的磁道号的请求时,但后面来了很多低磁道号,导致大磁道号的请求长时间未被响应)

image-20230502143928979

SCAN算法(电梯调度算法)

SSTF算法会产生饥饿的原因在于,磁头可能会一直在一个区域内来回移动。于是出现了SCAN算法,SCAN算的思想在于:只磁头移动到最外侧磁道的时候才能往回移动,移动到最内侧磁道的时候才能往外移动。这种方式类似于电梯的运行,因此也叫做电梯算法

优点:性能较好,平均寻道时间较短,不会产生饥饿现象

缺点:

  1. 只有到达最边上的磁道才能改变磁头方向,有部分时间浪费
  2. SCAN算法对个位置磁道的响应频率不平均,磁道号高的磁道更容易被多次访问,可以根据下图看出

image-20230502144857189

注意:若题目中无特别说明,则SCAN就是LOOK

LOOK调度算法

LOOK算法与SCAN算法的不同之处在于,弥补了SCAN算法的第一个缺点。

LOOK算法的思想是:如果在磁头的移动方向上已经没有别的请求,就可以立即改变磁头移动方向

image-20230502145037786

优点:相比于SCAN算法来,不需要每次都移动到最外侧或者最内侧才改变磁头方向,是寻道时间进一步缩短

循环扫描算法C-SCAN

C-SCAN算法其实也是对SCAN算法的一个改进,C-SCAN算法弥补了SCAN算法的缺点2——对不同位置的磁道访问频率不同

C-SCAN算法规定只有磁头朝某个特定方向运动时才处理磁道访问请求,而返回时直接快速移动至起事端而不处理任何请求

image-20230502145803653

优点:比SCAN算法,对各个位置磁道的响应频率都很平均

缺点:只有到达最边上的磁道时才能改变磁头移动方向,因此会浪费部分寻道时间(SCAN算法的缺点1)

注意:若题目中无特别说明,C-SCAN就是C-LOOK

C-LOOK算法

C-LOOK算法其实就是C-SCANLOOK算法的结合。

C-LOOK算法的思想:如果磁头移动的方向上已经没有磁道访问请求了,就可以立即让磁头返回,并且磁头只需要返回到有磁道请求的位置即可,返回过程中磁头不处理请求

image-20230502150327015

优点:比起C-SCAN算法来,不需要每次都移动到最外侧或最内侧才改变磁头方向,是寻道时间进一步缩短

注意:若题目中无特别说明,则SCAN就是LOOK;C-SCAN就是C-LOOK

减少延迟时间的方法

image-20230502152003644

假设现在要读取,下图这种扇区编号连续磁盘中的2、3扇区:

磁头在读取一个扇区的时候,需要一下小段的时间处理,此时磁头不工作。但此时磁头又在不停地旋转。因此当读取完2号扇区的时,无法连续地读入3号扇区,必须等待盘片继续旋转,再次划过磁头,才能完成扇区读入。

所以若磁盘按照顺序对扇区编号的时读取多个连续的逻辑区,可能要很长的延迟时间

image-20230502152422019

交替编号

阅读了上面这个小案例后,可以想到用不连续的给扇区编号来解决。即采用交替编号的策率,让逻辑上相邻的扇区在物理上有一定的间隔,可以使读取连续的逻辑扇区所需要的延时跟段

image-20230502153238327

磁盘地址结构的设计

这个小节就是解释为什么磁盘的物理地址是(柱面号,盘面号,扇区号)而不是(盘面号,柱面号,扇区号)

若要连续读取物理地址(00,000,000)~(00,000,111)两圈可读完,之后在读取物理地址相邻的区域,即(00,001,000)~(00,001,111)

若采用(盘面号,柱面号,扇区号)的地址结构,因为要切换磁道所以需要启动磁头臂,将磁头移动到下一个磁道,再转两圈对数据进行读取。

而要是采用(柱面号,盘面号,扇区号)的地址结构,因为两部分数据在不同盘片的同一磁道,因此只需要激活对应盘片磁道的磁臂即可,从而节省了启动磁头臂并移动的时间

虽然采用(盘面号,柱面号,扇区号)

错位命名

采用错位命名的原因和采用交替编号的理由类似。即如果要连续访问(00,00,111)(00,01,000)这两个地址。

若不采用错位命名的方式,如下图。当0号盘面读取完,一号盘面对应的磁头也一起转过了这个扇区,所以还需要再转一圈才可以读取出其中的数据

image-20230502154926315

而当采用错位命名的方式,如下图。由于采用错位命名方式,因此当读完磁盘块(00,00,111)之后,还有一段时间处理,当(00,01,000)第一次划过1号盘面的磁头下方时,就可以直接读取数据,从而减少了延迟时间

image-20230502155124451

磁盘的管理

磁盘的初始化

​ Step1:在磁盘可以存储数据之前,必须将它分成扇区,以便磁盘控制器可以进行读写,这个过程称为低级格式化(物理格式化),将磁盘的各个磁道划分为扇区。一个扇区通常可以分为头、数据区、尾三个部分组成。管理扇区的各种数据结构一般放在头、尾两根部分,包含扇区校验码(如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误)

​ Step2:将磁盘分区,每个分区由若干柱面组成(即C、D、E盘)

​ Step3:进行逻辑格式化,创建文件系统。包括创建问及那系统的根目录、初始化存储空间管理所使用的数据结构

引导块

​ 通常在ROM中保留很小部分的自举装入程序,而将完整的引导程序保存在磁盘的启动块上,启动块位于磁盘的固定位置。具有启动分区的磁盘称为启动磁盘系统磁盘

坏块

对于简单的磁盘,可以在逻辑格式化时(建立文件系统时)对整个磁盘进行坏块检查,标明哪些扇区是坏扇区,例如在FAT表上标明。在这种方式中,坏块对操作系统不透明

对于复杂的磁盘,磁盘控制区(磁盘设备内部的一个硬件部件)会维护一个坏块链表。在磁盘出厂前进行低级格式化(物理格式化)时就将坏链进行初始化。会保留一些“备用扇区”,用于替换坏块。这种方案称为扇区备用。且这种处理方式的中,坏块对操作系统透明

固态硬盘

image-20230502190710481

固态硬盘SSD是一种基于闪存技术的存储器。它与U盘本质无差异。一个SSD由多个存储芯片和闪存翻译层组成。SSD有很多优点,例如没有任何机械噪声和震动,能耗低,抗震性号,安全性高等

​ SSD的写比较慢(但是快于磁盘),因为在写数据的时候,若写数据的页Pi已经含有数据了,那么这个块中所有含有用数据的页都必须被复制到一个新块中,然后才能对该页Pi进行写操作。

image-20230502190800842

固态硬盘的缺点是,闪存的擦写寿命是有限的。因此一般搭配磨损均衡技术,而磨损均衡技术分为两种:

  • 动态磨损均衡。写入数据时,自动选择较新的闪存块。老的闪存块先歇歇
  • 静态磨损均衡。这种技术更为先进,SSD会监测并自动进行数据分配,让老的闪存块承担无须写数据的存储任务,同时让较新的闪存块腾出空间

参考

  • 《王道 24 操作系统考研指导》

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

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

相关文章

STM32F429移植microPython笔记

目录 一、microPython下载。二、安装开发环境。三、编译开发板源码。四、下载验证。 一、microPython下载。 https://micropython.org/download/官网 下载后放在linux中。 解压命令: tar -xvf micropython-1.19.1.tar.xz 二、安装开发环境。 sudo apt-get inst…

【Java笔试强训 14】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥计算日期…

玩着3dmax把Python学了-01

3ds Max 2022以前的版本要借助Python的api来实现Python编程达到编辑绘图脚本的功能,但是好消息来了,3ds Max 2022 起,MaxPlus 不再作为 3ds Max 的 Python API 包含在内。而是3ds Max 将 Python 3.7 的标准版本包涵其中了,位于 [3…

Filter 过滤器

Filter过滤器介绍 这里我们讲解Filter的执行流程,从下图可以大致了解到,当客户端发送请求的时候,会经过过滤器,然后才能到我们的servlet,当我们的servlet处理完请求之后,我们的response还是先经过过滤器才…

基于SpringBoot的线上日志阅读器

软件特点 部署后能通过浏览器查看线上日志。支持Linux、Windows服务器。采用随机读取的方式,支持大文件的读取。支持实时打印新增的日志(类终端)。支持日志搜索。 使用手册 基本页面 配置路径 配置日志所在的目录,配置后按回车…

2023亚马逊云科技研究,数字化技能为中国企业和员工带来经济效益

在中国,信息技术在个人、企业和宏观经济层面都推动着重大变革。为了研究这些变化所带来的影响,盖洛普咨询公司(Gallup)和亚马逊云科技开展了关于数字化技能的调研。 研究表明,数字化技能正在为中国企业和在职人员带来巨大的经济价值&#x…

一文带你入门C++类和对象【十万字详解,一篇足够了】

本文字数较多,建议电脑端访问。不多废话,正文开始 文章目录 ———————————————【类和对象 筑基篇】 ———————————————一、前言二、面向过程与面向对象三、结构体与类1、C中结构体的变化2、C中结构体的具体使用3、结构体 --&…

程序环境和预处理

目录 一 程序的翻译环境和执行环境 二 详解编译链接 2.1 翻译环境 2.2 编译本身也分为几个阶段 2.3 运行环境 三 预处理详解 3.1 预定义符号 3.2 #define 3.2.1 #define 定义标识符 3.2.2 #define定义宏 3.2.3 #define 替换规则 3.2.4 #和## 3.2.5 带副作用的宏参…

告别被拒,如何提升iOS审核通过率(上篇)

iOS审核一直是每款移动产品上架苹果商店时面对的一座大山,每次提审都像是一次漫长而又悲壮的旅行,经常被苹果拒之门外,无比煎熬。那么问题来了,我们有没有什么办法准确把握苹果审核准则,从而提升审核的通过率呢&#x…

Centos7快速安装Kibana并连接ES使用

Elasticsearch 提供了一个名为 Kibana 的官方可视化界面。Kibana 是一个开源的数据可视化和管理工具,用于 Elasticsearch。它提供了丰富的功能,如仪表板、图表、地图等,帮助您更好地理解、搜索和可视化存储在 Elasticsearch 中的数据。 在 C…

【软考备战·希赛网每日一练】2023年5月5日

文章目录 一、今日成绩二、错题总结第一题 三、知识查缺 题目及解析来源:2023年05月05日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 有返回消息的就是同步消息;不需要等待返回消息就可以去做其他事情的请求消息就是异步消息…

从零基础到网络安全专家:全网最全的网络安全学习路线

前言 网络安全知识体系非常广泛,涉及的领域也非常复杂,有时候即使有想法和热情,也不知道从何入手。 为了帮助那些想要进入网络安全行业的小伙伴们更快、更系统地学习网络安全知识,我制定了这份学习路线。本路线覆盖了网络安全的…

网络协议与攻击模拟-03-ARP协议

ARP 协议(地址解析协议) 一、 ARP 协议 将一个已知的 IP 地址解析为 MAC 地址,从而进行二层数据交互 是一个三层的协议,但是工作在二层,是一个2.5层协议 二、工作流程 1、两个阶段 ARP 请求 ARP 相应 2、 ARP 协议…

Java 基础入门篇(三)—— 数组的定义与内存分配

文章目录 一、数组的定义1.1 静态初始化数组1.2 动态初始化数组1.3 数组的访问 二、数组的遍历三、数组的内存图 ★3.1 Java 的内存分配3.2 数组的内存图3.3 两个数组变量指向同一个数组对象 四、数组使用的常见问题补充:随机数 Random 类 一、数组的定义 数组就是…

黑盒测试过程中【测试方法】详解2-正交实验

在黑盒测试过程中,有9种常用的方法:1.等价类划分 2.边界值分析 3.判定表法 4.正交实验法 5.流程图分析 6.因果图法 7.输入域覆盖法 8.输出域覆盖法 9.猜错法 前面我们已经讲解过了等价类划分、边界值、判定表。 可以参考我之前的文章&#xff…

MySQL 常用命令

#--------------------------- #----cmd命令行连接MySql--------- cd C:\Program Files\MySQL\MySQL Server 5.5\bin # 启动mysql服务器 net start mysql # 关闭mysql服务器 net stop mysql # 进入mysql命令行 mysql -h localhost -u root -p 或mysql -u root -p #---------…

SPSS如何进行回归分析之案例实训?

文章目录 0.引言1.线性回归分析2.曲线回归分析3.非线性回归分析4.Logistic回归分析5.有序回归分析6.概率回归分析7.加权回归分析 0.引言 因科研等多场景需要进行数据统计分析,笔者对SPSS进行了学习,本文通过《SPSS统计分析从入门到精通》及其配套素材结合…

璞华助力“数字人社”,为成都市人社数字化建设提供多方位的产品与技术支持!

新的时期,人力资源和社会保障事业进入新一轮的制度创新和加快发展阶段。把对各项人力资源和社会保障业务的支持和服务纳入信息化建设,通过 “数字人社”信息化建设项目,是充分利用新一代信息技术,有效整合各类信息资源&#xff0c…

为什么说网络安全行业是IT行业最后的红利?

前言 2023年网络安全行业的前景看起来非常乐观。根据当前的趋势和发展,一些趋势和发展可能对2023年网络安全行业产生影响: 5G技术的广泛应用:5G技术的普及将会使互联网的速度更快,同时也将带来更多的网络威胁和安全挑战。网络安全…

石头科技2022年营收实现双位数增长,以技术实力打响创新价值战

近日,石头科技披露了2022年度财务报告,报告显示,在在较大内外部压力下,石头科技2022年营收依然实现双位数增长,且境内外销售收入平稳增长。 该公司在近年来不断完善其产品矩阵,目前已推出手持无线吸尘、商…
最新文章