Prefissi SI
Nome | Simbolo | Multiplo |
---|---|---|
kilobyte | kB | 10^3 |
megabyte | MB | 10^6 |
gigabyte | GB | 10^9 |
terabyte | TB | 10^12 |
petabyte | PB | 10^15 |
exabyte | EB | 10^18 |
zettabyte | ZB | 10^21 |
yottabyte | YB | 10^24 |
Prefissi binari
Nome | Simbolo | Multiplo |
---|---|---|
kibibyte | KiB | 2^10 |
mebibyte | MiB | 2^20 |
gibibyte | GiB | 2^30 |
tebibyte | TiB | 2^40 |
pebibyte | PiB | 2^50 |
exbibyte | EiB | 2^60 |
zebibyte | ZiB | 2^70 |
yobibyte | YiB | 2^80 |
un file di 5 MB, sono 5120 Kb Questo perché: 5 x 1024 Kb = 5120 KB e volendo trovare i byte: 5 x 1024 x 1024 =5242880 byte
K, M, G, riferite ai Byte, sono potenze di 2, in particolare sono 2 elevato ad un multiplo di 10, nel caso rispettivamente 2^10, 2^20, 2^30.
Quando le stesse sigle sono riferite ai bit, sono intese come unita di misura metriche decimali K = 10^3, M = 10^6, G = 10^9 e così via.
Una linea a 7 Mbps ha una capacità massima di 7Mbit per secondo cioè ogni secondo può trasmettere 7*10^6 bit. trasferire un file 5MB = 5242880 byte = 41943090 bit, occorrerebbe un tempo pari a circa: (41943090 bit) / (7*10^6 bit/s) = 5.992 secondi.
# shows the size in kiB/MiB/GiB (1024 increments) du -h filename and # shows the size in kB/MB/GB (1000 increments) du -h --si filename
Latency Comparison Numbers -------------------------- L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns 14x L1 cache Mutex lock/unlock 25 ns Main memory reference 100 ns 20x L2 cache, 200x L1 cache Compress 1K bytes with Zippy 3,000 ns 3 us Send 1K bytes over 1 Gbps network 10,000 ns 10 us Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD Read 1 MB sequentially from memory 250,000 ns 250 us Round trip within same datacenter 500,000 ns 500 us Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip Read 1 MB sequentially from disk 20,000,000 ns 20,000 us 20 ms 80x memory, 20X SSD Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms Notes ----- 1 ns = 10^-9 seconds 1 us = 10^-6 seconds = 1,000 ns 1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns Credit ------ By Jeff Dean: http://research.google.com/people/jeff/ Originally by Peter Norvig: http://norvig.com/21-days.html#answers Contributions ------------- Some updates from: https://gist.github.com/2843375 'Humanized' comparison: https://gist.github.com/2843375 Visual comparison chart: http://i.imgur.com/k0t1e.png Animated presentation: http://prezi.com/pdkvgys-r0y6/latency-numbers-for-programmers-web-development/latency.txt
il valore del kilobyte, se esso sia di 1000 byte o di 1024 byte. si tratta di vizi di forma Che tuttavia inducono, in errori pratici.
I prefissi kilo-, mega-, giga-, tera-, e via discorrendofanno parte di una serie di prefissi ufficiali del SI (Sistema Internazionale di unità di misura) adottati per semplificare l'utilizzo di valori multipli e sottomultipli rispetto ad una unità di misura fondamentale. Sono prefissi che traggono origine da termini della lingua greca: "kilo" per 1.000, "mega" per 1.000.000, "giga" per 1.000.000.000. Si tratta quindi di prefissi applicabili ad un sistema di numerazione decimale, in quanto rappresentano di fatto le potenze del dieci.
Il primo errore è quello di applicare ad una unità di misura (in questo caso il byte, unità di misura dell'informazione), un prefisso decimale per indicare però valori calcolati in base binaria. Formalmente parlando, l'espressione kilobyte è equivalente a 1 byte moltiplicato per 1.000, ovvero mille byte. Tuttavia l'espressione kilobyte è stata usata fin dall'inizio in modo errato, facendola corrispondere al valore di 1024 byte, ovvero la decima potenza del due: si è quindi applicato un metodo di calcolo binario utilizzando però un prefisso decimale. Non che questo rappresenti un sacrilegio, ma è il primo problema di forma dal quale discendono gli altri.
L'espressione kilobyte, essendo formalmente scorretta nel modo in cui è entrata nell'uso comune, ovvero considerandola come una espressione a base due, ha portato gli organismi come il SI, l'IEC (International Electrotechnical Committee), l'IEEE (Institute of Electrical and Electronics Engineers) e l'ISO (International Organization for Standardization) a formalizzare alcuni elementi per evitare di utilizzare impropriamente determinate espressioni e generare così confusione ed errori.
Sono quindi stati definiti nuovi prefissi, in particolare dall'IEC in un emendamento del documento "IEC 60027-2: Letter symbols to be used in electrical technology — Part 2: Telecommunications and electronics" nel 1999, che indicassero precisamente in quali casi si ha a che fare con multipli di potenze binarie. Si tratta dei prefissi kibi-, mebi-, gibi-, tebi- e via discorrendo, dove la particella "bi" sta per "binary". Vado a precisare:
kibi: kilo-binary, ovvero 2^10 mebi: mega-binary, ovvero 2^20 gibi: giga-binary, ovvero 2^30 tebi: tera-binary, ovvero 2^40Questi prefissi binari sono stati recepiti e ratificati dall'IEEE all'interno dello standard IEEE 1541. Il SI ha inoltre espressamente vietato l'utlizzo dei prefissi decimali esposti nei paragrafi sopra per indicare quantità calcolate su base binaria.
In questo caso, quindi, sempre ragionando in un ipotetico mondo perfetto che si attiene ai formalismi, le uniche due espressioni corrette sono:
kilobyte = 1.000 byte kibibyte = 1.024 bytee ovviamente a seguire tutti gli altri multipli.
Tuttavia, come spesso accade quando qualcosa è profondamente radicato nell'uso comune, anche nei sistemi operativi (che per ovvi motivi "ragionano" in base binaria) vengono tutt'ora mantenuti i prefissi decimali per indicare però quantità calcolate utilizzando potenze del due.
un disco di capienza "ottanta miliardi di byte" potrà contenere ottanta gigabyte di informazione oppure 74,5 gibibyte (e non gigabyte) di informazione.