簇是操作系统读写文件的基本单位

微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”

数据存储在硬盘的时候都是以簇为单位,所以无论文件大小是多少,除非正好是簇大小的倍数,否则文件所占用的最后一个簇或多或少都会产生一些剩余的空间,且这些空间又不能给其它文件使用,即使这个文件只有0字节,也不允许两个文件或两个以上的文件共用一个簇,不然会造成数据混乱。
–百度百科

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

也可以这样看:
扇区: 磁头从磁盘中读取数据的最小单位(一般512B),即磁头每次从磁盘中读取数据,都是一个扇区一个扇区读的。
块(簇): 操作系统与磁盘(硬盘)交互的最小数据单元(在linux系统中称为块,在windows系统中称为簇)。操作系统从硬盘中拿一块数据,即完成一次磁盘IO。块(数据块)的大小在硬盘格式化时被指定,一般有1K,2K,4K(最常用)。如果块的大小设置为4K,那么磁盘要读取8个扇区之后,才将数据块传给操作系统。另外,数据块也是DOS下数据存储的最小单元。例如,如果一个文件的大小为1K,而块的大小为4K,那么该文件还是会占用一个块,块中剩下的3K被空闲出来,不能用于存储其他数据。因此,设置块的大小时,需要考虑要存储文件的大小。

  • 操作系统规定,一个簇中只能放置一个文件的内容,因此文件所占用的空间只能是簇的整数倍,而如果文件实际大小小于一簇,它也要占一簇的空间。所以一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。簇的大小主要由磁盘的分区格式和容量大小来决定,簇数=取整(文件大小簇大小)+1所占空间=簇数x磁盘簇大小。
    “文件大小”与“所占空间”的差别
    在这里插入图片描述
    就比如上面的文件,文件实际大小为1,528,960 字节,但是占用空间却为1,531,904 字节(4096字节的倍数)
    在这里插入图片描述
    这里我是win10系统,在硬盘格式化时,默认值是4096,即簇的大小,可以实现SSD的4k对齐
    关于硬盘4k对齐问题可以看下边网页

4K对齐究竟是什么意思 固态硬盘4K对齐2048和4096区别 通俗易懂!
https://baijiahao.baidu.com/s?id=1640537488176584496&wfr=spider&for=pc

簇大小通常这样选择:

  • 如果该分区保存的都是零散的小文件,就应当选用较小的簇,以提高硬盘的利用率;如果保存的都是完整的大文件例如视频,就可以选择较大的簇,以提高硬盘的读取效率。因为一个簇里面的数据必定是连续的,选择较大的簇(例如64KB)就能保证一次可以连续读取尽可能多的数据。因此,在格式化时,设置较大的簇会提高读取效率,但会影响存储效率;反之如果设置过小,虽然可以提高磁盘利用率,但是会产生大量碎片,降低读取效率。
  • 13
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值