当前位置:首页 » 硬盘大全 » 硬盘文件原理
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

硬盘文件原理

发布时间: 2022-06-09 20:27:57

❶ 磁盘储存数据的原理是什么

在网上找的

现在的硬盘,无论是IDE还是SCSI,采用的都是"温彻思特“技术,都有以下特点:1。磁头,盘片及运动机构密封。2。固定并高速旋转的镀磁盘片表面平整光滑。3。磁头沿盘片径向移动。4。磁头对盘片接触式启停,但工作时呈飞行状态不与盘片直接接触。
盘片:硬盘盘片是将磁粉附着在铝合金(新材料也有用玻璃)圆盘片的表面上.这些磁粉被划分成称为磁道的若干个同心圆,在每个同心圆的磁道上就好像有无数的任意排列的小磁铁,它们分别代表着0和1的状态。当这些小磁铁受到来自磁头的磁力影响时,其排列的方向会随之改变。利用磁头的磁力控制指定的一些小磁铁方向,使每个小磁铁都可以用来储存信息。
盘体:硬盘的盘体由多个盘片组成,这些盘片重叠在一起放在一个密封的盒中,它们在主轴电机的带动下以很高的速度旋转,其每分钟转速达3600,4500,5400,7200甚至以上。
磁头:硬盘的磁头用来读取或者修改盘片上磁性物质的状态,一般说来,每一个磁面都会有一个磁头,从最上面开始,从0开始编号。磁头在停止工作时,与磁盘是接触的,但是在工作时呈飞行状态。磁头采取在盘片的着陆区接触式启停的方式,着陆区不存放任何数据,磁头在此区域启停,不存在损伤任何数据的问题。读取数据时,盘片高速旋转,由于对磁头运动采取了精巧的空气动力学设计,此时磁头处于离盘面数据区0.2---0.5微米高度的”飞行状态“。既不与盘面接触造成磨损,又能可靠的读取数据。
电机:硬盘内的电机都为无刷电机,在高速轴承支撑下机械磨损很小,可以长时间连续工作。高速旋转的盘体产生了明显的陀螺效应,所以工作中的硬盘不宜运动,否则将加重轴承的工作负荷。硬盘磁头的寻道饲服电机多采用音圈式旋转或者直线运动步进电机,在饲服跟踪的调节下精确地跟踪盘片的磁道,所以在硬盘工作时不要有冲击碰撞,搬动时要小心轻放

❷ 硬盘数据结构的数据存储原理

1.文件的读取
操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0023。
操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。
2.文件的写入
当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。
3.文件的删除
看了前面的文件的读取和写入,你可能没有往下边继续看的信心了,不过放心,Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动――将目录区的文件的第一个字符改成了E5就表示将改文件删除了。

❸ 请问硬盘是靠什么东西来储存文件的

硬盘存储器的存储介质材料是一种由铝合金材料制成的圆盘,盘的两面也都涂有磁性物质。硬盘存储器由硬盘、硬盘驱动器和控制电路组成。硬盘的记录格式与软盘大体相同,不同的是硬盘由多个盘片组成,将多个盘片固定在一根轴上,盘片可以随轴转动,称为一个盘组。除了每个盘片分为磁道和扇区外,还分为柱面。

❹ 硬盘物理原理

1、一个盘片有上下两接口,所以有两个磁头,这是所谓柱面,一个面分N个环形跑道,这是所谓磁道,一个跑道有N个扇区,而扇区是磁盘的基本储存单位,512字节。外圈跑道比内圈跑道大,外圈扇区密度比内圈稀疏,外圈磁头线速度比内圈快因为角速度恒定。其实磁盘参数:柱面,磁头,磁道,扇区都是逻辑数值!
2、磁头是活动的,根据柱面,磁头,磁道,扇区这些参数去定位读出数据!没什么相等的说法
3、这是文件目录表和FAT表之间换算定位,磁头才能准确找到该文件存在位置

❺ 简述下硬盘的工作原理

硬盘分为机械硬盘与固态硬盘两者,各类型原理如下:

1、机械硬盘

机械硬盘由磁盘、马达和磁头等机械部件组成,当机械硬盘需要读取数据时,磁头需要移动到相应的位置,读取磁盘上的数据,而这个过程是需要时间的,称之为寻道时间和潜伏周期。

2、固态硬盘

固态硬盘的内部构造包括PCB板、主控制器芯片和闪存芯片。其中最基本的单位就是闪存芯片,这是一种非易失性内存芯片,通过充电、放电的方式写入和擦除数据。

