【技术分享】[硬件] 下载速度过快会损伤硬盘吗?
这是我从其他网站上看到的,原始出处已不可考,复制过来分享给和我一样的新手们:BT是这么一个东西:
首先你弄一个网络服务器, 在上面运行一个称之为 BT Tracker 的BT服务程序, 这个程序的作用是把下载同一个
文件的大量主机有机地联系起来, 具体过程是这样的:先用一个完整的待下载的文件联合相应的Tracker服务器地
址生成一个元信息文件(既.torrent文件), 这个.torrent采用B编码的格式生成, B编码就是一种简单高效可扩展的
格式拉, 具体规则就不详细说了. 一个.torrent文件包括了:announce(声明), Tracker的URL和info(信息).
其中announce就是声明这是一个.torrent文件, Tracker的URL就是告诉主机如何找到这个Tracker服务器, 而
信息则是说明待下载文件的一些信息. 先说明一下BT下载的文件是被分成了很多大小相同的块的, 这些块的大小是
2的幂, 随文件增大而增加, 比如:32K, 128K, 512K等等, 在.torrent文件的信息中就包括了所划分块的大小, 另
外还包括单个文件名和长度等信息, 最后有一个可划分的长字符串用来验证各个块的索引, 也就是让大家都知道某
个块的索引(也可以管它叫编号)具体对应待下载文件中的哪个部分, 并保证对应正确.
好了, 现在.torrent文件有了, 你找个地方把它放上去, 再加上相应的说明(**,**之类的东东), 然后某个想下
这个文件的人看见了, 于是他先下载了.torrent文件, 然后用BitComet等BT客户程序打开----哦, 这里必须要有一
个种子(即拥有完整文件的人)连接在服务器上------ 客户程序会解析.torrent文件, 然后根据其中的地址信息来向
Tracker服务器发送一个连接请求, 服务器收到后, 先用一个基于http协议的GET请求来得到下载者的信息, 包括:
验证码, peer_id(一个20字节长的字符串,是每个用户开始新下载时随机生成的ID。这个值也必须是自动转换
的。), ip, 端口号, 总上传量, 总下载量, 剩余文件的大小等等, 在得到下载者传来的这些信息后, 服务器会返回一
个应答, 包括出错信息(如果发生错误), interval(间隔)对应下载者定期发出请求的间隔秒数;peers列表, 就是
从当前连接到服务器的所有用户列表中随机挑出的一部分.
接下来用户得到了Tracker的回应(也是采用B编码的格式传递的), BT客户程序解析这个回应, 从中得到peers
列表, 并根据这个表中提供的信息(其他下载者的ip和端口号等), 通过peer协议(基于TCP协议)对其他下载者发送
连接请求(具体是先把文件分块, 然后排队, 再发送这个请求队列), 经过一系列的验证(麻烦, 不说了), 最终完成了
连接的建立, 接下来就是数据的传输了, 只下载自己没有的块, 并将已完成的块传给别人. 这里有两个状态:关注和
堵塞, 关注某个下载者就是你希望可以从他那里下东西, 而堵塞某个下载者则是在一段时间内不传数据给他, 只有
在你关注A, 并且A不堵塞你时, 你才可以从A那里下载.
具体关注哪个下载者, 堵塞哪个, 连接多少等等算法由BT客户程序决定, 也有些允许你自己进行相应的定制. 这里
就不说了.
以上, 你已经对BT有个基本的了解了, 下面我们来看看BT对硬盘的影响.
硬盘的最最最基本的工作原理这里就不说了, 随便搜一下看看就明白了.
我们先来明确一下硬盘为什么会损坏:
硬盘的主要是由盘片, 磁臂+读写磁头, 转轴, 机械臂杆组成.
1, 硬盘不工作时, 读写磁头停在盘片上的着陆区, 着陆区没有任何数据, 这时磁头和盘片是接触的, 但是一通电,
转轴就开始带动盘片作高速旋转, 此时磁头采用传说中的空气动力学原理, 飞行在盘片上方, 绝对不会与盘片接
触, 在所谓的"热胀"效应下也是如此, 原因还是由于那个"空气动力学", 虽然我也不太明白到底是怎么回事. 但
是, 如果在硬盘工作时受到了外力的撞击, 可能会导致磁头和盘片发生碰撞, 一般来说, 如果不幸来了这么一
下, 你的硬盘就彻底完蛋了.
2, 由于磁头读写数据是通过改变磁头电流大小来实现的(这里读和写的过程有着相当的差异, 为了方便才放到一
起说), 频繁读写所导致的不断变化的电流会使磁头老化, 但这也在它的正常寿命范围内.
3, 发热问题, 首先是转轴电机和寻道饲服电机的旋转,硬盘的温度主要是因为这个。 其次,高速旋转的盘体和
空气之间的摩擦。这个也是主要因素。 而硬盘的读写呢?很遗憾,它的发热量可以忽略不记! 硬盘的读操作,是
盘片上磁场的变化影响到磁头的电阻值,这个过程中盘片不会发热,磁头倒是因为电流发生变化,所以会有一点热
量产生。 写操作呢?正好反过来,通过磁头的电流强度不断发生变化,影响到盘片上的磁场,这一过程因为用到
电磁感应,所以磁头发热量较大。但是盘片本身是不会发热的,因为盘片上的永磁体是冷性的,不会因为磁场变
化而发热。 总的来说,磁头的发热量和前面两个比起来,是小巫见大巫了。 热量是可以辐射传导的,那么高热
量对盘片上的永磁体会不会有伤害呢?其实伤害是很小的,永磁体消磁的温度,远远高于硬盘正常情况下产生的
温度。当然,要是你的机箱散热不好,那可就怪不了别人了. 受高温影响的最严重的是机械的电路,特别是硬盘外
面的那块电路板,上面的集成块在高温下会加速老化的。
4, 至于频繁地旋转和寻道对机械臂和转轴以及其中的电机所造成的磨损, 对机械来说这点耗损虽有,但其实不
大。除非你的硬盘本身就有机械故障比如力臂变形之类的.
再下来就是BT对硬盘的影响了. 我们将会看到用BT下载时的速度在这里究竟扮演了一个什么样的角色. 限速到底
是用来干什么的.
当你一接通电源,硬盘就开始转动,损耗也就同时开始了,然后你在电脑上面进行各种操作,磁头不断的寻
道,旋转等待,读写数据.
一般而言,对于以上的情景我们不会把硬盘的损耗单独拿出来强调,并不认为这是一种有"威胁"的行为,
因为在我们的潜意识里,这些损耗是正常的,是不可避免的.
与之相反:震动,灰尘,意外断电,机箱散热差等这些因素可以减少硬盘的正常使用寿命,最坏情况下甚至
可能把硬盘一击KO.而这些损耗是额外的,是不正常的,是有威胁的,是可避免的.
现在问题清楚了,只要弄明白BT所带来的硬盘损耗是属于以上两种情况中的哪一种,"BT是否伤害硬盘"这
个问题的答案也就出来了.
无论你在电脑上干什么,对硬盘来说,它只是简单的进行盘片旋转,磁头寻道,磁头读数据,磁头写数据这
几个动作,损耗也同时伴随着它们而产生,下面我们将对这些动作一一进行分析.
为了更形象的看到BT对硬盘的影响,我们将会拿BT和传统意义上的"无害"的FTP下载做个比较.
1,盘片旋转:
这是产生高温的主要因素,当你接通电源后,盘片便时刻不停的进行高速旋转,这和你在计算机上进行的操
作是无关的,无论你干什么,硬盘都自顾自的旋转,对于BT和FTP来说,这是完全相同的.
2,磁头写数据:
无论是BT还是FTP, 只要你下载的文件大小相同,那么文件在硬盘上所占的空间也就相同,那么用同样大小的
数据填满这些空间所造成的磁头操作---磁头写 的次数也就完全相同.(这里有意忽略了数据错误带来的重
复写,因为与整体磁头写相比,这个影响并不大.)
3,磁头读数据:
对于传统的FTP来说,下载文件中几乎不存在磁头读(之所以说是"几乎",是因为在创建新的下载文件的过
程中会从硬盘读入相应的目录信息,同样这个动作可以忽略).
而BT则不同了,由于BT是双向的数据传输,不但下载数据,还要上传数据,这就会产生 读硬盘数据---
经过一系列处理---封装成网络数据祯---发送给其他下载者,因此BT所产生的 磁头读 的次数要大于
FTP,具体次数和你上传的数据总量相关,上传的越多,读硬盘的次数也就越多.因此从纯机械的角度来讲,在上
传时间相同的情况下,限制上传速度确实比不限速对硬盘造成的损耗要小.但要是限速太低,那就会产生更大问
题---RPC,当前世界对这种疾病尚无有效的治疗办法.
好了,让我们回到正题,上文已经说了与FTP相比,BT会带来额外的磁头读操作,但一般而言,BT同时也会
带来比FTP更快的下载速度,这就面临着一个取舍的问题,你不能奢望鱼身上长出熊掌来,必须择其一而从之,就
我个人的看法,额外读所造成的损耗是完全可以接受的,它依然能使硬盘的寿命保持在一个相当长的可接受的数
字,并不会造成急剧的损耗,而下载速度我是很看重的.
*新闻插播*:磁头读写的次数与下载/上传速度没有直接联系,只由下载的数据总量和上传的数据总量决
定,纯粹的读或写并不会造成太大的损耗,主要损耗是由于频繁地进行读写交叉,即一会读一会写,这会使得磁
头电流不断变化,造成磁头老化.下面会对在BT中解决这个问题的方法做一些简要介绍.
4,磁头寻道:
寻道就是指磁头从一个磁道(柱面)移动到另一个磁道(柱面).频繁寻道所带来主要问题是IO效率大大下
降,磁头读/写数据的速度是非常快的,时间主要浪费在寻道和旋转等待上.寻道令机械臂移动,通常而言其产
生的机械耗损是可以忽略的.
什么时候才会产生寻道呢?我们知道,文件是以数据块的形式存储在硬盘上的,每个数据块包括1个或多个
硬盘扇区,具体大小由相应的文件系统决定,比如对于Linux的ex2文件系统的当前版本而言,一个数据块包含了
8个连续扇区(我们目前使用的硬盘普遍单个扇区大小是512B),因此当你新建一个文件时,哪怕这个文件只
有1个字节,操作系统也会给它分配一个完整的数据块,既512B * 8 = 4096字节的磁盘空间.至于为什么要这
样做实在没办法在这里说清楚,有兴趣的话可以自己去找资料看看.
上面说了数据块的概念,需要理解的是虽然逻辑上一个文件所包含的数据块是连续的,但是在物理磁盘上数
据块的分布很可能是不连续的.比如一个包含了4个数据块的文件,很可能它的第1块和第2块是连续的扇区;
第3块是在与前两块相同的磁道上,但是间隔了数个扇区;第4块是在别的磁道上(也许说别的柱面上会更严谨
一些).那么当你顺序读取这个文件时,首先找到第一块在磁盘上的位置,开始进行磁头读,同时盘面在不停的
旋转,当读完第一块时,盘面已经旋转到了第二块的起始位置,于是磁头可以马上进行对第二块的数据读取,现
在第二块也读完了,盘面旋转到了第二块的末尾,由于第三块并不在接下来的扇区内,因此无法立即读取数据,
只能等待盘面旋转到第三块的开头(这个等待时间比读取数据时间大了几个数量级),然后读第三块,读完,注
意:到现在为止并没有发生磁头的寻道行为.Now is the time for the forth block,磁盘控制器发现第四块并
不在当前磁头所在的柱面,于是操纵机械臂使磁头移动,最终定位到第四块所在的磁道(恐怖的时间消耗),然
后继续等待盘面旋转到第四块的起始扇区(当然,运气够好的话,磁头移动完成后的位置可能刚好就是我们要找
的地方),再开始读取数据.
简单说一下吧,bt下载的损耗主要在于读取操作上。
为什么有些人bt下载挂机一晚上就有了噪音,两年硬盘就挂掉了呢?首先,硬盘是的确会损坏的,所谓的坏道,既然是磁体,那么你家里的磁带会不会坏掉呢?硬盘是磁盘,一样会坏掉,只不过正常使用下5年之内不必担心丢失数据问题,当然5年之后硬盘容量翻了好几番你也该换盘了啦!
为什么bt应用不当就造成硬盘挂掉呢?因为迅雷和flashget这种伪bt软件大量读取硬盘数据造成的,就是这些吸血鬼(特指迅雷)用传统方式访问你磁盘上的文件,一个用户访问的时候还可以啦,如果10个用户呢?50个用户呢?A说我要下A,B说我要下B,……然后你的硬盘就一一要满足他们的要求,于是……
解决方法:1.加大缓存,就是把原本硬盘上的上传资料放在内存里让迅雷们去读,这样就避免了磁盘损耗,内存条是不可能读坏掉的(人品差和山寨大王闪开)
2.屏蔽迅雷,当然我不是针对迅雷啦,我上外网也用这东西((*^__^*) 嘻嘻……),但是外网网速慢,传播速度有限,这样,即使100个用户访问你硬盘,你带宽只有100K,随他们搞去。但是校内ivp6带宽最大有10M/s下载速度(我见过有人下载速度有11M的,哇塞),这样如果迅雷们来搞你硬盘肯定吃不消。所以如果用utorrent的话,把设置——任务里的允许旧式链接选项去掉,再启用协议加密,这样就可以做到非诚勿扰啦!
3.给一个参考,我内存条2G,ut的缓存设置为1.2G。呵呵,这样硬盘损耗就很小了,还有,我两硬盘,160G*2,入门级,不过这样ms比较好。
4.储存介质的寿命排列是这样的,由短到长:山寨U盘(5次读写以内)——磁带——硬盘(可以保存到下一代硬盘出来为止)——U盘(百万次)——光盘(理论上和塑料的寿命是一样样的)——内存条(不是很了解,不过这个东西即使寿命短也无所谓啦)。
我是半菜鸟,有不对的地方欢迎指正。还有关于计算机的初级知识,我建议大家去看上海版的计算机中级教程,里面东西可详细可复杂了。都是原理的东西,现在都淘汰了,我初中时候读的,囧。
山寨U盘,还有这货。不过我有个U盘写入速度才1M,悲剧 BT同时也会带来比FTP更快的下载速度
看到这句就不想看了 转载好歹也排版一下吧 这排版谁会去看啊 ”这就面临着一个取舍的问题,你不能奢望鱼身上长出熊掌来,必须择其一而从之,就
我个人的看法,额外读所造成的损耗是完全可以接受的,它依然能使硬盘的寿命保持在一个相当长的可接受的数
字,并不会造成急剧的损耗“ 知名不具 发表于 2012-11-30 16:52 static/image/common/back.gif
”这就面临着一个取舍的问题,你不能奢望鱼身上长出熊掌来,必须择其一而从之,就
我个人的看法,额外读 ...
损耗处于可忽略范围之内。 快,你的网速能有多快?硬盘保修三年,三年内坏掉保修回来,卖 了加点钱再买块新的
页:
[1]