zoukankan      html  css  js  c++  java
  • 『轉』windows文件的占用空间与文件大小

    轉自: http://hi.baidu.com/344847199/blog/item/e429d7c47142eec339db4983.html

    windows操作系统对磁盘采用分页管理方式,最小分页大小为4kb,也就是如果你的硬盘假设有100GB,那么,你的分页的个数是:(100×1000×1000)/4 个,
    當然了,你放入一个字符,只有1个字节的,但是他要分配到一个空间,而这个空间利用一个页大小就可以装得下,那么由于最小分页大小就是4kb,所以提示占用空间为4kb,实际大小占用一个字节
    查看你硬盘上的一个任意非空目录或者非空文件的属性,看到大小有2个数值:一个叫大小,也就是文件的大小;另外一个叫占用空间,就是占用的硬盘空间。 
    占用空间肯定大于等于文件大小,因为硬盘的最小单位是簇,任何文件再小也不会小于一簇,默认磁盘一簇一般是4KB。

    可以把硬盘看成一个码头
    码头有几个仓库,仓库里有很多箱子用来装文件
    码头:相当于整块硬盘
    仓库:相当于硬盘的分区(C: D: E:),严格来讲应该叫逻辑分区,因为还有扩展分区
    箱子:相当于cluster(簇,最小存储单元)
    文件:相当于.txt .rar *.*等
    不同的文件存储方法(FAT16, FAT32, NTFS)决定箱子的大小:
    一般来讲,文件存储方法要求:
    ◎小仓库用小箱子装文件
    ◎大仓库用大箱子装文件
    ◎一个文件可以装到不同的箱子里
    ◎两个文件不能装在同一个箱子里
    为什么两个文件不能放到同一个箱子?
    个人理解是如果装到同一个箱子,不好找(寻址)文件。
    关于sector(分区), track(磁道)等这些都是用来实现箱子的,不用去深究了
    比如FAT32:
    8GB以下的仓库(分区),箱子的大小为4kB
    8GB~16GB的仓库,箱子的大小为8kB
    16GB~32GB的仓库,箱子的大小为16kB
    32GB以上的仓库,箱子的大小为32kB
    如果是8GB以下的分区:
    比如楼主的文件大小只有1个字节,但是要独占一个箱子,
    因此就要占4kB。
    也有可能有人会问,我的分区是40GB
    怎么1字节的文件也占4kB,为什么不是32kB
    这是因为你很聪明,你可能使用的是NTFS文件存储方法。
    NTFS规定:
    1GB以下的仓库(分区),箱子的大小为2kB
    1GB以上的仓库,箱子的大小都为4kB
    2TB (2 x 1024GB)以上这个我也不知道箱子的大小
    再举一个例子:
    比如硬盘分区(NTFS)1GB以上:
    如果文件的大小为5kB
    文件要两个箱子才能装的下,所以要占8kB
    查看文件属性,你会看到:
    文件大小是5kB
    而占用空间(占几个箱子的容量)是8kB
    还有人会问:
    那么用磁盘整理(defrag)能增加硬盘的可用空间么?
    答案是不会的。
    因为磁盘整理的原因是箱子东放一个,西放一个
    这样查找文件就慢了,磁盘整理只是把箱子聚在一起
    方便查找,提高磁盘访问速度
    那么怎么增加磁盘可用空间呢?

    有一个方法就是压缩文件。以前win98好像有压缩磁盘空间的工具。 

  • 相关阅读:
    从Object对象中读取属性的值
    CentOS7安装Mysql
    CentOS初使用命令总结
    linux安装git、node、pm2
    将 ELASTICSEARCH 写入速度优化到极限
    Elasticsearch
    elasticsearch5.0.1集群索引分片丢失的处理
    ELASTICSEARCH健康red的解决
    使用linux远程登录另一台linux
    fiddler构造表单上传文件的请求
  • 原文地址:https://www.cnblogs.com/abinxm/p/1661734.html
Copyright © 2011-2022 走看看