(5)硬盘文件原理扩展阅读:

由于HDD在运行时需要转动,所以抗震能力和性能比较弱,而且待机转动时功耗也更高一些(停转除外),读写时会有明显“吱”的声响;由于SSD没有机械结构转动,所以抗震能力很强,性能也更好,同时功耗也低很多,工作时没有声音。

另外容量方面,2.5英寸HDD的容量可以做到最高4TB,主流为1TB和2TB,而SSD即使迎来QLC,目前主流容量还集中在256GB和512GB。SSD是完全可以做大容量的,但由于价格问题,中等容量SSD更容易被接受。

❻ 硬盘存储数据的形式原理是什么

硬盘的数据结构

1.MBR区

MBR(Main Boot Record 主引导记录区)�位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了DPT(Disk Partition Table硬盘分区表)(见表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。(图)

主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.exe)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。

下面,我们以一个实例让大家更直观地来了解主引导记录:

例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00

在这里我们可以看到,最前面的“80”是一个分区的激活标志,表示系统可引导;“01 01 00”表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;“0B”表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07(NTFS);“FE BF FC”表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;“3F 00 00 00”表示首扇区的相对扇区号为63;“7E 86 BB 00”表示总扇区数为12289622。

2.DBR区

DBR(Dos Boot Record)是操作系统引导记录区的意思。它通常位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为例,即是Io.sys和Msdos.sys)。如果确定存在,就把它读入内存,并把控制权 交给该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。DBR是由高级格式化程序(即Format.com等程序)所产生的。

3.FAT区

在DBR之后的是我们比较熟悉的FAT(File Allocation Table文件分配表)区。在解释文件分配表的概念之前,我们先来谈谈簇(Cluster)的概念。文件占用磁盘空间时,基本单位不是字节而是簇。一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64……

同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。由于硬盘上保存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。

为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号。对一个文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。由于FAT对于文件管理的重要性,所以FAT有一个备份,即在原FAT的后面再建一个同样的FAT。初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就不会再使用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。FAT的格式有多种,最为常见的是FAT16和FAT32。

4.DIR区

DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

5.数据(DATA)区

数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间。

磁盘的文件系统
经常听高手们说到FAT16、FAT32、NTFS等名词,朋友们可能隐约知道这是文件系统的意思。可是,究竟这么多文件系统分别代表什么含义呢?今天,我们就一起来学习学习:

1.什么是文件系统?
所谓文件系统,它是操作系统中借以组织、存储和命名文件的结构。磁盘或分区和它所包括的文件系统的不同是很重要的,大部分应用程序都基于文件系统进行操作,在不同种文件系统上是不能工作的。

2.文件系统大家族
常用的文件系统有很多,MS-DOS和Windows 3.x使用FAT16文件系统,默认情况下Windows 98也使用FAT16,Windows 98和Me可以同时支持FAT16、FAT32两种文件系统,Windows NT则支持FAT16、NTFS两种文件系统,Windows 2000可以支持FAT16、FAT32、NTFS三种文件系统,Linux则可以支持多种文件系统,如FAT16、FAT32、NTFS、Minix、ext、ext2、xiafs、HPFS、VFAT等,不过Linux一般都使用ext2文件系统。下面,笔者就简要介绍这些文件系统的有关情况:

(1)FAT16
FAT的全称是“File Allocation Table(文件分配表系统)”,最早于1982年开始应用于MS-DOS中。FAT文件系统主要的优点就是它可以允许多种操作系统访问,如MS-DOS、Windows 3.x、Windows 9x、Windows NT和OS/2等。这一文件系统在使用时遵循8.3命名规则(即文件名最多为8个字符,扩展名为3个字符)。

(2)VFAT
VFAT是“扩展文件分配表系统”的意思,主要应用于在Windows 95中。它对FAT16文件系统进行扩展,并提供支持长文件名,文件名可长达255个字符,VFAT仍保留有扩展名,而且支持文件日期和时间属性,为每个文件保留了文件创建日期/时间、文件最近被修改的日期/时间和文件最近被打开的日期/时间这三个日期/时间。

(3)FAT32
FAT32主要应用于Windows 98系统,它可以增强磁盘性能并增加可用磁盘空间。因为与FAT16相比,它的一个簇的大小要比FAT16小很多,所以可以节省磁盘空间。而且它支持2G以上的分区大小。朋友们从附表中可以看出FAT16与FAT32的一不同。

