简简单单吃个磁盘(硬盘?)

2023-11-09

前言

Version S Description Date By
V1 C First Version 2020-10-24 AYZP

C―― Create,
A—— Add,
M—— Modify,
D—— Delete。

整理资料的时候,发现个磁盘的相关知识不知道,什么是扇区啊,什么是簇啊,什么也不知道,于是查资料整理一下。

一 机械硬盘

1.1 定义

机械硬盘是利用磁性来记录信息数据的,原理类似于小时候听歌用的磁带,如果我们需要找到某个数据,磁盘就会转动到记录这个信息的部位,然后由磁头感应磁性来读取数据。[1]
在这里插入图片描述

1.2 发展史

有图有视频的机械硬盘发展史
https://www.sohu.com/a/212319162_239778
https://baike.baidu.com/item/磁盘/2842227?fr=aladdin

1.3 结构

https://blog.csdn.net/wunianjiumeng/article/details/80401257
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 基本概念

来源于https://www.icourse163.org/learn/XJTU-1003409001?tid=1003634003#/learn/content?type=detail&id=1005409075&cid=1006920177

  • 盘面 platter
  • 磁道 track
  • 扇区 sector
    • 磁盘的最小物理存储单位
    • 操作系统读写磁盘的基本单位
  • 柱面 cylinder
  • 簇 clusters
    • 文件系统基本单位
  • 磁盘块
    • 文件系统读写数据的最小单位
    • 内存的最小存储单位

关系:
在这里插入图片描述

• 一个磁盘块由连续几个(2^n)扇区组成;
• 页的大小为磁盘块大小的2^n倍;

• 页大小查看: getconf PAGE_SIZE,常见为4K;
• 磁盘块大小查看:stat /boot/|grep “IO Block”,常见为4K;
• 扇区大小查看:fdisk -l,常见为512Byte;

https://blog.csdn.net/wunianjiumeng/article/details/80401257

1.3.1 磁道

每个盘片的每个盘面被划分成多个狭窄的同心圆环,数据就是存储在这样的同心圆环上,我们将这样的圆环称为磁道(Track),每个盘面可以划分多个磁道
在这里插入图片描述

1.3.2 扇区

根据硬盘规格的不同,磁道数可以从几百到成千上万不等。每个磁道上可以存储数KB的数据,但计算机并不需要一次读写这么多数据。在这一这基础上,又把每个磁道划分成若干弧段,每段称为一个扇区(Sector)。

扇区是硬盘上存储的物理单位,每个扇区可存储128×2N次方(N=0,1,2,3)字节的数据。从DOS时代起,每扇区是128×22512字节,现在已经成了业界不成文的规定,也没有哪个硬盘厂商试图去改变这种约定。也就是说即使计算机只需要硬盘上存储的某个字节,也须一次把这个字节所在的扇区中的全部512字节读入内存,再选择所需的那个字节。扇区的编号是从1开始,而不是0,这一点需要注意。另外,硬盘在划分扇区时,和软盘是有一定区别的。软盘的一个磁道中,扇区号一般依次编排,如1号,2号,3号…以此类推。但在硬盘磁道中,扇区号是按照某个间隔跳跃着编排。比如,2号扇区并不是1号扇区后的按顺序的第一个而是第八个,3号扇区又是2号扇区后的按顺序的第八个,依此类推,这个“八”称为交叉因子。

在这里插入图片描述
这个交叉因子的来历有必要详述一下,我们知道,数据读取经常需要按顺序读取一系列相邻的扇区(逻辑数据相邻)。如对磁道扇区按物理顺序进行编号,很有可能出现当磁头读取完第一个扇区后,由于盘片转速过快来不及读取下一个扇区,(要知道物理相邻扇区位置距离是极小的),必须等待转完一圈,这极大浪费了时间。所以就用交叉来解决这个问题。增加了交叉因子后的扇区编号一般是下面这个样子:

1.3.3 柱面

