Saturday, March 27, 2010

Ubuntu implements units policy, will switch to base-10 units in future release

Ubuntu's future 10.10 operating system is going to make a small, but contentious change to how file sizes are represented. Like most other operating systems using binary prefixes, Ubuntu currently represents 1 kB (kilobyte) as 1024 bytes (base-2). But starting with 10.10, a switch to SI prefixes (base-10) will denote 1 kB as 1000 bytes, 1 MB as 1000 kB, 1 GB as 1000 MB, and so on.

It was first reported that 10.04 Lucid Lynx would make the switch to base-10, but it was eventually delayed tolucid+1 (10.10) as all applications didn't comply with the new units policy and were still using base-2.

The new units policy establishes two basic guidelines: applications should use the IEC/binary prefix for base-2 units and the SI prefix for base-10 units. The SI prefix should not be mixed with base-2 units. The exact policy from the wiki is outlined below:

Applications must use IEC standard for base-2 units:

  • 1 KiB (kibibyte) = 1,024 bytes (Note: big k)
  • 1 MiB (mebibyte) = 1,024 KiB = 1,048,576 bytes
  • 1 GiB (gibibyte) = 1,024 MiB = 1,048,576 KiB = 1,073,741,824 bytes
  • 1 TiB (tebibyte) = 1,024 GiB = 1,048,576 MiB = 1,073,741,824 KiB = 1,099,511,627,776 bytes

Applications must use SI standard for base-10 units:

  • 1 kB (kilobyte) = 1,000 bytes (Note: small k)
  • 1 MB (megabyte) = 1,000 kB = 1,000,000 bytes
  • 1 GB (gigabyte) = 1,000 MB = 1,000,000 kB = 1,000,000,000 bytes
  • 1 TB (terabyte) = 1,000 GB = 1,000,000 MB = 1,000,000,000 kB = 1,000,000,000,000 bytes

It is not allowed to use the SI standard for base-2 units:

  • 1 kB ≠ 1,024 bytes
  • KB (with a big k) does not exist

Additional implementation guidelines are also outlined: base-10 should be used to represent networkbandwidth and disk sizes while RAM sizes should use base-2. File sizes can either be shown in both base-10 and base-2, only base-10, or a user option to choose between the two (but with base-10 set as the default).

This new counting will finally put them in line with the standard Greek meaning of "kilo" as 1000 and will seek to alleviate the confusion that regular consumers often have when buying a new hard drive. The pros are not exclusive of the cons though, as inconsistencies between different operating systems presents a troubling user experience dilemma. Other new confusions that this would bring are also outlined in the wiki:

  • CD-ROM sizes are specified in MiB, but the manufacturers label this "MB" (a "700 MB" CD-ROM contains approximately 700 MiB = 737 MB).
  • Memory (RAM, ROM) is specified in base 2, but labeled with SI prefixes. For example, a "512 MB" RAM contains 512 MiB = 536.9 MB.

Apple themselves moved over to base-10 counting with the release of 10.6 Snow Leopard. Previous Mac OS X operating systems from 10.0 to 10.5 measured file and drive sizes in base-2.

No comments:

There was an error in this gadget