(4)HPFS
高性能文件系统。OS/2的高性能文件系统(HPFS)主要克服了FAT文件系统不适合于高档操作系统这一缺点,HPFS支持长文件名,比FAT文件系统有更强的纠错能力。Windows NT也支持HPFS,使得从OS/2到Windows NT的过渡更为容易。HPFS和NTFS有包括长文件名在内的许多相同特性,但使用可靠性较差。

(5)NTFS
NTFS是专用于Windows NT/2000操作系统的高级文件系统,它支持文件系统故障恢复,尤其是大存储媒体、长文件名。NTFS的主要弱点是它只能被Windows NT/2000所识别,虽然它可以读取FAT文件系统和HPFS文件系统的文件,但其文件却不能被FAT文件系统和HPFS文件系统所存取,因此兼容性方面比较成问题。

ext2
这是Linux中使用最多的一种文件系统,因为它是专门为Linux设计,拥有最快的速度和最小的CPU占用率。ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上。现在已经有新一代的Linux文件系统如SGI公司的XFS、ReiserFS、ext3文件系统等出现。

小结:虽然上面笔者介绍了6种文件系统,但占统治地位的却是FAT16/32、NTFS等少数几种,使用最多的当然就是FAT32啦。只要在“我的电脑”中右击某个驱动器的属性,就可以在“常规”选项中(图)看到所使用的文件系统。

明明白白识别硬盘编号
目前,电子市场上硬盘品牌最让大家熟悉的无非是IBM、昆腾(Quantum)、希捷(Seagate),迈拓(Maxtor)等“老字号”。而这些硬盘型号的编号则各不相同,令人眼花缭乱。其实,这些编号均有一定的规律,表示一些特定?的含义。一般来说,我们可以从其编号来了解硬盘的性能指标,包括接口?类型、转速、容量等。作为DIY朋友来说,只有自己真正掌握正确识别硬盘编号,在选购硬盘时,就方便得多(以致不被“黑”),至少不会被卖的人说啥是啥。以下举例说明,供朋友们参考。

一、IBM
IBM是硬盘业的巨头,其产品几乎涵盖了所有硬盘领域。而且IBM还是去年硬盘容量、价格战的始作蛹者。我们今天能够用得上经济上既便宜,而且容量又大的硬盘可都得感谢IBM。
IBM的每一个产品又分为多个系列,它的命名方式为:产品名+系列代号+接口类型+盘片尺寸+转速+容量。以Deskstar 22GXP的13.5GB硬盘为例,该硬盘的型号为:DJNA-371350,字母D代表Deskstar产品,JN代表Deskstar25GP与22GP系列,A代表ATA接口,3代表3寸盘片,7是7200转产品,最后四位数字为硬盘容量13.5GB。IBM系列代号(IDE)含义如下:
TT=Deskstar 16GP或14GXP JN=Deskstar 25GP或22GXP RV=Ultrastar 18LZX或36ZX
接口类型含义如下:A=ATA
S与U=Ultra SCSI、Ultra SCSI Wide、Ultra SCSI SCA、增强型SCSI、
增强扩展型SCSI(SCA)
C=Serial Storage Architecture连续存储体系SCSI L=光纤通道SCSI

二、MAXTOR(迈拓)
MAXTOR是韩国现代电子美国公司的一个独立子公司,以前该公司的产品也覆盖了IDE与SCSI两个方面,但由于SCSI方面的产品缺乏竟争力而最终放弃了这个高端市场从而主攻IDE硬盘,所以MAXTOR公司应该是如今硬盘厂商中最专一的了。
MAXTOR硬盘编号规则如下:首位+容量+接口类型+磁头数,MAXTOR?从钻石四代开始,其首位数字就为9,一直延续到现在,所以大家如今能在电子市场上见到的MAXTOR硬盘首位基本上都为9。另外比较特殊的是MAXTOR编号中有磁头数这一概念,因为MAXTOR硬盘是大打单碟容量的发起人,所以其硬盘的型号中要将单碟容量从磁头数中体现出来。单碟容量=2*硬盘总容量/磁头数。
现以金钻三代(DiamondMax Plus6800)10.2GB的硬盘为例说明:该硬盘?型号为91024U3,9是首位,1024是容量,U是接口类型UDMA66,3代表该硬盘有3个磁头,也就是说其中的一个盘片是单面有数据。这个单碟容量就为2*10.2/3=6.8GB。MAXTOR硬盘接口类型字母含义如:
A=PIO模式 D=UDMA33模式 U=UDMA66模式

