磁盘结构作用数据原理

拓扑图

盘面(side)

模型:

1、磁盘圆形盘面,一个磁盘内含有多个盘面。

2、层叠关系,每个盘面之间不会贴着。

3、第一个盘的正面成为0面,反面为1面;第二个盘正面为2面,反面为3面,以此类推。

4、第一个盘面磁头为0磁头,背面为1磁头..第二个盘正面为2磁头,反面为3磁头,以此类推。

5、一个磁头用于读写数据,盘面数和磁头数是相等的。

作用:

盘面主要作用于划分多个扇区用来存放数据。

磁头(head)

模型:

磁头放置在盘面的上面与下面,磁头是不触碰到盘面本身的,每个盘面会有两个磁头分别代表读与写。

作用:

磁头是在盘面中起到读写数据的作用。

扇区(Sector)

模型:

1、每个磁道上可以存储数KB的数据,但计算机并不需要一次读写这么多数据。在这一这基础上,又把每个磁道划分成若干弧段, 每段称为一个扇区。

2、扇区是分布在盘面的数据分割区,以扇形区分,一个盘面可分多个扇区,扇区大小可根据系统自定义规划。

3、扇区是硬盘上存储的物理单位,每个扇区可存储128×2N次方(N=0,1,2,3)字节的数据。

4、从DOS时代起,每扇区是128×22=512字节,现在已经成了业界不成文的规定,也没有哪个硬盘厂商试图去改变这种约定。

5、即使计算机只需要硬盘上存储的某个字节,也须一次把这个字节所在的扇区中的全部512字节读入内存,再选择所需的那个字节。

6、扇区的编号是从1开始,而不是0

作用:

扇形主要用来存放系统数据。

磁道(Track)

模型:

1、每个盘片的每个盘面被划分成多个狭窄的同心圆环,数据就是存储在这样的同心圆环上,我们将这样的圆环称为磁道每个盘面可以划分多个磁道。

2、在每个盘面的最外圈,离盘心最远的地方是“0”磁道,向盘心方向依次增长为1磁道,2磁道,等等。硬盘数据的存放就是从最外圈开始。

作用:

磁道是磁头访问盘面扇区的隧道,磁盘转起后磁头读取扇区内的数据。

注:磁道再分扇区时,扇区边缘磁道会占用磁盘资源空间。

柱面(Cylinder)

解释:

1、离盘心最远的磁道为0磁道,依此往里为1磁道,2磁道,3磁道....,不同面上相同磁道编号则组成了一个圆柱面,即所称的柱面。

2、硬盘数据的读写是按柱面进行,即磁头读写数据时首先在同一柱面内从0磁头开始进行操作,依次向下在同一柱面的不同盘面( 即磁头上)进行操作,只有在同一柱面所有的磁头全部读写完毕后磁头才转移到下一柱面,因为选取磁头只需通过电子切换即可 ,而选取柱面则必须通过机械切换。电子切换比从在机械上磁头向邻近磁道移动快得多。因此,数据的读写按柱面进行,而不 按盘面进行。 读写数据都是按照这种方式进行,尽可能提高了硬盘读写效率。

簇(Cluster)

解释:

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

硬盘读写数据的过程

现代硬盘寻道都是采用CHS(Cylinder Head Sector)的方式,硬盘读取数据时,读写磁头沿径向移动,移到要读取的扇区所在磁 道的上方,这段时间称为寻道时间(seek time)。因读写磁头的起始位置与目标位置之间的距离不同,寻道时间也不同。目前硬盘一 般为2到30毫秒,平均约为9毫秒。磁头到达指定磁道后,然后通过盘片的旋转,使得要读取的扇区转到读写磁头的下方,这段时间称 为旋转延迟时间(rotational latencytime)

一个7200(转/每分钟)的硬盘,每旋转一周所需时间为60×1000÷7200=8.33毫秒,则平均旋转延迟时间为8.33÷2=4.17毫秒(平均情况下,需要旋转半圈)。平均寻道时间和平均选装延迟称为平均存取时间。

硬盘的容量计算公式:硬盘容量=盘面数×柱面数×扇区数×512字节

磁盘读写数据所花费的时间

在了解了硬盘的基本原理之后,不难推算出,磁盘上数据读取和写入所花费的时间可以分为三个部分。

1.寻道时间

所谓寻道时间,其实就是磁臂移动到指定磁道所需要的时间,这部分时间又可以分为两部分:

寻道时间=启动磁臂的时间+常数*所需移动的磁道数

其中常数和驱动器的的硬件相关,启动磁臂的时间也和驱动器的硬件相关

2.旋转延迟

旋转延迟指的是把扇区移动到磁头下面的时间。这个时间和驱动器的转数有关,我们通常所说的7200转的硬盘的转就是这个。

平均旋转延迟=1/(2*转数每秒)

比如7200转的硬盘的平均旋转延迟等于1/2*120≈4.17ms

旋转延迟只和硬件有关。

3.传输时间

传输时间指的是从磁盘读出或将数据写入磁盘的时间。

这个时间等于:所需要读写的字节数/每秒转速*每扇区的字节数

硬盘软盘区

别软盘的一个磁道中,扇区号一般依次编排,如1号,2号,3号...以此类推。但在硬盘磁道中,扇区号是按照某个间隔跳跃着编排。比 如,2号扇区并不是1号扇区后的按顺序的第一个而是第八个,3号扇区又是2号扇区后的按顺序的第八个,依此类推,这个“八”称为 交叉因子。

