Perché `df` usa“ Bi ”come abbreviazione di byte?


8

Apparentemente dfsta mettendo "i" dopo le lettere maiuscole per ogni dimensione. Questo ha senso per Kilobyte / Kibibytes, Gigabytes / Gibibytes e Mebibytes (se è questo che significa "Mi"). Ma perché dovrebbe usare "Bi" per i byte?

Ad esempio, parte del mio risultato di df -hè:

map auto_home           0Bi    0Bi    0Bi   100%       0          0  100%   /home

1
Quali sono i risultati di df -H? RTM: l' huscita dell'opzione è la base 2 e l' Huscita dell'opzione è la base 10.
fd0

Risposte:


9

È la differenza tra il valore decimale e il prefisso binario . In questo caso, sta dicendo che stai usando 0 byte binari.

Qual è la differenza?

Usando "Giga" come nostro esempio, significa 1000 3 di qualcosa (cioè Gigahertz).

Nei computer pone un problema interessante:

Un Gigabyte è di 1000 3 byte. Tuttavia un byte è 8 bit (binari). Ciò significa che è tecnicamente 1024 3 byte. Per tenere conto di ciò, usiamo diverse notazioni:

  • Giga è decimale (base 10)
  • Gibi è binario (base 2)

L'output ti sta dicendo che sta usando unità binarie.

Se si desidera ottenere l'output in "notazione decimale leggibile dall'uomo", utilizzare la "H" maiuscola:

$ df -H
/dev/disk2      1.1T   413G   706G    37% 100935848 172431606   37%   
map auto_home     0B     0B     0B   100%         0         0  100%   /home

Infine, in realtà non è una convenzione Apple, ma una di BSD (è un comando BSD). Puoi trovare maggiori informazioni nella pagina man ( man df).


8
Non capisco come questo risponda alla domanda. OP chiarisce che conoscono la differenza tra 1GBe 1GiB. La domanda è: qual è la differenza tra 1Bie 1B? Perché due simboli diversi?
Federico Poloni,

5
"Un Gigabyte è 1000 ^ 3 byte. Tuttavia un byte è 8 (binari) bit. Ciò significa che tecnicamente è 1024 ^ 3 byte." - Non vedo come un byte di 8 bit porti a gigabyte che significa 1024 ^ 3 invece di 1000 ^ 3 ...
marcelm

@marcelm Gigabyte = 1024 megabyte. Megabyte = 1024 kilobyte. Kilobyte = 1024 byte. 1024 = 2 ^ 10.
Dmitry Kudriavtsev,

3
@marcelm Hai ragione, non è un sequitur. La memoria (RAM) è sempre stata misurata come multipli di potenze di 2, a causa della modalità di produzione dei chip. Lo spazio sui dischi rotanti non è necessariamente, perché dipende dalla superficie fisica e dalla densità dei bit, quindi i produttori di dischi hanno scelto di usare anche potenze di 1000 per rendere i numeri sulla loro scatola migliori. "Gibi" e prefissi simili erano una creazione retroattiva per cercare di distinguerli, ma chiaramente rendono le cose più confuse.
BradC,

1
Il vero motivo per cui il prefisso decimale è stato utilizzato per 2 ^ x numeri nei giorni precedenti è: 2 ^ 10 ~ 10 ^ 3.
klanomath,

5

Bi significa che sei in unità di 1024 0 byte, anziché 1000 0 byte.

cioè sono la stessa unità, ma non sarebbero con prefissi più grandi che significano esponenti diversi da zero. Sembra dfessere solo pedante, come un modo per essere coerenti quando in modalità unità di potenza di 2.

Questa è una convenzione inventata: non esiste un'unità metrica o "Bi" IEC, solo prefissi IEC di 2 lettere che terminano con "i", per l'uso con quantità di bit o byte. (ad es. Mi per mebibytes o mebibits.) E no, non ci si aspetta che tu lo dica ad alta voce in modo non ironico con una faccia seria.

"iB" potrebbe avere più senso (byte binari senza prefisso), ma non è nemmeno una cosa.


2
Quindi non dovrebbe essere "iB"? ;)
Cai,

1024 ^ 0 è esattamente uguale a 1000 ^ 0 (= 1) quindi non lo spiega. Non esiste un termine / simbolo per indicare il byte binario (perché il byte implica intrinsecamente binario), quindi ho usato giga come esempio. È ancora più difficile indicare 0 perché 0 in binario e 0 in decimale sono uguali e possono creare confusione.
Allan,

@Cai: ho verificato, i prefissi IEC includono sempre la "i" con il prefisso e non menzionano un'unità base "iB". Vedi la risposta aggiornata. Ma sì, ho concordato che sarebbe più coerente. Naturalmente, in questo contesto ( dfoutput di FreeBSD / OS X ), questo è ciò che significa.
Peter Cordes,

1
Forse iB sono byte immaginari ?
Federico Poloni,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.