三、SEAGATE(希捷)
希捷科技公司(Seagate Technology)是世界上最大的磁盘驱动器、磁?盘和读写磁头生产厂家,该公司是一直是IBM、COMPAQ、SONY等业界大户的硬盘供应商。希捷还保持着业界第一款10000转硬盘的记录(積架Cheetah系列SCSI)与最大容量(積架三代73GB)的记录,公司的实力由此可见一斑。但?由于希捷一直是以高端应用为主(例如SCSI硬盘),而并不是特别重视低端家用产品的开发,从而导致在DIY一族心目中的地位不如昆腾等硬盘供应商?。好在希捷公司及时注意到了这个问题,不久前投入市场的酷鱼(Barracuda)系列就一扫希捷硬盘以往在单碟容量、转速、噪音、非正常外频下工作稳?定性、综合性能上的劣势。
希捷的硬盘系列从低端到高端的产品名称分别为:U4系列、Medalist(金牌)系列、U8系列、Medalist Pro(金牌Pro)系列、Barracuda(酷鱼)系列。其中Medalist Pro与Barracuda系列是7200转的产品,其他的是5400转的产品。硬盘的型号均以ST开头,现以酷鱼10.2GB硬盘为例来说明。该硬盘的型号是:ST310220A,在ST后第一位数字是代表硬盘的尺寸,3就是该硬盘采用3寸盘片,如今其他规格的硬盘已基本上没有了,所以大家能够见到?的绝大多数硬盘该位数字均不3,3后面的1022代表的是该硬盘的格式化容量是10.22GB,最后一位数字0是代表7200转产品。这一点不要混淆与希捷以前的入门级产品Medalist ST38420A混淆。多数希捷的Medalist Pro系列开始,以结尾的产品均代表7200转硬盘,其它数字结尾(包括1、2)代表5400转的产品。位于型号最后的字母是硬盘的接口类型。希捷硬盘的接口类型字母含义如下:
A=ATA UDMA33或UDMA66 IDE接口 AG为笔记本电脑专用的ATA接口硬盘。
W为ULTRA Wide SCSI,
其数据传输率为40MB每秒 N为ULTRA Narrow SCSI,其数据传输率为20MB每秒。
而ST34501W/FC和ST19101N/FC中的FC(Fibre Channel)表示光纤通道,可提供高达每秒100MB的数据传输率,并且支持热插拔。

硬盘及接口标准的发展历史
一、硬盘的历史
说起硬盘的历史,我们不能不首先提到蓝色巨人IBM所发挥的重要作用,正是IBM发明了硬盘,并且为硬盘的发展做出了一系列重大贡献。在发明磁盘系统之前,计算机使用穿孔纸带、磁带等来存储程序与数据,这些存储方式不仅容量低、速度慢,而且有个大缺陷:它们都是顺序存储,为了读取后面的数据,必须从头开始读,无法实现随机存取数据。
在1956年9月,IBM向世界展示了第一台商用硬盘IBM 350 RAMAC(Random Access Method of Accounting and Control),这套系统的总容量只有5MB,却是使用了50个直径为24英寸的磁盘组成的庞然大物。而在1968年IBM公司又首次提出了“温彻斯特”Winchester技术。“温彻斯特”技术的精髓是:“使用密封、固定并高速旋转的镀磁盘片,磁头沿盘片径向移动,磁头磁头悬浮在高速转动的盘片上方,而不与盘片直接接触”,这便是现代硬盘的原型。在1973年IBM公司制造出第一台采用“温彻期特”技术制造的硬盘,从此硬盘技术的发展有了正确的结构基础。1979年,IBM再次发明了薄膜磁头,为进一步减小硬盘体积、增大容量、提高读写速度提供了可能。70年代末与80年代初是微型计算机的萌芽时期,包括希捷、昆腾、迈拓在内的许多着名硬盘厂商都诞生于这一段时间。1979年,IBM的两位员工Alan Shugart和Finis Conner决定要开发像5.25英寸软驱那样大小的硬盘驱动器,他们离开IBM后组建了希捷公司,次年,希捷发布了第一款适合于微型计算机使用的硬盘,容量为5MB,体积与软驱相仿。
PC时代之前的硬盘系统都具有体积大、容量小、速度慢和价格昂贵的特点,这是因为当时计算机的应用范围还太小,技术与市场之间是一种相互制约的关系,使得包括存储业在内的整个计算机产业的发展都受到了限制。 80年代末期IBM对硬盘发展的又一项重大贡献,即发明了MR(Magneto Resistive)磁头,这种磁头在读取数据时对信号变化相当敏感,使得盘片的存储密度能够比以往20MB每英寸提高了数十倍。1991年IBM生产的3.5英寸的硬盘使用了MR磁头,使硬盘的容量首次达到了1GB,从此硬盘容量开始进入了GB数量级的时代 。1999年9月7日,迈拓公司(Maxtor)_宣布了首块单碟容量高达10.2GB的ATA硬盘,从而把硬盘的容量引入了一个新里程碑。

