天天看点

《UNIX/Linux 系统管理技术手册(第四版)》——1.8 单位

本节书摘来自异步社区《unix/linux 系统管理技术手册(第四版)》一书中的第1章,第1.8节,作者:【美】evi nemeth , garth snyder , trent r.hein , ben whaley著,更多章节内容可以访问云栖社区“异步社区”公众号查看

unix/linux 系统管理技术手册(第四版)

像kilo-(千)、mega-(兆)和giga-(吉)这样的公制前缀都定义为10的幂:一百万是1,000,000。但是,计算机的类型定义长期以来一直借用这些前缀,但却用它们代表2的幂。例如,一兆内存实际是220,即1,048,576字节。这种借用的单位甚至混入了正式标准,像jedec固态技术协会的标准100b.01,该标准认定这些前缀表示2的幂(虽然有些质疑)。

为了恢复清楚的含义,国际电工委员会(international electrotechnical commission,iec)规定了一组数字前缀(分别是kibi-、mebi-、gibi-等,缩写为ki、mi和gi),明确基于2的幂。这类单位含义总是清楚的,但它们才开始得到广泛使用。原来的kilo-系列前缀则两种含义都在用。

通过上下文关系才能帮助判断到底按哪一种含义算。ram总是按2的幂来算,而网络带宽一定按10的幂来算。存储空间一般按10的幂为单位算,但是块和页的大小则用2的幂计算。

我们在书中以2的幂计算iec的单位,用10的幂计算公制单位,对粗略值以及确切的底数不清楚、没有文档或者不可能确定的情况用公制。在命令输出里,以及配置文件节选中,我们都保留原本的值和单位记法。我们把bit(位)缩写为b,而把byte(字节)缩写为b。表1.2给出了一些例子。

《UNIX/Linux 系统管理技术手册(第四版)》——1.8 单位

a.也就是说,硬盘块大小为512字节,数倍之后最接近108的数值

b.但是根据微软的说法,仍然是没有足够的内存运行64位版的windows 7

在“8kb内存!”中,缩写k不属于任何标准。它是一个计算机行话,指公制缩写k(代表kilo-,千),后者起初表示1,024而不是1,000。但是即便更大一些公制前缀的缩写都已经变成大写[译者注:m、g、t],对于k却不能以此类推也用k。后来,人们开始混淆这种区别,开始也用k代表1,000。

ubuntu的linux发行版本做了大胆尝试,以求在这个问题上保持合理性和一致性;参考wiki.ubuntu.com/unitspolicy了解更多的细节。

继续阅读