博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
硬盘的工作原理
阅读量:4918 次
发布时间:2019-06-11

本文共 2815 字,大约阅读时间需要 9 分钟。

一.硬盘的组成                         

 

 

二、硬盘的工作原理

 

磁头靠近主轴接触的表面,即线速度最小的地方,是一个特殊的区域,它不存放任何数据,称为启停区或着陆区(Landing Zone),启停区外就是数据区。在最外圈,离主轴最远的地放是“0”磁道,硬盘数据的存放就是从最外圈开始的。

 

三、盘面、磁道、柱面和扇区

硬盘的读写是和扇区有着紧密关系的。在说扇区和读写原理之前先说一下和扇区相关的”盘面”、“磁道”、和“柱面”。

1.盘面

      硬盘的盘片一般用铝合金材料做基片,高速硬盘也可能用玻璃做基片。

  盘面上分布着许许多多我们肉眼不可见的“磁性粒子”,而这些粒子正是数据的真实载体。由物理知识可知,”磁性粒子“的方向受磁场影响。在强磁场中,“磁性粒子”的指向与磁场方向有关。因此,我们可以通过改变磁场方向来改变“磁性粒子”的方向。由电磁感应原理,我们知道,我们可以通过控制电流方向来改变磁场方向。我们知道计算机是只认识0和1的,刚好电流的方向也只能有两个方向,电流的方向间接决定了”磁性粒子“的方向。“磁性粒子”的两种指向分别代表0和1。这也就解释了磁性粒子可以成为数据的载体。

2.磁道

       磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track)。磁道从外向内从0开始顺序编号。硬盘的每一个盘面有300~1 024个磁道,新式大容量硬盘每面的磁道数更多。

3.柱面

      所有盘面上的同一磁道构成一个圆柱,通常称做柱面(Cylinder),每个圆柱上的磁头由上而下从“0”开始编号。数据的读/写按柱面进行,即磁 头读/写数据时首先在同一柱面内从“0”磁头开始进行操作,依次向下在同一柱面的不同盘面即磁头上进行操作,只在同一柱面所有的磁头全部读/写完毕后磁头才转移到下一柱面,因为选取磁头只需通过电子切换即可,而选取柱面则必须通过机械切换。

