磁盘基本知识介绍

news/2024/11/9 10:28:56/

数据库的数据存储在文件系统中。
文件系统是操作系统用来明确存储设备或分区上的文件 的方法和数据结构(存储设备常见的是磁盘,也有基于NAND Flash的固态硬盘)
磁盘上数据必须用一个三维地址唯一标示:柱面号、盘面号、块号(磁道上的盘块)。
硬盘只是磁盘的一种,或说是经典代表,以下通过硬盘模型图讲解磁盘中的各个概念。
硬盘整体模型图
在这里插入图片描述
硬盘模型图
在这里插入图片描述

磁盘重点概念

  • 盘片(platter):硬盘中承载数据存储的介质
  • 硬盘一般由多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。受到硬盘整体体积和生产成本的限制,盘片数量都受到限制,一般都在5片以内。盘片的编号自下向上从0开始,如最下边的盘片有0面和1面,再上一个盘片就编号为2面和3面。
  • 磁头(head):通过磁性原理读取磁性介质上数据的部件
  • 磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道
  • 扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区,同一块硬盘上的扇区大小是一致的
  • "每个磁道的扇区数一样的"说的是老的硬盘,外圈的密度小,内圈的密度大(简单理解就是,磁盘存储媒介为
  • 磁性记忆材料,在内圈涂的密度高),故每圈可存储的数据量是一样的。新的硬盘数据的密度都一致,这样磁道的周长越长,扇区就越多,存储的数据量就越大。
  • 柱面(cylinder):在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面

物理扇区与逻辑扇区

物理扇区(physical sector)与逻辑扇区(logical sector)

近年来,为了追求更高的硬盘容量,便出现了扇区存储容量为2048、4096等字节的硬盘,我们称这样的扇区为"物理扇区"。这样的大扇区会导致许多兼容性问题,有的系统或软件无法适应。为了解决这个问题,硬盘内部将物理扇区在逻辑上划分为多个扇区片段并将其作为普通的扇区(一般为512字节大小)报告给操作系统及应用软件。这样的扇区片段我们称之为“逻辑扇区”。实际读写时由硬盘内的程序(固件)负责在逻辑扇区与物理扇区之间进行转换,上层程序“感觉”不到物理扇区的存在。

逻辑扇区是硬盘可以接受读写指令的最小操作单元,是操作系统及应用程序可以访问的扇区,多数情况下其大小为512字节。我们通常所说的扇区一般就是指的逻辑扇区。物理扇区是硬盘底层硬件意义上的扇区,是实际执行读写操作的最小单元。是只能由硬盘直接访问的扇区,操作系统及应用程序一般无法直接访问物理扇区。当要读写某个逻辑扇区时,硬盘底层在实际操作时都会读写逻辑扇区所在的整个物理扇区。

磁盘容量的计算

  • 旧式——非ZBR区位记录(不同磁道扇区数相同)
    存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
    比如上图最右边硬盘容量:6 * 7 * 12 * 512 = 258048 byte
  • 新式——ZBR区位记录(不同磁道扇区数不同)

块(Block)/簇(Cluster)

块/簇两者指的是同一个逻辑上的概念,只是在Linux与Windows中的称呼不同。

  • 块/簇 是操作系统中最小的逻辑存储单位。操作系统与磁盘打交道的最小单位是块/簇。
  • 在Windows下如NTFS等文件系统中叫做簇;在Unix和Linux下如Ext4等文件系统中叫做块(block)。
  • 每个簇或者块可以包括2、4、8、16、32、64…2的n次方个扇区。

块/簇 用来干什么的

磁盘的最小单位是扇区,操作系统使用的是 块/簇 作为IO的基本单位。

  • 读取方便:扇区容量小,数据多会加大寻址难度。操作系统将相邻的扇区组合一起形成块,再对块整体操作
  • 分离对底层的依赖:操作系统忽略对底层物理存储结构的设计。通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位

扇区是对硬盘而言,块是对文件系统而言,出于不同的需要。

查看块/簇的大小

不同文件系统中block的大小不一样。