二、接口标准的发展
(1)IDE和EIDE的由来
最早的IBM PC并不带有硬盘,它的BIOS及DOS 1.0操作系统也不支持任何硬盘,因为系统的内存只有16KB,就连软驱和DOS都是可选件。后来DOS 2引入了子目录系统,并添加了对“大容量”存储设备的支持,于是一些公司开始出售供IBM PC使用的硬盘系统,这些硬盘与一块控制卡、一个独立的电源被一起装在一个外置的盒子里,并通过一条电缆与插在扩展槽中的一块适配器相连,为了使用这样的硬盘,必须从软驱启动,并加载一个专用设备驱动程序。
1983年IBM公司推出了PC/XT,虽然XT仍然使用8088 CPU,但配置却要高得多,加上了一个10MB的内置硬盘,IBM把控制卡的功能集成到一块接口控制卡上,构成了我们常说的硬盘控制器。其接口控制卡上有一块ROM芯片,其中存有硬盘读写程序,直到基于80286处理器的PC/AT的推出,硬盘接口控制程序才被加入到了主板的BIOS中。
PC/XT和PC/AT机器使用的硬盘被称为MFM硬盘或ST-506/412硬盘,MFM(Modified Frequency Molation)是指一种编码方案,而ST-506/412则是希捷开发的一种硬盘接口,ST-506接口不需要任何特殊的电缆及接头,但是它支持的传输速度很低,因此到了1987年左右这种接口就基本上被淘汰了。
迈拓于1983年开发了ESDI(Enhanced Small Drive Interface)接口。这种接口把编解码器放在了硬盘本身之中,它的理论传输速度是ST-506的2~4倍。但由于成本比较高,九十年代后就逐步被淘汰掉了。
IDE(Integrated Drive Electronics)实际上是指把控制器与盘体集成在一起的硬盘驱动器,这样减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,对用户而言,硬盘安装起来也更为方便。IDE接口也叫ATA(Advanced Technology Attachment)接口。
ATA接口最初是在1986年由CDC、康柏和西部数据共同开发的,他们决定使用40芯的电缆,最早的IDE硬盘大小为5英寸,容量为40MB。ATA接口从80年代末期开始逐渐取代了其它老式接口。
80年代末期IBM发明了MR(Magneto Resistive)磁阻磁头,这种磁头在读取数据时对信号变化相当敏感,使得盘片的存储密度能够比以往的20MB/in2提高数十上百倍。1991年,IBM生产的3.5英寸硬盘0663-E12使用了MR磁头,容量首次达到了1GB,从此硬盘容量开始进入了GB数量级,直到今天,大多数硬盘仍然采用MR磁头。
人们在谈论硬盘时经常讲到PIO模式和DMA模式,它们是什么呢?目前硬盘与主机进行数据交换的方式有两种,一种是通过CPU执行I/O端口指令来进行数据的读写;另外,一种是不经过CPU的DMA方式。
PIO模式即Programming Input/Output Model。这种模式使用PC I/O端口指令来传送所有的命令、状态和数据。由于驱动器中有多个缓冲区,对硬盘的读写一般采用I/O串操作指令,这种指令只需一次取指令就可以重复多次地完成I/O操作,因此,达到高的数据传输率是可能的。
DMA即Direct Memory Access。它表示数据不经过CPU,而直接在硬盘和内存之间传送。在多任务操作系统内,如OS/2、Linux、Windows NT等,当磁盘传输数据时,CPU可腾出时间来做其它事情,而在DOS/Windows3.X环境里,CPU不得不等待数据传输完毕,所以在这种情况下,DMA方式的意义并不大。
DMA方式有两种类型:第三方DMA(third-party DMA)和第一方DMA(first-party DMA)(或称总线主控DMA,Busmastering DMA)。第三方DMA通过系统主板上的DMA控制器的仲裁来获得总线和传输数据。而第一方DMA,则完全由接口卡上的逻辑电路来完成,当然这样就增加了总线主控接口的复杂性和成本。现在,所有较新的芯片组均支持总线主控DMA。
(2)SCSI接口
(Small Computer System Interface小型计算机系统接口)是一种与ATA完全不同的接口,它不是专门为硬盘设计的,而是一种总线型的系统接口,每个SCSI总线上可以连接包括SCSI控制卡在内的8个SCSI设备。SCSI的优势在于它支持多种设备,传输速率比ATA接口快得多但价格也很高,独立的总线使得它对CPU的占用率很低。 最早的SCSI是于1979年由美国的Shugart公司(Seagate希捷公司的前身)制订的,90年代初,SCSI发展到了SCSI-2,1995年推出了SCSI-3,其俗称Ultra SCSI, 1997年推出了Ultra 2 SCSI(Fast-40),其采用了LVD(Low Voltage Differential,低电平微分)传输模式,16位的Ultra2SCSI(LVD)接口的最高传输速率可达80MB/S,允许接口电缆的最长为12米,大大增加了设备的灵活性。1998年,更高数据传输率的Ultra160/m SCSI(Wide下的Fast-80)规格正式公布,其最高数据传输率为160MB/s,昆腾推出的Atlas10K和Atlas四代等产品支持Ultra3 SCSI的Ultra160/m传输模式。
SCSI硬盘具备有非常优秀的传输性能。但由于大多数的主板并不内置SCSI接口,这就使得连接SCSI硬盘必须安装相应的SCSI卡,目前关于SCSI卡有三个正式标准,SCSI-1,SCSI-2和SCSI-3,以及一些中间版本,要使SCSI硬盘获得最佳性能就必须保证SCSI卡与SCSI硬盘版本一致(目前较新生产的SCSI硬盘和SCSI卡都是向前兼容的,不一定必须版本一致)。
(3)IEEE1394:IEEE1394又称为Firewire(火线)或P1394,它是一种高速串行总线,现有的IEEE1394标准支持100Mbps、200Mbps和400Mbps的传输速率,将来会达到800Mbps、1600Mbps、3200Mbps甚至更高,如此高的速率使得它可以作为硬盘、DVD、CD-ROM等大容量存储设备的接口。IEEE1394将来有望取代现有的SCSI总线和IDE接口,但是由于成本较高和技术上还不够成熟等原因,目前仍然只有少量使用IEEE1394接口的产品,硬盘就更少了。