柱面其实是我们抽象出来的一个逻辑概念,前面说过,离盘心最远的磁道为0磁道,依此往里为1磁道,2磁道,3磁道…,不同面上相同磁道编号则组成了一个圆柱面,即所称的柱面(Cylinder)。这里要注意,硬盘数据的读写是按柱面进行,即磁头读写数据时首先在同一柱面内从0磁头开始进行操作,依次向下在同一柱面的不同盘面(即磁头上)进行操作,只有在同一柱面所有的磁头全部读写完毕后磁头才转移到下一柱面,因为选取磁头只需通过电子切换即可,而选取柱面则必须通过机械切换。电子切换比从在机械上磁头向邻近磁道移动快得多。因此,数据的读写按柱面进行,而不按盘面进行。 读写数据都是按照这种方式进行,尽可能提高了硬盘读写效率。

1.3.4 簇

将物理相邻的若干个扇区称为了一个簇。操作系统读写磁盘的基本单位是扇区,而文件系统的基本单位是簇(Cluster)。

在Windows下,随便找个几字节的文件,在其上面点击鼠标右键选择属性,看看实际大小与占用空间两项内容,如大小:15 字节 (15 字节), 占用空间:4.00 KB (4,096 字节)。这里的占用空间就是你机器分区的簇大小,因为再小的文件都会占用空间,逻辑基本单位是4K,所以都会占用4K。 簇一般有这几类大小 4K,8K,16K,32K,64K等。簇越大存储性能越好,但空间浪费严重。簇越小性能相对越低,但空间利用率高。NTFS格式的文件系统簇的大小为4K。

在这里插入图片描述

二 固态硬盘

SSD(固态硬盘)的时代HDD(机械硬盘)几乎是停滞的;

https://www.cnblogs.com/whl320124/p/10063608.html

2.1 定义

固态硬盘是用固态电子存储芯片阵列制成的硬盘。(右边)
在这里插入图片描述

固态硬盘(Solid State Drive),简称SSD(固盘),是用固态电子存储芯片阵列而制成的硬盘,由控制单元存储单元(FLASH芯片、DRAM芯片)以及缓存单元组成。区别于机械硬盘由磁盘、磁头等机械部件构成,整个固态硬盘结构无机械装置,全部是由电子芯片及电路板组成。

固态硬盘的存储介质分为两种,一种是采用闪存(FLASH芯片)作为存储介质,另外一种是采用DRAM作为存储介质。最新还有英特尔的XPoint颗粒技术。

2.2 发展史

SSD的30年发展史
http://www.360doc.com/content/16/0105/13/27971012_525633535.shtml

1956年,IBM公司发明了世界上第一块硬盘。
1968年,IBM重新提出“温彻斯特”(Winchester)技术的可行性,奠定了硬盘发展方向。
1970年,StorageTek公司(Sun StorageTek)开发了第一个固态硬盘驱动器。
1984年,东芝发明闪存。
1989年,世界上第一款固态硬盘出现。
2006年3月,三星率先发布一款32GB容量的固态硬盘笔记本电脑,
2007年1月,SanDisk公司发布了1.8寸32GB固态硬盘产品,3月又发布了2.5寸32GB型号。
2007年6月,东芝推出了其第一款120GB固态硬盘笔记本电脑。
2008年9月,忆正MemoRight SSD的正式发布,标志着中国企业加速进军固态硬盘行业。
2009年,SSD井喷式发展,各大厂商蜂拥而来,存储虚拟化正式走入新阶段。
2010年2月,镁光发布了全球首款SATA 6Gbps接口固态硬盘,突破了SATAII接口300MB/s的读写速度。
2010年底,瑞耐斯Renice推出全球第一款高性能mSATA固态硬盘并获取专利权。 [1]
2013年,三星推出VNand 3D闪存。

2.3 组成

这篇文章很详细
https://www.cnblogs.com/whl320124/p/10063608.html

三 概念

来源于https://www.icourse163.org/learn/XJTU-1003409001?tid=1003634003#/learn/content?type=detail&id=1005409075&cid=1006920177

  • 盘面 platter
  • 磁道 track
  • 扇区 sector
    • 磁盘的最小物理存储单位
    • 操作系统读写磁盘的基本单位
  • 柱面 cylinder
  • 簇 clusters
    • 文件系统基本单位
    • 将物理相邻的若干个扇区称为了一个簇
  • 磁盘块
    • 文件系统读写数据的最小单位
    • 内存的最小存储单位

