![硬盘上的可用空间和已占用空间有何区别?](https://linux22.com/image/1543958/%E7%A1%AC%E7%9B%98%E4%B8%8A%E7%9A%84%E5%8F%AF%E7%94%A8%E7%A9%BA%E9%97%B4%E5%92%8C%E5%B7%B2%E5%8D%A0%E7%94%A8%E7%A9%BA%E9%97%B4%E6%9C%89%E4%BD%95%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
假设我有一块 1 TB 的硬盘,计算机告诉我其中 750GB 是空闲的。计算机如何确定硬盘上的特定空间是空闲的还是空闲的?我之所以问这个问题,是因为据我所知,这两种空间都只是一堆磁性存储的 0 和 1。
答案1
文件系统元数据。磁盘的开头是一组不可见的文件,如 $MFT,它们存储有关系统上的目录和文件的信息,包括其名称、文件夹位置、权限等信息。它们还包含有关文件所在的特定块、文件确切的起始位置以及文件的长度的信息。这些信息已编入索引并组织起来,以便快速检索。
因此,您的操作系统可以查询这些描述磁盘上文件的小/快速文件,然后将所有文件的长度加在一起以获得占用的总空间。
至于磁盘的大小,它来自于$volume
包含有关分区信息的文件中的卷描述符记录。从总数中减去总使用量,你就得到了空闲量。
我描述的机制与NTFS 文件系统虽然文件系统元数据对于不同的文件系统类型有不同的表现方式,但它们对于如何定义和描述磁盘上的文件都有相同的一般概念。