Linux Daily Topics

2010年3月30日Ubuntuのファイルサイズ表記、10.10からは10進数に

順調に運べば、あと1ヵ月弱で正式公開となるUbuntu 10.04 LTS/開発コード"Lucid Lynx"だが、このリリースにおいて採用が見送られた項目のひとつにファイルサイズ表記がある。実はUbuntu 10.04からは、1Kバイト=1024バイトのバイナリ表記(2進接頭辞)ではなく、1Kバイト=1000バイトとする10進数表記(SI接頭辞)に変更するという方針が打ち出されていた。だが、多くのユーザ(とくにデスクトップユーザ)に混乱を招くとして、10.10まで延期されることに落ち着いた。⁠デスクトップユーザに混乱を招く」理由は、Ubuntuアプリケーションのほとんどがバイナリ表記をベースに書かれているためである。

とりあえず現在、Ubuntuでは表記に関するポリシーを以下のように定めている。

アプリケーションがIEC標準(バイナリ表記)を用いる場合

1KiB = 1,024バイト(大文字のKであることに注意)
1MiB = 1,024KiB = 1,048,576バイト
1GiB = 1,024MiB = 1,048,576KiB = 1,073,741,824バイト
1TiB = 1,024GiB = 1,048,576MiB = 1,073,741,824KiB = 1,099,511,627,776バイト

アプリケーションがSI標準(10進数表記)を用いる場合

1kB = 1,000バイト(小文字のkであることに注意)
1MB = 1,000kB = 1,000,000バイト
1GB = 1,000MB = 1,000,000kB = 1,000,000,000バイト
1TB = 1,000GB = 1,000,000MB = 1,000,000,000kB = 1,000,000,000,000バイト

バイナリ表記に10進数表記を用いてはならない

1kB != 1,024バイト
"KB"という表記は存在しない

Ubutunユーザに限らず、PC使用歴が長めの一般ユーザであれば、習慣からなんとなくこれらを使い分けている。たとえば「700MB」とラベルに印刷されているCD-ROMは、本当のサイズはもうちょっと小さい。これは本来「700MiB」と表示されているべきものだが、あまりそう書かれているのは見たことない。一般にネットワークの帯域幅やハードディスクのディスクサイズは10進数で表され、RAMサイズは2進数で表記されるが、⁠512MB」のメモリは「512MiB」と書かれることはまずない。この辺りの意識統一はかなりやっかいかもしれない。

次のUbuntu 10.10で10進数表記での統一を図れるのかはわからない。OSSではないので、あまり参考にはならないかもしれないが、AppleはMac OS Xにおいて10.6のSnow Leopardで10進数表記に一気に変更した。10.0~10.5までのユーザはバイナリ表記のままだったが、かまわず断行した。そのときは激しく反発されても、時間が経てばそんなことがあったことすら忘れられることもある。

おすすめ記事

記事・ニュース一覧