硬盘厂商使用的换算标准与操作系统中的换算标准不同,在硬盘厂商的换算标准中,1G=1000MB,1MB=1000KB,1KB=1000B,而在操作系统中,1G=1024MB,1MB=1024KB,1KB=1024B。
因此,对于一个硬盘厂商标记为512GB的硬盘,在Windows系统中看到的容量为:256*1000*1000*1000/1024/1024/1024≈238GB。
空间是硬盘自身运行程序所需要的空间 现代硬盘结构简介
在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道, 因此会浪费很多磁盘空间 (与软盘一样)。为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。也就是说,外圈磁道的扇区比内圈磁道多,采用这种结构后,硬盘不再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。
为了与使用3D寻址的老软件兼容 (如使用BIOSInt13H接口的软件), 在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D参数翻译成新的线性参数。这也是为什么现在硬盘的3D参数可以有多种选择的原因(不同的工作模式,对应不同的3D参数, 如 LBA,LARGE,NORMAL)。
4. 扩展 Int 13H 简介
虽然现代硬盘都已经采用了线性寻址,但是由于基本 Int13H 的制约,使用 BIOS Int 13H 接口的程序, 如 DOS 等还只能访问 8 G以内的硬盘空间。为了打破这一限制, Microsoft 等几家公司制定了扩展 Int 13H 标准(Extended Int13H),采用线性寻址方式存取硬盘, 所以突破了 8 G的限制,而且还加入了对可拆卸介质 (如活动硬盘) 的支持可以查看“不可见文件”在硬盘中占了多少空间。 硬盘显示的剩余容量与实际不符,原因在于某些类型的文件是不会显示在资源管理器中的。这些不可见的文件包括系统还原点还有一些文件的之前版本仅供参考
因为硬盘厂商为了计算方便,干脆以1000:1的进率来计算容量,所以256GB的硬盘实际上是256000000000字节,而计算机的数据单位进率是1024:1。所以1GB实际上是1073741824字节(2^30),因此这个表面上是256GB的容量实际上大约只有238GB(256000000000/1073741824)
因为算法不一样,1G事实上是1024M,而我们习惯性的计算用的是1000来算的。另外厂家也会缺斤短两一些,所有的硬盘都是这样的