❼ 硬盘为什么可以存储数据,物理原理是什么

硬盘存储原理

硬盘是一种采用磁介质的数据存储设备,数据存储在密封于洁净的硬盘驱动器内腔的若干个磁盘片上。这些盘片一般是在以铝为主要成分的片基表面涂上磁性介质所形成,在磁盘片的每一面上,以转动轴为轴心、以一定的磁密度为间隔的若干个同心圆就被划分成磁道(track),每个磁道又被划分为若干个扇区(sector),数据就按扇区存放在硬盘上。在每一面上都相应地有一个读写磁头(head),所以不同磁头的所有相同位置的磁道就构成了所谓的柱面(cylinder)。传统的硬盘读写都是以柱面、磁头、扇区为寻址方式的(CHS寻址)。硬盘在上电后保持高速旋转(5400转/min以上),位于磁头臂上的磁头悬浮在磁盘表面,可以通过步进电机在不同柱面之间移动,对不同的柱面进行读写。所以在上电期间如果硬盘受到剧烈振荡,磁盘表面就容易被划伤,磁头也容易损坏,这都将给盘上存储的数据带来灾难性的后果。
硬盘的第一个扇区(0道0头1扇区)被保留为主引导扇区。在主引导区内主要有两项内容:主引导记录和硬盘分区表。主引导记录是一段程序代码,其作用主要是对硬盘上安装的操作系统进行引导;硬盘分区表则存储了硬盘的分区信息。计算机启动时将读取该扇区的数据,并对其合法性进行判断(扇区最后两个字节是否为0x55AA或0xAA55 ),如合法则跳转执行该扇区的第一条指令。所以硬盘的主引导区常常成为病毒攻击的对象,从而被篡改甚至被破坏。可引导标志:0x80为可引导分区类型标志;0表示未知;1为FAT12;4为FAT16;5为扩展分区等等。