Windows:(使用管理员命令提示行)
fsutil fsinfo ntfsinfo E:Linux:
stat /home | grep "IO Block"

如下所示,Windows下E盘的Cluster的大小为4Kb大小,如下所示:
在这里插入图片描述

页(Page)

操作系统经常与内存和硬盘这两种存储设备进行通信,类似于“块”的概念,都需要一种虚拟的基本单位。与内存操作,是虚拟一个页的概念来作为最小单位。与硬盘打交道,就是以块为最小单位。

扇区、块/簇、页的关系

  • 扇区: 硬盘的最小读写单元
  • 块/簇: 是操作系统针对硬盘读写的最小单元
  • 页: 是内存与操作系统之间操作的最小单元。
  • 扇区 <= 块/簇 <= 页

http://www.ppmy.cn/news/629737.html

相关文章

磁盘的基础知识

文章目录 磁盘是什么磁盘图鉴详解磁盘与硬盘有什么关系两者的关系硬盘的分类 磁盘的分区分区是什么分区的实质MBR和GPT分区表MBRGPT 为什么要分区 磁盘是什么 磁盘(disk)是指利用磁记录技术存储数据的存储器。 磁盘是计算机主要的存储介质&#xff0c;可以存储大量的二进制数…

什么是磁盘?磁盘的组成?接口和分区?

各位博友&#xff0c;大家好。利用学习期间所学的知识&#xff0c;给大家分享一下本人的一些学习笔记心得。本章介绍一下电脑的主要硬件—磁盘。 一、磁盘介绍 磁盘、硬盘、disk都是属于一个东西。其与内存的区别是容量要远大于内存 。 机械硬盘&#xff08;HDD&#xff09;&am…

磁盘基础知识-磁盘的构成

磁盘是计算机主要的存储设备&#xff0c;也是计算机的主要构成硬件&#xff0c;一切的数据都是存储在磁盘中&#xff0c;因此了解磁盘的结构是非常重要的。 磁盘主要构成要素有盘片、磁头、磁道、扇区、柱面&#xff0c;如下图。 1、盘片 硬盘首先会有多个盘片构成&#xff0c…

普通相机标定——OpenCV函数讲解(上)

计算流程 我们使用OpenCV进行标定算法的开发,这里使用的是OpenCV3.4.6版本。使用OpenCV标定相机的算法流程如下。 Step1.检测之前采集的多张图像中的棋盘格角点像素坐标 Step2.利用棋盘格角点的像素坐标、世界坐标,计算相机的内参、畸变系数 Step3.利用相机的内参…

数据结构---循环链表

数据结构—循环链表 循环单链表 typedef struct LNode {ElemType data;struct LNode* next; }LNode, *LinkList;循环单链表初始化 bool InitList(LinkList &L) {L (LNode*)malloc(sizeof(LNode));if (L NULL) return false;L->next L; //头结点next指向头结点retur…

PE工具清除Windows10笔记本开机密码忘记

1.准备一个2G以上的U盘&#xff0c;下载大白菜之类的制作U盘启动盘&#xff1b; 2.将制作好的U盘启动盘插入到忘记密码的电脑上&#xff0c;重启笔记本&#xff0c;按住F12&#xff0c;选择USBHDD移动到第一位&#xff0c;然后按F10保存退出即可&#xff0c;再重启电脑时U盘就会…

【硬件】显示器接显卡上开机不显示 BIOS 界面,直接进入 windows。显示器接主板上则显示BIOS界面。

【解决方法】 1&#xff09;显示器接主板上&#xff0c; 2&#xff09;修改BIOS设置&#xff1a;Advance > VGA Priority > offboard&#xff0c;如图&#xff0c; 3&#xff09;显示器接回显卡&#xff0c;开机显示 BIOS 界面。

笔记本加装固态安装win10和Ubuntu双系统

安装固态 笔记本拆机加固态 http://www.jb51.net/softjc/469814.html 需要注意的地方是笔记本后改拆下来以后要先把电池的电源断开&#xff0c;装完固态后再把电源的白色插头复位。 固态初始化和分区 http://www.upantool.com/jiaocheng/ssd/2014/6263.html 安装完成后&am…