У чым розніца паміж кілабайтам і кібібайтам?


адказ 1:

Гэтая блытаніна ўзнікае пры названні Windows. Але мы вернемся да гэтага пазней.

 

Адзін кілабайт выкарыстоўвае прыстаўку кілаграма SI, што азначае нешта 1000 разоў. Гэта азначае, што 1 Кб адпавядае 1000 байт. У кібібайце выкарыстоўваецца прыстаўка Kibi, у якой я не ўпэўнены, будзе гэта СІ ці не. kibi- азначае, што ў 1024 разы больш, таму 1 KiB складае 1024 байта.

 

Windows называе кібібайт як кілабайт, каб перашкодзіць карыстачу выкарыстоўваць прэфікс kibi. Але я не ведаю, чаму яны абралі гэту шкалу замест таго, каб рабіць рэчы ў стылі Linux! Я маю на ўвазе, мой жорсткі дыск на 320 ГБ (гандлёвы нумар) складае 298 ГБ (на самай справе ГіБ) у Windows і 319. Штосьці на Linux. Я маю на ўвазе, WTF не ў парадку з Microsoft ?!


адказ 2:

Кароткі адказ: "kibi-" азначае ўвесь час 1024. "Кіла" галоўным чынам азначае "1000", але ёсць рызыка заблытанасці, калі вы трапіце на інтэрфейс памяці / сеткі / асноўнай памяці, калі "кіла-" часам азначае "1024", і гэта ў значнай ступені звязана з гістарычным выкарыстаннем . АЗП звычайна апісваецца ў двайковым выразе: "кілабайт аператыўнай памяці" адпавядае 1024 B, але кілабайт HD звычайна адпавядае 1000 B, але некаторыя (большасць?) Аперацыйных сістэм выкарыстоўваюць бінарныя ўмовы, калі яны сканцэнтраваны на рэчах, напрыклад Памер файла і бясплатныя файлы займаюць месца.

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].

Іншыя камп'ютэрныя навукоўцы, якія працавалі ў іншых галінах вобласці (напрыклад, у сетках і захоўванні), у асноўным выкарыстоўвалі арыгінальнае вызначэнне СІ, дзе "кіла-" азначала 1 000, а "мега" 1 000 000. 1 000 000 000 байт захоўваюцца на цвёрдым дыску, які быў абвешчаны "1 ГБ".

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.)

Дадатковыя праблемы ўзнікаюць, калі ў дыскусію ўключаецца стварэнне сетак. Традыцыйна база 10 выкарыстоўваецца пры абазначэнні "біт" ("b"), а не "байт" ("B"), якія адлюстроўваюцца ў большасці іншых даменаў. Акрамя таго, большасць сеткавых пратаколаў ўключаюць загрузку (біт запуску і спынення) і коды выпраўлення / выяўлення памылак (напрыклад, біты цотнасці). Гэта значыць, для перадачы аднаго байта дадзеных (8 біт) дадзеныя, адпраўленыя па радку, могуць складаць 11 біт і больш. Напрыклад, сеткавае злучэнне ў 1 Гбіт / с можа кожны раз пасылаць 1 000 000 000 біт праз кабель. Аднак гэта не прыводзіць да эфектыўнай перадачы дадзеных у 125 000 000 Гб / с нават пры аптымальных абставінах.

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.

Некаторыя інструменты Unix дазваляюць выбіраць фарматы вываду. Напрыклад, спасылаючыся на галоўную старонку інструмента "df" (Выкарыстанне прасторы дыскавай файлавай сістэмы):

-h, - чытэльныя для чалавека памеры друку ў зручным для чытання фармаце (напрыклад, 1K 234M 2G) -H, - сілікатнае, але выкарыстоўваюць сілы 1000, а не 1024