硬盘数据结构
初买来一块硬盘,我们是没有办法使用的,你需要将它分区、格式化,然后再安装上操作系统才可以使用。就拿我们一直沿用到现在的Win9x/Me系列来说,我们一般要将硬盘分成主引导扇区、操作系统引导扇区、FAT、DIR和Data等五部分(其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加)。
主引导扇区
主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以80H或00H为开始标志,以55AAH为结束标志,共64字节,位于本扇区的最末端。值得一提的是,MBR是由分区程序(例如DOS 的Fdisk.exe)产生的,不同的操作系统可能这个扇区是不尽相同。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)。
操作系统引导扇区
OBR(OS Boot Record)即操作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表。其实每个逻辑分区都有一个OBR,其参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一个文件读入内存,并把控制权交予该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(Allocation Unit,以前也称之为簇)的大小等重要参数。OBR由高级格式化程序产生(例如DOS 的Format.com)。
--------------------------------------------------------------------------------

文件分配表

FAT
FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统,为了数据安全起见,FAT一般做两个,第二FAT为第一FAT的备份, FAT区紧接在OBR之后,其大小由本分区的大小及文件分配单元的大小决定。关于FAT的格式历来有很多选择,Microsoft 的DOS及Windows采用我们所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非没有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。
目录区
DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后,只有FAT还不能定位文件在磁盘中的位置,FAT还必须和DIR配合才能准确定位文件的位置。DIR记录着每个文件(目录)的起始单元(这是最重要的)、文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。在DIR区之后,才是真正意义上的数据存储区,即DATA区。
数据区
DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,至于分区硬盘,也只是修改了MBR和OBR,绝大部分的DATA区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破坏的话,也足够咱们那些所谓的DIY老鸟们忙乎半天了……需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使MBR/FAT/DIR全部坏了,我们也可以使用磁盘编辑软件(比如DOS下的DiskEdit),只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复(当然了,这需要一个前提,那就是你没有覆盖这个文件……)。
硬盘分区方式
我们平时说到的分区概念,不外乎三种:主分区、扩展分区和逻辑分区。
主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其它逻辑磁盘。
扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据。操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的应用,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。
所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。
需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失。
数据存储原理
既然要进行数据的恢复,当然数据的存储原理我们不能不提,在这之中,我们还要介绍一下数据的删除和硬盘的格式化相关问题……
文件的读取
操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0023。
操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。
文件的写入
当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。
文件的删除
看了前面的文件的读取和写入,你可能没有往下边继续看的信心了,不过放心,Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动――将目录区的文件的第一个字符改成了E5就表示将改文件删除了。
Fdisk和Format的一点小说明
和文件的删除类似,利用Fdisk删除再建立分区和利用Format格式化逻辑磁盘(假设你格式化的时候并没有使用/U这个无条件格式化参数)都没有将数据从DATA区直接删除,前者只是改变了分区表,后者只是修改了FAT表,因此被误删除的分区和误格式化的硬盘完全有可能恢复……

❽ 硬盘工作的引导原理和依据是什么

硬盘存储原理

硬盘是一种采用磁介质的数据存储设备,数据存储在密封于洁净的硬盘驱动器内腔的若干个磁盘片上。这些盘片一般是在以铝为主要成分的片基表面涂上磁性介质所形成,在磁盘片的每一面上,以转动轴为轴心、以一定的磁密度为间隔的若干个同心圆就被划分成磁道(track),每个磁道又被划分为若干个扇区(sector),数据就按扇区存放在硬盘上。在每一面上都相应地有一个读写磁头(head),所以不同磁头的所有相同位置的磁道就构成了所谓的柱面(cylinder)。传统的硬盘读写都是以柱面、磁头、扇区为寻址方式的(CHS寻址)。硬盘在上电后保持高速旋转(5400转/min以上),位于磁头臂上的磁头悬浮在磁盘表面,可以通过步进电机在不同柱面之间移动,对不同的柱面进行读写。所以在上电期间如果硬盘受到剧烈振荡,磁盘表面就容易被划伤,磁头也容易损坏,这都将给盘上存储的数据带来灾难性的后果。
硬盘的第一个扇区(0道0头1扇区)被保留为主引导扇区。在主引导区内主要有两项内容:主引导记录和硬盘分区表。主引导记录是一段程序代码,其作用主要是对硬盘上安装的操作系统进行引导;硬盘分区表则存储了硬盘的分区信息。计算机启动时将读取该扇区的数据,并对其合法性进行判断(扇区最后两个字节是否为0x55AA或0xAA55 ),如合法则跳转执行该扇区的第一条指令。所以硬盘的主引导区常常成为病毒攻击的对象,从而被篡改甚至被破坏。可引导标志:0x80为可引导分区类型标志;0表示未知;1为FAT12;4为FAT16;5为扩展分区等等。