关系:
在这里插入图片描述

• 一个磁盘块由连续几个(2^n)扇区组成;
• 页的大小为磁盘块大小的2^n倍;

• 页大小查看: getconf PAGE_SIZE,常见为4K;
• 磁盘块大小查看:stat /boot/|grep “IO Block”,常见为4K;
• 扇区大小查看:fdisk -l,常见为512Byte;

参考文献

[1] 海之心1213. SSD古田硬盘内部结构详解. 博客园. 2018.12.
https://www.cnblogs.com/whl320124/p/10063608.html

[2] 勿念旧梦. 硬盘的存储原理和内部架构. CSDN博客. 2020.
https://blog.csdn.net/wunianjiumeng/article/details/80401257

[3] 残晓风. SSD固态硬盘的结构和基本工作原理概述. CSDN博客. 2018.01.
https://blog.csdn.net/lyon_yong/article/details/79178794

[4] 百度百科.
https://baike.baidu.com/item/固态硬盘/453510#2

[5] 操作系统原理. 中国大学MOOC

https://www.icourse163.org/learn/XJTU-1003409001?tid=1003634003#/learn/content?type=detail&id=1005409075&cid=1006920177

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简简单单吃个磁盘(硬盘?) 的相关文章

  • openGL结合光照与纹理

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 实现思路 二 代码 1 c 主程序 2 顶点着色器 3 片元着色器 运行效果 参考 源码下载 前言 在光照模型中 都是假设我们使用按ADS 定义的光源 照亮按ADS 定

