VB 源码VC 源码ASP源码JSP源码PHP源码CGI源码FLASH源码素材模板C 源程序常用软件文档中心其他程序

安全防范

木马病毒
黑客技术
系统安全
防火墙
安全防范
网络安全

本类阅读TOP10

·双网卡共享上网解析
·在Windows XP中共享上网
·局域网共享资源安全防护大全
·代理服务器使用祥解
·为什么局域网中机器PING通却不能上网?
·用单网卡连接两个网段
·常用端口对照详解
·利用Windows自带ICS功能共享上网
·技巧:多种途径访问局域网中的计算机
·UNICODE、DBCS的一点小知识

精品推荐
浅析硬盘“空间”与“文件大小”秘密

作者:佚名 来源:月光软件站 加入时间:2005-5-12 月光软件站

  在Windows系统中,一个文件的大小(字节数)和它在硬盘上(或其他存储介质上)所占的空间是两个既相互联系又有区别的概念。在不同的情况下,同一个文件的“所占空间”会发生变化。

    1.“文件大小”与“所占空间”的差别

    为了便于大家理解,我们先来看两个例子:

    例1:找到D盘上的Ersave2.dat文件,用鼠标右键单击该文件,选择“属性”,即可打开对话框,我们可以看到,Ersave2.dat的实际大小为655,628 Byte(字节),但它所占用的空间却为688,128 Byte,两者整整相差了32KB。

    例2:同样是该文件,如果将它复制到A盘,你会发现该文件实际大小和所占空间基本一致,同为640KB,但字节数稍有差别。再将它复制到C盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别又不相同了!

    显然,在这三种情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解上述的三种情况了。文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是“簇(Cluster)”。

    小知识:什么是簇?

    文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。

    为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。

    2.分区格式与簇大小

    在例2中,同一个文件在不同磁盘分区上所占的空间不一样大小,这是由于不同磁盘簇的大小不一样导致的。簇的大小主要由磁盘的分区格式和容量大小来决定,其对应关系如表1所示。

    笔者的软盘采用FAT分区,容量1.44MB,簇大小为512 Byte(一个扇区);C盘采用FAT 32分区,容量为4.87GB,簇大小为8KB;D盘采用FAT 32分区,容量为32.3GB,簇大小为32KB。计算文件所占空间时,可以用如下公式:

    簇数=取整(文件大小/簇大小)+1

    所占空间=簇数×磁盘簇大小

    公式中文件大小和簇大小应以Byte为单位,否则可能会产生误差。如果要以KB为单位,将字节数除以1024即可。利用上述的计算公式,可以计算ersave2.dat文件的实际占用空间,如表2所示。

    3.轻松查看簇大小

    ①用Chkdsk查看簇大小

    在Windows操作系统中,我们可以使用Chkdsk命令查看硬盘分区的簇大小。例如我们要在Windows XP下查看C盘的簇大小,可以单击“开始→运行”,键入“CMD”后回车,再键入“C:”后回车,然后输入“Chkdsk”后回车,稍候片刻从它的分析结果中,我们就可以得到C盘的簇大小,不过它把簇称之为“分配单元”或者“Allocation unit”。

    ②用PQ Magic等磁盘工具来检测

    很多磁盘工具都具备磁盘信息显示等功能。例如在PQ Magic中,选择要查看的磁盘分区,然后单击右键选择“高级→调整簇大小”功能,即可从显示的对话框中可以看到该磁盘当前设置的簇大小,如图所示。


    在PQ Magic中查看簇大小

    ③手工查看

    手动创建一个100字节以下的文本文档。然后将该文件复制到欲查看簇大小的磁盘分区中,在Windows下显示该文件的属性,其中“所占空间”处显示的数值就是簇大小。

,



相关文章
  • IIS的十七个常见漏洞
  • IIS001_如何在iis中使用ssl
  • 端口--服务对照(一)
  • 入侵Windows NT
  • 利用CISCO路由器建立企业网络的安全机制
  • 防火墙功能指标详解
  • 端口--服务对照(二)
  • 常用端口对照详解
  • 给邮件一个家—OTG公司发布邮件存储管理软件
  • E-mail存储备份解决方案
  • 安装Win2003 Server下的Snort
  • ISA安装设置全集
  • 漏洞公告:Mail relaying漏洞转发匿名邮件
  • 网络端口及其详解
  • Webmail安全问题莫忽视
  • 从四个方面谈Win 2000的安全设置
  • Checkpoint的安装流程
  • 使用windows脚本入侵WINDOWS服务器
  • DOS攻击原理及常见方法介绍
  • DoS 拒绝服务攻击
  • 相关软件




    月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有