硬盘数据结构
初买来一块硬盘,我们是没有办法使用的,你需要将它分区、格式化,然后再安装上操作系统才可以使用。就拿我们一直沿用到现在的Win9x/Me系列来说,我们一般要将硬盘分成主引导扇区、操作系统引导扇区、FAT、DIR和Data等五部分(其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加)。
主引导扇区
主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以80H或00H为开始标志,以55AAH为结束标志,共64字节,位于本扇区的最末端。值得一提的是,MBR是由分区程序(例如DOS 的Fdisk.exe)产生的,不同的操作系统可能这个扇区是不尽相同。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)。
操作系统引导扇区
OBR(OS Boot Record)即操作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表。其实每个逻辑分区都有一个OBR,其参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一个文件读入内存,并把控制权交予该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(Allocation Unit,以前也称之为簇)的大小等重要参数。OBR由高级格式化程序产生(例如DOS 的Format.com)。

文件分配表

FAT
FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统,为了数据安全起见,FAT一般做两个,第二FAT为第一FAT的备份, FAT区紧接在OBR之后,其大小由本分区的大小及文件分配单元的大小决定。关于FAT的格式历来有很多选择,Microsoft 的DOS及Windows采用我们所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非没有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。
目录区
DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后,只有FAT还不能定位文件在磁盘中的位置,FAT还必须和DIR配合才能准确定位文件的位置。DIR记录着每个文件(目录)的起始单元(这是最重要的)、文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。在DIR区之后,才是真正意义上的数据存储区,即DATA区。
数据区
DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,至于分区硬盘,也只是修改了MBR和OBR,绝大部分的DATA区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破坏的话,也足够咱们那些所谓的DIY老鸟们忙乎半天了,需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使MBR/FAT/DIR全部坏了,我们也可以使用磁盘编辑软件(比如DOS下的DiskEdit),只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复(当然了,这需要一个前提,那就是你没有覆盖这个文件)。
硬盘分区方式
我们平时说到的分区概念,不外乎三种:主分区、扩展分区和逻辑分区。
主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其它逻辑磁盘。
扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据。操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的应用,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。
所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。
需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失。
数据存储原理
既然要进行数据的恢复,当然数据的存储原理我们不能不提,在这之中,我们还要介绍一下数据的删除和硬盘的格式化相关问题
文件的读取
操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0023。
操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。
文件的写入
当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。
文件的删除
看了前面的文件的读取和写入,你可能没有往下边继续看的信心了,不过放心,Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动――将目录区的文件的第一个字符改成了E5就表示将改文件删除了。
Fdisk和Format的一点小说明
和文件的删除类似,利用Fdisk删除再建立分区和利用Format格式化逻辑磁盘(假设你格式化的时候并没有使用/U这个无条件格式化参数)都没有将数据从DATA区直接删除,前者只是改变了分区表,后者只是修改了FAT表,因此被误删除的分区和误格式化的硬盘完全有可能恢复。
硬盘修复软件 Partition Magic

❾ 硬盘是如何存储和读取零碎的文件的

如果数据量不是很大(G级别以下),文件不是特别零碎,可以直接存在硬盘上。
但是如果数据量已经/可能超过T级别,或者文件小且零碎,建议还是放在HDFS等分布式文件系统上。
我存储爬虫的html以及图片数据,是通过HDFS的MapFile格式存储的。MapFile是个已排序的键值对文件格式,我的键采用的是url的hash+采集时间,值就是文件内容。并且封装了原生的MapFile.Reader实现了读取和一定程度的缓存(目前只用了LRU)。
在HDFS提倡一次写入,多次读取的前提下,文件的更新只能是通过失效旧,使用新的策略。即把旧的元数据标记为失效,插入新的元数据,并把更新的文件写入HDFS。读取是通过新的元数据定位到文件。同时,要定期的清除已失效的文件,即把未失效的元数据读出来,将对应的文件写到新的MapFile,删除旧的MapFile,即可实现物理删除。
当然还可以使用HBase。HBase是面向列的,二进制存储的,可横向拓展的NoSQL。可以把不大于64M的数据作为单元格数据直接写进去。但是有一定的学习成本,而且对集群的硬件要求比较

❿ 文件是以怎样的形式(原理)保存在硬盘里的

从原理上讲,硬盘保存文件就如同录音磁带、录像磁带保存音频视频一样,都是磁记录,无非一个是运动的磁带,一个是旋转的磁盘。
从形式上说,无论什么性质的文件,保存到磁盘上的最终形式都是一连串的二进制数据,也就是类似于00010010101101001111001这样的数据。