其他

注:磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一),可以在 极短的时间内精确定位到计算机指令指定的磁道上。

python读写磁盘扇区数据有什么用_磁盘存放数据原理 - osc_v8xs2czi的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. python 过采样 权重实现_不平衡数据集的处理 - osc_sqq5osi1的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.不平衡数据集的定义 所谓的不平衡数据集指的是数据集各个类别的样本量极不均衡.以二分类问题为例,假设正类的样本数量远大于负类的样本数量,通常情况下通常情况下把多数类样本的比例接近100:1这种情况下 ...

  2. python语言是由谁设计并领导开发的_python语言概述 - osc_lt3ocv4d的个人空间 - OSCHINA - 中文开源技术交流社区...

    python语言的发展 python语言诞生于1990年,由Guide van Rossum设计并领导开发. python语言是开源项目的优秀代表,其解释器的全部代码都是开源的. 编写Hello程序 ...

  3. python 加权随机算法_加权随机算法 - 飞儿飞的个人空间 - OSCHINA - 中文开源技术交流社区...

    加权随机算法一般应用在以下场景:有一个集合S,里面比如有A,B,C,D这四项.这时我们想随机从中抽取一项,但是抽取的概率不同,比如我们希望抽到A的概率是50%,抽到B和C的概率是20%,D的概率是10 ...

  4. python编程代码执行漏洞_代码执行漏洞 - 安全先师的个人空间 - OSCHINA - 中文开源技术交流社区...

    0x00 前言 最近发现的一个新站,不妨试试手. 0x01 基础信息 漏洞点:tp5 method 代码执行,payload如下 POST /?s=captcha_method=__construct ...

  5. python编程题说句心里话_说句心里话 A - osc_6kxooi0n的个人空间 - OSCHINA - 中文开源技术交流社区...

    说句心里话 A ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬ ...

  6. python变量无需指定类型对吗_Python变量类型 - osc_3rgq3dae的个人空间 - OSCHINA - 中文开源技术交流社区...

    变量存储在内存中的值,这就意味着在创建变量时会在内存开辟一个空间. 基于变量的数据类型,解析器会分配指定内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型,这些变量可以存储整数. ...

  7. python 点云重建,点云 表面重建 - osc_0tk7cpde的个人空间 - OSCHINA - 中文开源技术交流社区...

    啊哈 最近在参加一个数学建模的比赛 要求是对一个果子里面的虫洞进行三维模型重建 但是百度之后并没有找到对点云数据直接重建的方法(很少) 整个代码是python写的 里面的各种库似乎有一个是可以做这个的 ...

  8. python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...

    python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...

  9. Linux环境变量隔代,python基础题 - osc_vwtuqll7的个人空间 - OSCHINA - 中文开源技术交流社区...

    47.metaclass作用?以及应用场景? metaclass,直译为元类,简单的解释就是:当我们定义了类以后,就可以根据这个类创建出实例, 所以:先定义类,然后创建实例.但是如果我们想创建出类呢? ...

最新文章

  1. CSS3蓝色宽屏二级下拉菜单DEMO演示
  2. stm32影子寄存器、预装载寄存器,TIM_OC1PreloadConfig和TIM_ARRPreloadConfig的作用
  3. @vue/cli启动异常:ENOENT: no such file or directory, scandir
  4. Redis的设计与实现之跳表
  5. 从0到1简易区块链开发手册V0.3-数据持久化与创世区块
  6. ssh 配置:在 Linux 中 ssh 配置无密码登陆完整步骤以及易错点分析
  7. Code::Blocks 16.01 改变注释的的颜色
  8. vSphere 故障排错思路总结
  9. python气象卫星云图解析_零基础python效率提升资源汇总
  10. 后网盘时代:百度问鼎、阿里紧追、360们跟进
  11. 如何基于IM SDK从零开发移动端聊天功能
  12. Numpy学习07-随机抽样
  13. Daily Scrum Meeting 11.08
  14. FAF世链区块链大会|赤兔云算CTO 杨钧淏:共建区块链生态,创造新财富时代
  15. 安卓(java)计算器简单实现
  16. 学习jQuery框架获取数据的几种基础方式
  17. 快速傅里叶变换FFT C语言实现 可用于嵌入式系统进行模拟采样频谱分析
  18. Hive QL的经典题详解
  19. python做网站开发_如何用Python做网站开发
  20. 学习Unix,可从事什么样的工作(2)《精通Unix下C语言与项目实践》读书笔记(4)...

热门文章

  1. 外媒中国量子计算机,比美国快100亿倍,中国量子计算机赢得霸权!外媒致敬
  2. 【多式联运】基于帝国企鹅算法、遗传算法、粒子群算法求解多式联运路径优化问题附matlab代码
  3. docker 容器 磁盘 10G 限制 大小
  4. C# 获取当前屏幕大小 获取屏幕大小
  5. 蓝桥云课 Python新手入门课 笔记
  6. ubuntu18.04 未发现wifi驱动
  7. Fluke 985粒子计数器是品质的保证
  8. Unity尝试制作王者荣耀(十六)——FightScene(六)小地图以及英雄显示设置
  9. 【问底】徐汉彬:大规模网站架构的缓存机制和几何分形学
  10. 逍遥模拟器过检测_BMS选用什么样的电池模拟器