ubuntuusers.de

Über Bits, Bytes und Zahlen

ubuntu_old.png

Es gibt viele Einheiten, um Dateigrößen anzugeben. Nur, wer kennt sie alle? Ob KiB, kB oder Bit. Jetzt steht eine Änderung bei der Dateigrößendarstellung von Ubuntu mit der Version nach 10.04 LTS an.

Ganz klein angefangen

Um das Verständnis von Dateigrößenangaben zu erleichtern, fangen wir zuerst mit der kleinsten Einheit, den Bits, an. Ein Bit kann nur zwei Zustände speichern: 0 und 1; man kann es sich wie eine Glühbirne vorstellen:

  • 0 = aus, 1 = an

Für die Angabe von Dateigrößen ist es aber meistens weniger interessant, da eben nur sehr wenige Informationen in einem Bit gespeichert werden können. Daher werden 8 Bits (selten auch mehr oder weniger) zu einem Byte (Abkürzung: B) zusammengefasst. Ein Byte kann also 28 = 256 Zustände speichern. Vielleicht ist man als Anwender schon öfters über solche scheinbar unlogischen, weil nicht glatten Zahlen wie 32, 64, 128, 256, 512 oder 1024 gestolpert oder hat sich gefragt, warum auf dem USB-Stick ausgerechnet 512 MB oder auf der Speicherkarte die Zahl 256 MB steht. Jetzt weiß man also wie diese zustande kommen: Sie kommen allesamt durch 2x zustande.

Nun gibt es aber noch andere Einteilungen, da eine Angabe in Bytes vielleicht zur Größenangabe von Textdokumenten noch reichen würde, aber spätestens bei Bildern oder Fotos lange Zahlen herauskämen. Diese Unterteilungen sind ähnlich denen, die auch bei anderen Maßeinheiten (z.B. Längenangaben, welche in Millimetern, Zentimetern, Metern oder Kilometern angegeben werden können) vorkommen.

Bis eingeschlossen Lucid Lynx wurden oftmals normwidrig SI-Präfixe verwendet (das verstößt gegen existierende Richtlinien):

  • 1024 Byte = 1 Kilobyte (kB → Achtung, hier wird ein kleines „K“ verwendet!)

  • 1024 Kilobyte = 1 Megabyte (MB)

  • 1024 Megabyte = 1 Gigabyte (GB)

  • 1024 Gigabyte = 1 Terabyte (TB)

  • 1024 Terabyte = 1 Petabyte (PB)

1TiB (mit dem Faktor 1024) sind 1.099.511.627.776 Byte, 1TB (Faktor 1000) hingegen nur 1.000.000.000.000 Byte (immerhin 99.511.627.776 Bytes weniger - das sind ganze 99.51GB) – also verwenden Speicherhersteller gerne den Faktor 1000, da sie so schon mit weniger Speicherplatz bei z.B. 1TB sind.

Ein häufig genanntes Argument ist, dass doch überall so gerechnet werde. Ein km sei ja auch 1000 Meter lang, nicht 210 (=1024).

Aus den genannten Gründen wird auch Ubuntu in Zukunft, ab Ubuntu 10.10, wie folgt mit Dateigrößen umgehen:

  • 1000 Byte = 1 Kilobyte (kB)

  • 1000 Kilobyte = 1 Megabyte (MB)

  • 1000 Megabyte = 1 Gigabyte (GB)

  • 1000 Gigabyte = 1 Terabyte (TB)

  • 1000 Terabyte = 1 Petabyte (PB)

Damit wird diese Richtlinie aufgrund einiger unerwartet aufgetauchter Probleme 🇬🇧 voraussichtlich erst eine Ubuntuversion später 🇬🇧 umgesetzt als ursprünglich geplant.

Gegen das herrschende Chaos soll eine seit 1998 existierende Norm helfen. Danach wird zwischen den SI-Präfixen und den Binärpräfixen unterschieden. Die oben genannte Handhabung der Größenangaben, die sich nach dem 10er-System umrechnen lassen entspricht den SI-Präfixen. Binärpräfixe bezeichnen die Umrechnung nach dem 1024er-System:

  • 1024 Byte = 1 Kibibyte (KiB)

  • 1024 Kibibyte = 1 Mebibyte (MiB)

  • 1024 Mebibyte = 1 Gibibyte (GiB)

  • 1024 Gibibyte = 1 Tebibyte (TiB)

  • 1024 Tebibyte = 1 Pebibyte (PiB)

Da beide Wege mit den Einheiten zu rechnen auch unter Ubuntu immer wieder durcheinander gebracht worden sind und kein System erkennbar sei, wurde die Richtlinie UnitsPolicy festgelegt. Apple ging diesen Schritt 🇬🇧 bereits im letzten Jahr.

Wo und was?

Nun stellt sich natürlich die Frage: Welches System wird jetzt wo angewendet? Die Richtlinien legen das wie folgt fest:

Im 10-basierten System angegeben werden:

  • Netzwerkbandbreiten (z.B. 6MBit/s oder 50kB/s)

  • Speicherplatzangaben (wie bei Festplatten oder Speicherkarten) (z.B. 500 GB Festplatte oder 4,7 GB DVD)

Im auf dem Dualsystem basierten System angegeben wird:

  • Arbeitsspeicher (z.B. 2 GiB RAM)


Vielen Dank auch an apollo13 und maix aus dem Webteam für die Mithilfe, das Einheitenchaos zu bewältigen 😉