查看: 3902|回复: 2
收起左侧

[其他] windows文件删除原理(转载请注明出处和作者) 束风一刀

 关闭 [复制链接]
大毛毛狼
发表于 2011-10-19 20:38:14 | 显示全部楼层 |阅读模式

束风一刀是我百度的网名,转载我之前写过的一篇文章到这里。

                               windows文件删除原理(转载请注明出处和作者) 束风一刀

1、windows文件存储
--------------------------------------------------------
windows的文件系统可以按照如下的方式来理解:windows好比一个
大的容器,其中分为很多很多个小格子,计算机在存贮一个文件时,都要首先计算文件的大小要占用多少个这样的小格子,然后腾出来一定的空间,把要存储的文件放入,这就是windows文件存储的方式。

2、磁盘碎片原理
---------------------------------------------------------
windows自带了一个程序叫做磁盘碎片整理程序,虽然windows自己带的版本并不是很好用,又占内存速度又慢,基本上是一无是处。但是原理还是要掌握的。

在windows存储文件删除文件的同时就会留下磁盘碎片,好比说我先放入了一个10个格子的A文件,然后又放入了一个20个格子的B文件。那么我们要删除A文件的时候,系统就会把这10个格子的内容默认成为删除状态,我们在读取一个文件的时候,系统是逐格扫描文件头的,如果找到了,那么就从这个格子开始找齐所有的文件并运行,如果没有找到,那么就继续向下寻找文件头。回到刚才的例子,如果系统删除了A文件,我们在运行B文件的时候,因为A文件删除后它的格子还在,所以系统扫描B的文件头的时候还要扫描A所在的格子,这样就延缓了速度。还有一种情况,如果我们删除了A文件的10个格子以后还想再放入一个30个格子的C文件,那么系统的放入方式是从A被删除的10个格子开始放入C的10个格子,C的另外20个格子要放在B的后面格子中,这样我们运行C的时候,还要再把B扫描一遍,速度自然就慢了。这才是一个删除操作,并且真正的程序也绝对不是占用几百几千个格子就可以的,频繁的复制删除操作后,计算机硬盘的读取速度下降,就是这个原因。

那么磁盘碎片的整理,就是把同一个程序所在的格子放在一起,然后下一个程序空一段内存继续放入,空的那段内存我们称作PSP,中文名字好像是段前缀,这个具体就不讲了吧。整理碎片出了某一些系统问价固定了格子不能动之外,其他可以动的都按照顺序排好了,固定的格子可能会牵扯到很多其他的程序的运行,甚至管理系统的正常运行,所以不能移动位置,就像CS和IP寄存器一样,不能随便乱动的。

如此可见,磁盘碎片可以增加硬盘的访问速度。但是整理磁盘碎片的时候硬盘会告诉旋转,对于硬盘的寿命有影响,所以不建议常做碎片整理,一个月或者两个月整理一次就可以了。

3、文件夹
----------------------------------------------------------
在我们日常使用电脑的过程中,很经常的一个操作就是新建文件夹,然后我们就把属于某一类的文件统统放入这个文件夹里面,那么我们怎样看待文件夹呢?

文件夹,其实是一个虚的概念,他只是一个范围而已。文件夹就是囊括一个文件范围,并不是一个占用内存的文件。比如我们A、H、T三个文件是属于一个文件夹的,那么系统就会把这三个文件囊括到这个文件夹中,三个文件所占用的格子不一定是排在一起的,他们可能都加入了某个相同的文件头,所以系统才会识别它们为相同文件夹下的文件。

平时的有一个现象能说明这一点,那就是同盘复制不占用时间,而异盘复制往往需要时间,一些大的文件体现的更加明显。因为同盘下复制粘贴无非是文件夹囊括内容的改变,我们主要改变的文件夹的囊括范围,而不是文件的存储位置,但是异盘复制我们就要把原来在第一个盘里面的东西占用的格子的内容,全部复制到其他的盘上去,这当然需要一定的时间来传输。

好了,基础的部分讲完了,下面开始说文件删除。

4、文件删除
----------------------------------------------------------
在以往的windows的早期版本中,文件删除就是把某个要删除的文件所占用的格子都清除内容。但是这样做非常不利于数据的恢复。现在windows删除文件并非真正把格子的内容删除,而是文件夹囊括内容的改变!

怎么说?比如我们要删除A文件,占用10个格子,然后ABC三个文件时在一个文件夹下的。我们删除A的时候,其实A所在的格子的内容我们一点也没有删除,就是把原来文件夹囊括的ABC三个文件,改成了BC两个文件而已!那么A到哪里去了?A,依然在硬盘上!A不在原来的文件夹里,那么我们在访问这个文件夹的时候当然看不到A了,我们的意识里面就会注意到:A被删除了。其实,A的内容一点没有少!

那么新的文件存储进来怎么办呢?因为系统已经默认A是删除的了,所以放入新的文件的时候当然会覆盖掉A所在的格子里面的内容。删除状态就意味着A的这些格子是“可用”的,新文件进来的时候就会覆盖原来A所在格子的内容……

这样的好处,就是数据恢复起来比较容易,现在市面上流行的数据恢复软件都是根据这个原理来做的,要恢复数据A的内容,只要是移除新写入文件的内容,那么A的内容,就可以恢复成原样了。

说说很多,其实理解了原理还是很简单的……我们删除文件的时候windows弹出的那个“正在删除”的对话框,其实就是把那些文件所在的格子标记成“可用”而已。所以文件删除比文件写入要快多了,原理不一样么。
LQX375215
发表于 2011-10-20 10:34:41 | 显示全部楼层
所以说没覆盖的话恢复数据还是很简单的
kavb15
发表于 2011-10-20 13:20:09 | 显示全部楼层
说得很形象,通俗易懂,支持。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-5 19:59 , Processed in 0.121963 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表