4.扇区

      操作系统以扇区(Sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段。

      扇区的第一个主要部分是标识符。包括组成扇区三维地址的三个数字:扇区所在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁 道上的位置即扇区号。

      扇区的第二个主要部分是存储数据的数据段。

四、硬盘的读写原理

系统将文件存储到磁盘上时,按柱面、磁头、扇区的方式进行,即最先是第1磁道的第一磁头下(也就是第1盘面的第一磁道)的所有扇区,然后,是同一柱面的下一磁头,……,一个柱面存储满后就推进到下一个柱面,直到把文件内容全部写入磁盘。

系统也以相同的顺序读出数据。读出数据时通过告诉磁盘控制器要读出扇区所在的柱面号、磁头号和扇区号(物理地址的三个组成部分)进行。

扇区到来时,磁盘控制器读出每个扇区的头标,把这些头标中的地址信息与 期待检出的磁头和柱面号做比较(即寻道),然后,寻找要求的扇区号。待磁盘控制器找到该扇区头标时,根据其任务是写扇区还是读扇区,来决定是转换写电路, 还是读出数据和尾部记录。

五、硬盘文件的删除与恢复

当我们需要从硬盘里面删除某一个文件时,硬盘并不会把数据真正的删除,也就是说当我们删除文件时,并不会把那些存储数据的“磁性粒子”初始化,而只是在文件头作一个标记,表明该文件已经删除,但其实文件的数据还保存在硬盘中,也就意味着我们可以有机会通过数据恢复软件将数据恢复成原来的样子。当然有机会的前提是没有新的数据将原来的数据所在位置给覆盖。

 

六、磁盘碎片的产生

1、磁盘碎片产生的典型过程(例一)

  系统正在向硬盘中写入一个文件,名为“椰子”,该文件体积较大,需要占用5个扇区的空间,因此要完全写入到硬盘当中需要较长的时间。磁头从1号扇区开始顺时针方向写入文件,当2号扇区中的数据写入完时,硬盘接到了一条新的命令—写入文件“葡萄”,文件“葡萄”体积较小,只需占用1个扇区的空间,它被写入到了扇区3当中。

  这样一来,由于3号扇区已经被占用,文件“椰子”剩下的数据就要从4号扇区开始写入,最后,剩下的数据被写入到了4至6号扇区。由于“葡萄”的插队,文件椰子无法储存在连续的扇区当中,被分割开的这两段数据就被称为磁盘碎片。

2、磁盘碎片产生的典型过程(例二)

       例一中的硬盘经过一段时间的使用之后,内部储存的文件发生了一些变化:一个新文件“西瓜”被写入到了硬盘当中,之后文件“葡萄”被删除了。

  这时,硬盘接到了写入文件“桔子”的命令,“桔子”需要占用3个扇区的储存空间。现在硬盘中共有两段不连续的可用空间,但任何一段单独的可用空间都不足以容纳整个“桔子”文件,不得已,“桔子”被拆分为两部分写入硬盘剩余的可用空间中,从而产生了磁盘碎片。

       例一中的情况在下载大文件时十分常见,因为下载文件的过程不需要人为干预,所以一般人在下载文件的过程中都会做一些其它的事情。如:浏览网页、玩游戏等等。浏览网页的过程中浏览器会产生大量的“Internet 临时文件”,玩游戏的过程中游戏程序也可能会产生临时文件,或因内存不足导致操作系统改变了页面文件的大小,这些情况都可能如例一般影响下载中的文件,产生磁盘碎片。实际使用中往往一部电影文件被下载到硬盘中之后会有数千个磁盘碎片。

   例二中的情况是在删除了旧文件、添加新文件时发生的。通常情况下,系统会在对文件来说足够大的第一个连续可用空间上存储文件。如果没有足够大的可用空间,系统会将尽可能多的文件保存在最大的可用空间上,然后将剩余数据保存在下一个可用空间上。因此,除非拥有容量无限大的硬盘,否则,在有限的硬盘空间中进行添加和删除文件的操作就必然会有例二这种产生磁盘碎片的情况发生。当然,较实际需求大的硬盘空间可以减少这种情况的发生。

磁盘碎片对硬盘的危害:

其实我们的文件大多数的时候都是破碎的,在文件没有破碎的时候,摇臂只需要寻找1次磁道并由磁头进行读取,只需要1次就可以成功读取;但是如果文件破碎成11处,那么摇臂要来回寻找11次磁道磁头进行11次读取才能完整的读取这个文件,读取时间相对没有破碎的时候就变得冗长。

七.硬盘的呵护:

当电脑意外宕机或者强制关机时,高速转动的盘面会骤然停止,磁头仍在盘面上读取数据,还未来得及回到启停区,当再次开机时,磁头快速回到启停区,磁头会在盘面上造成划痕,对硬盘造成难以修复的物理伤害。当正常关机时,磁头会慢慢回到起停区,不会对硬盘造成伤害,这也就是为什么我们需要避免强制关机。

 

参考于https://zhuanlan.zhihu.com/p/34915311?utm_source=qq&utm_medium=social&utm_oi=792151558107303936

 

转载于:https://www.cnblogs.com/evil-smile/p/9664965.html

你可能感兴趣的文章
Android设计模式实战---责任链模式
查看>>
剑指Offer_31_整数中1出现的次数(从1到n整数中1出现的次数)
查看>>
10月29日 迅雷会员vip账号分享 91freevip 晚间21:00更新
查看>>
【一题多解】Python 字符串逆序
查看>>
open ball、closed ball 与 open set、closed set(interior point,limit point)、dense set
查看>>
字典(dictionary)与映射(map)
查看>>
Python 编程规范 —— TODO 注释(结合 PyCharm)
查看>>
十万个为什么 —— 名词解释(体育)
查看>>
table的设置(w3c)
查看>>
冲刺一
查看>>
【练习】在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b...
查看>>
python解决上楼梯问题
查看>>
变参宏 __VA_ARGS__
查看>>
sql 语句
查看>>
VUE一 基础语法
查看>>
[MySQl]MySQL忘记密码
查看>>
Android的minSdkVersion,targetSdkVersion,maxSdkVersion
查看>>
Xceed WinForm数据表格控件Xceed Grid For .NET控件详细介绍及下载地址
查看>>
ecos启动流程分析
查看>>
Oracle CASE WHEN 用法介绍
查看>>