Jaký je rozdíl mezi kilobyte a kibibyte?


Odpověď 1:

Tento zmatek pochází z pojmenování Windows. Ale vraťme se k tomu později.

 

Kilobyte používá předponu kilo-S.I., což něco znamená 1000krát. To znamená, že 1 KB je 1 000 bajtů. Kibibyte používá předponu kibi-, o které si nejsem jistý, zda je to S.I. nebo ne. kibi- znamená 1024krát něco, takže 1 KiB je 1024 bytů.

 

Windows pojmenují kibibyte jako kilobyte, aby zabránily uživateli vyrovnat se s předponou kibi. Ale proč si vybrali tuto stupnici místo toho, aby dělali věci způsobem Linuxu, to určitě nevím! Myslím, že můj 320 GB HDD (komerční číslo) je 298 GB (ve skutečnosti GiB) na Windows a 319. něco na Linuxu. Myslím, že wtf se mýlí s Microsoftem ?!


Odpověď 2:

Krátká odpověď: „kibi-“ znamená vždy 1024. “Kilo-” znamená “1000” hodně času, ale existuje možnost zmatení, když se dostanete na průnik úložiště / síťování / a hlavní paměti, když “kilo-” je někdy míněno jako “1024” a toto je do značné míry způsobeno historickým používáním jazyka. RAM se obvykle popisuje pomocí binárního využití: „kilobyte RAM“ je 1024 B, ale kilobyte HD je obvykle 1000 B, ale některé (nejvíce?) OS používají binární zvyklosti, když odkazují na věci, jako jsou velikost souborů a zdarma prostor.

Historically,thecomputerscientistsbuildinghardwareandmemoryfounditeasiestandmostconvenienttocountthingsinbinarysincetheywereactuallyusingbinaryatalowlevel.Since210=1024isprettycloseto[math]103[/math],thefolkscreatingthehardware/memoryaddressingadoptedthekiloprefixtomean1024bytesandmegatobe[math]220[/math]=1,048,576isstillprettycloseto[math]103[/math].Historically, the computer scientists building hardware and memory found it easiest and most convenient to count things in binary since they were actually using binary at a low level. Since 2^{10} =1024 is pretty close to [math]10^{3}[/math], the folks creating the hardware/memory addressing adopted the “kilo-” prefix to mean 1024 bytes and “mega” to be [math]2^{20}[/math] =1,048,576 is still pretty close to [math]10^{3}[/math].

Ostatní počítačoví vědci pracující v jiných částech oboru (např. Vytváření sítí a úložiště) do značné míry používali původní definici SI, kde „kilo-“ znamenalo 1 000 a „mega-“ znamenalo 1 000 000. Pevný disk, který byl inzerován jako „1 GB“, uložil 1 000 000 000 bajtů.

Inthelate1990s,thebinomenclaturewasformallyintroducedbytheInternationalElectrotechnicalCommissiontoprovideawaytogetaroundtheambiguity.Usingkibibyte/KiB,mebibyte/MiB,gibibyte/GiB,etc.wouldunambiguouslyrefertothe210,[math]220[/math],[math]230[/math],etc.TheseprefixesareapartofofficialSIdefinitionsnow,butIdontthinkanyoneusesthebinaryprefixesoutsideofcomputerrelatedcontexts(Mycaruses38Lper100kibimetersjusthasprobablyneverbeensaid.)In the late 1990’s, the “-bi-” nomenclature was formally introduced by the International Electrotechnical Commission to provide a way to get around the ambiguity. Using kibibyte/KiB, mebibyte/MiB, gibibyte/GiB, etc. would unambiguously refer to the 2^{10}, [math]2^{20}[/math] ,[math]2^{30}[/math], etc. These prefixes are a part of official SI definitions now, but I don’t think anyone uses the binary prefixes outside of computer-related contexts (“My car uses 38 L per 100 kibimeters” just has probably never been said.)

Další problémy vyvstávají, když se do diskuse dostane síťování. Tradičně lidé používají základnu-10, když mluví o „bitech“ („b“), spíše než o „bytech“ („B“), které vidíte ve většině ostatních domén. Také většina síťových protokolů zahrnuje padding (start a stop bits) a kódy pro opravu / detekci chyb (např. Paritní bity). To znamená, že pro přenos jednoho bajtu (8 bitů) dat mohou být data posílaná podél drátu 11 bitů nebo více. Tak např. 1 Gb / s síťové připojení může každou sekundu poslat 1 000 000 000 bitů, ale to se z čistého hlediska nezmění na 125 000 000 GB / s účinného přenosu dat ani za optimálních okolností.

Whenthemarketingpeoplegetinvolved,itgetsconfusingtoo.Thebase10unitssoundbetterthanthebinaryunits.Ievenrememberseeingadvertisementsinthe1980sand90swheretheycombinedtheunitsinwaysthatwereespeciallyconfusing:e.g.amegabytebeing1,024,000bytes(i.e210103.)Fortunately,thatkindofusagewasrare.When the marketing people get involved, it gets confusing too. The base-10 units sound better than the binary units. I even remember seeing advertisements in the 1980′s and 90’s where they combined the units in ways that were especially confusing: e.g. a “megabyte” being 1,024,000 bytes (i.e 2^{10}*10^{3}.) Fortunately, that kind of usage was rare.

Některé unixové nástroje umožňují vybrat výstupní formáty. Např. citování manuálové stránky pro nástroj „df“ (využití systému souborů na disku na disku):

-h, - lidsky čitelné velikosti tisku v lidsky čitelném formátu (např. 1K 234M 2G) -H, - silikonwise, ale využívají síly 1000 ne 1024