随机推荐

  • Python计算商品复购率

    1 Python计算产品复购率 需求 给出数据商品购买数据 数据格式 csv 包含 购买月份 手机号 根据该数据计算产品的复购率 复购率算法 算法一 单位时间内 按每月 R 复购人数 总购买人数 算法二 单位时间内 按每月 R 复购交易次数
  • 应用usb_cam同时打开多个摄像头方法

    最近由于项目需要 需要同时开启多个摄像头 虽然可以用opencv去写对应的摄像头开启的程序 但是 还是想用ros中提供的usb cam去打开多个摄像头 通过usb cam去打开一个摄像头 不用下载源码 可以直接安装usb cam去调用lau
  • 使用GDI/GDI+绘制到D3D9缓冲区的方法

    这个其实是3D绘图里嵌入2D绘图的传统方式 D3D9直接使用GDI GDI 就可以画图 只不过需要额外的设置 而且只支持RGB和XRGB 不支持ARGB 因此这种方法比较适合合成UI元素和不透明的纹理贴图 不适合将要进行AlphaBlend
  • #Mybatis 关于mybatis的一级缓存

    本篇文章主要是为了帮助自己总结和加深理解 若能帮助到其他小伙伴也是极好的 基本介绍 Mybatis中支持一级缓存和二级缓存 一级缓存是默认开启的并且不能关闭 二级缓存默认关闭 可根据需要进行手动开启 总体来说Mybatis的一二级缓存的最终
  • Shell 排序法 - 改良的插入排序

    说明 插入排序法由未排序的后半部前端取出一个值 插入已排序前半部的适当位置 概念简单但速度不快 排序要加快的基本原则之一 是让后一次的排序进行时 尽量利用前一次排序后的结果 以加快排序的速度 Shell排序法即是基于此一概念来改良插入排序法
  • css设置div上下左右均居中 、底部居中

    css设置div或盒子居中 垂直居中 左右居中 底部居中 类型一 固定宽度高度 html代码 div class login container div class login box div 内容 div div div 2 css 外部
  • 软件测试入坑建议

    本科非计算机专业 在深圳做了四年软件测试工作 从之前的一脸懵的点点点 到现在会点自动化测试 说一点点非计算机专业人员从事软件测试的心得体会 仅供参考交流 如果你是非计算机专业 毕业不久 软件测试工作门槛相对较低 比较容易入门 建议入职互联网
  • Halcon学习---玻璃瓶口的缺陷检测

    inspect bottle mouth hdev 巧妙运用了极坐标变换法 细节很精细 值得学习 tuning parameters SmoothX 501 ThresholdOffset 25 MinDefectSize 50 initi
  • 华为机试-----集五福作为近年来大家喜闻乐见迎新春活动,集合爱国福、富强福、和谐福、友善福、敬业福即可分享超大红包

    题目 以0和1组成的长度为5的字符串代表每个人所得到的福卡 每一位代表一种福卡 1表示已经获得该福卡 单类型福卡不超过1张 随机抽取一个小于10人团队 求该团队最多可以集齐多少套五福 输入描述 输入若干个 11010 00110 的由0 1
  • 有限状态机的4中实现对比

    有限状态机的4种实现对比 在日常工作过程中 我们经常会遇到状态的变化场景 例如订单状态发生变化 商品状态的变化 这些状态的变化 我们称为有限状态机 缩写为FSM F State Machine 之所以称其为有限 是因为这些场景中的状态往往是
  • 俄罗斯方块代码

    package Game1 import java awt Color import java awt Font import java awt Graphics import java awt event ActionEvent impo
  • C语言之实现矩阵(3行3列)的转置(即行列互换)

    例如 输入下面的矩阵 100 200 300 400 500 600 700 800 900 程序输出 100 400 700 200 500 800 300 600 900 代码如下所示 include
  • 数据结构视频教程 -《[猎豹网校]数据结构与算法_C语言》

    整个视频打包下载地址 史上最全的数据结构视频教程系列分享之 猎豹网校 数据结构与算法 C语言 转载请保留出处和链接 更多优秀资源请访问 我是码农 数据结构是信息与计算科学专业中一门重要的专业基础课程 当用计算机来解决实际问题时 就要涉及到数
  • vmware esxi 6.7 下载以及如何在虚拟机里实现显卡直通?

    为了让vmware支持显卡 找了好久esxi下载 版本太多了 都不知道要下哪个 找到别人贡献的百度链接 分析给大家 使用esxi也不行 esxi需要安装在裸机上 才能支持独显 不能直接安装在windows上 后来查资料使用 qemu kvm
  • 【Windows基线检查】

    文章目录 前言 一 目的 二 要求 总结 前言 企业在发布服务器到公网前都应该对服务器进行安全测试 包括漏洞扫描 基线检查 业务流程测试等等 本期介绍Windows基线检查的部分内容和一些操作系统策略设置方法 一 目的 旨在为即将发布到公网
  • 获取时间的方法

    Java获取当前年份 月份和日期是通过Calendar类的实例对象来获取的 首先创建一个Calendar类的实例对象 Calendar类属于java util包 Calendar calendar Calendar getInstance
  • linux内核开发基础(linux内核源码、树莓派源码编译、SD卡挂载)

    首先下载树莓派linux内核源码 下载网址 https github com raspberrypi linux 在树莓派使用指令 uname r查看当前树莓派的版本号 然后选择对应的linux内核版本号进行下载 将linux内核源码从共享
  • linux下写穿/直写(Write-Through)与写回(Write-Back)

    CPU使用高速缓存 DCache 时 它对内存的的写操作有两种模式 写穿 write throuht 写回 write back 写穿 write throuht 模式 该模式下 CPU对主存写数据时 不经过DCdcache直接写到内存 此
  • JavaScript中将字符串的首字母大写

    其实方法有很多 这里我们使用其中一种 利用字符串的内置api来更改 1 定义全小写一个字符串 2 利用字符串的方法将首字母取出转化为大写并与剩余字符串进行拼接 3 弹窗显示结果 个人习惯 当然也可以控制台输出等等 代码为下 let str
  • 简简单单吃个磁盘(硬盘?)

    前言 Version S Description Date By V1 C First Version 2020 10 24 AYZP C Create A Add M Modify D Delete 整理资料的时候 发现个磁盘的相关知识不