Já se v textu držím klasické a zažité terminologie, tedy když budu psát o 4kB sektoru, je to sektor o velikosti 4096 bajtů. Pokud je mezi čtenáři někdo, kdo chce používat nové předpony, nechť si všude představí KiB a čte kibibajt. – pozn.aut.
Nedá mi to, ale dle mého názoru by autor neměl podporovat „špatné“. To, že si někdo nezvykl správně používat jednotky SI (které mimo jiné platí už 12 let), ještě neznamená, že by v tom měl být podporován, zvláště pak v médiu jako je ROOT.CZ .
Před 12 lety pro ty, kteří nebyli schopni pochopit, že kB = 1024B, zavedli kiB, MiB atd. Všichni ostatní už ovšem desítky let před tím bez nejmenších problémů používali kB, MB. Já jsem si zvyknul, když vím, že komunikuju s člověkem, používám kB, při komunikaci s retardem plynule přecházím na kiB.
prepacte, ale neviem preco nazyvate cloveka respektujuceho medzinarodne uznane standardy, retardom. Boli to v prvom rade retardi v USA, ktori si medzinarodne platnu predponu kilo prisposobili na im vyhovujucu hodnotu 1024 z bohvie akeho dovodu.
Pripominate mi Skota alebo Americana, ktory v zasade odmietne ratat v kilogramoch alebo v kilometroch, pretoze jeho mile, yardy, funty a libry su take lepsie. Ok, mozno ak si kupuje funt karameliek u neho doma vo vidlakove, nech si rata ako chce. Ale ak kvoli takymto blbostiam maju havarovat medziplanetarne sondy, tak sme uz niekde inde.
Uvedomte si pls, ze jednotky informacie potrebuju pouzivat ludia aj v sirsom okruhu, od vedcov cez priemysel az po domacnosti, ktorych stupidne dovody, preco ITckari nazyvaju kilom 1024 nasobok, vobec nezaujimaju, ale vedia co to kilo je. Ako citatel roota by ste mali mat zaujem na otvorenych a zrozumitelnych standardoch a nie obskurnych trikoch akym zneuzivanie medzinarodne platnych predpon jednotiek SI je.
1 024 bylo místo 1 000 použito proto, že se s tím v počítači snáze počítá (místo složitého dělení stačí binární posun), což tehdy byl rozumný krok (taky nikdo nepočítal s daty v řádech vyšších než tisícovek, takže rozlišení malé k/velké K stačilo a rozdíl byl 2,4 %, což bylo vzhledem k rozdílu v rychlosti zanedbatelné), ale dneska je to hloupé zdůvodnění (počítače zdržují jiná úzká místa než dělení, takže se to stejně nepozná) a naopak to silně mate, protože u tera/tebi je rozdíl už 10 % a s dalšími předponami stále roste.
Všiml sis, že naprostá většina lidí, se kterými komunikuješ (pokud tedy nejsi zalezlý jenom mezi ajťáky) automaticky chápe kilobajt jako 1 000 bajtů, protože jsou prostě zvyklí na to, že kilo je (řecky) tisíc?
Btw. kolik definuješ MB? 1 000 000 bajtů (jako u disků), 1 024 000 bajtů (jako u disket) nebo 1 048 576 bajtů (jako u pamětí)?
Jo a kB nikdy 1 024 bajtů nebylo, vždycky to bylo KB (s velkým K)
Spatne je to, co zavedli vyrobci disku, aby jejich disky vypadaly vetsi. V binarni soustave cisla typu 1000 jsou dost nesmysl. Binarni kilo je 210, protoze z jednicek a nul se kilo jako 1000 dela dost blbe. Me pripada logictejsi udavat kapacitu disku v jednotkach, ktere jsou HW pocitacu blizsi. Ostatne, tady to mate detailne vysvetlene: http://img72.imageshack.us/i/kilobyte.jpg/
Pokud chcete udávat jednotky bližší binární soustavě, nepoužívejte předpony, které jsou založené na dekadické soustavě (a v řečtině tu hodnotu znamenají – to je potom bordel, když chcete řecky říct tisíc bajtů). Navíc 210 není pro HW dobrá hodnota, HW je nejbližší 28, 216 a další hodnoty, kde exponent je mocnina osmi
To mate sice uplne pravdu, nicmene v dobe, kdy vznikaly pocitace, bylo potreba nejakych jednotek a vzhledem k tomu, ze za francouzske revoluce nejak nepocitali s masivnim rozsirenim binarni soustavy, zadne vhodne jednotky nebyly k dispozici. Predpokladam tedy, ze vec vznikla tak, ze ajtaci si vypomohli tim, ze zvolili 210=1024 za kilobajt, protoze je to to nejblizsi cislu 1000, co se da v binarni soustave udelat. Mozne je take to, ze se ajtakum zaroven libil fakt, ze je pouzito prave 10 adresnich vodicu na proadresovani kilobajtoveho prostoru. 10 je hezke dekadicke cislo, ktere si zapamatuje i totalni vul, pokud pouzije prsty a neni stizen polydaktylii.
Nevim, k cemu by vam bylo dobre, kdybyste pouzival cisla typu 28, 216 atd. To by jako kilobajt byl 256, megabajt 65536 atd? To by mi tedy delalo sakra potice predstavit si, kolik mam v pocitaci pameti.
Nevim, jake s tim mate problemy. Krome vas si na to vsichni zvykli a ziji s tim uplne bez problemu. K cemu je vam kilobajt jako 1000, kdyz ho muzete aplikovat akorat na disky, protoze polovodicove pameti jaksi z principu sveho fungovani nepocitaji s tim, ze by se je nekdo pokousel zkonstruovat s 9.965784285 vyvody, aby vam vysel krasny kilobajt se tremi nulami? Proc menit neco, co ma svoji logiku a zavadet neco jineho, jen aby to melo lepsi marketingovy efekt? Samozrejme, mohli si treba zavest jine predpony, nez kilo, mega atd. Ale protoze francouzsti revolucionari jsou jiz vsichni pod drnem, tak nejsou lidi. Navic i na tech discich jsou vnitrne ta data urcite zaznamenavana napriklad v sektorech 512 bajtu a ne 500 bajtu. Kapacita se pak spocita vynasobenim poctem sektoru a marketaci vam to pak vydeli 1024, aby to lepe vypadalo. Kdyby to tak nebylo, bylo by zapsani jednoho kilobajtu z pameti do jednoho kilobajtu na disku docela otravny problem.
Kromě pamětí (a u blbějšího software i velikostí dat) se už všude v počítači používá MB jako 1 000 000 B. Mb/s je 1 000 000 b/s (u připojení, rychlostí sběrnic i MP3), kHz je 1 000 Hz (u CPU, pamětí i zvuku), 256 MB flash disk má kapacitu 256 000 000 B, DVD má kapacitu 4,7 GB = 4 700 000 000 B, páskové mechaniky taky používají SI prefixy. K čemu je ten bordel dobrý pořád udržovat? A ty binární předpony už existují, jenom někteří lidé (zřejmě ti samí, co přenastavují svoje počítače, aby nezobrazovaly rok 19110 :D) je odmítají používat ;)
Jinak předpony nemají nic společného s vývody ani s implementací. Prostě paměti, co jsou dneska psány „256 MB“, budou 256 MiB ≈ 268 MB, stejně jako sektory na disku jsou ½ KiB, resp. u těch novějších 4 KiB.
Kilohertz v pocitaci byl vzdycky kilohertz. Videl jste to nekdy jinak?
Prenosove rychlosti mozna jako nasobky deseti smysl maji. Je tam jaksi souvislost s frekvenci, tedy jednotkou Hz.
Vzhledem k tomu, ze pameti, CPU a podobne veci jsou to, co urcuji, jak pocitacova data fyzikalne vypadaji, pripada mi porad logictejsi pouzivat zastaraly kilobajt jako 1024 bajtu.
Porad nevidim, proc by marketingove duvody mely vest k zavedeni jednotek, ktere nemaji v pocitaci prilis mnoho logiky a ktere byly zavedeny jenom kvuli tomu marketingu. Kdyz tedy chcete, postarejte se o zruseni kB a o pouzivani vyhradne kiB. Kilobajt jako 1000 bajtu je kokotina.
Jenže ani ty frekvence nejsou zarovnané na násobky deseti, ale většinou deseti třetin, případně jiné hodnoty (třeba vycházející z 60 Hz v americké napájecí soustavě). Neměla by pro to vzniknout nová jednotka? Nebo rovnou více jednotek podle různých základů? Vždyť 166 MHz FSB není přesné a navíc to vypadá ošklivě
Paměť a alokační jednotky disků jsou opravdu jediná místa, kde se používá 1 024 místo 1 000. ECC pamětem by navíc vyhovovalo spíše těch 1 000, zbylých 24 bajtů by mohly využít pro opravné kódy předchozích 1 000 bajtů (jako to dělají flash disky; takhle musí mít přidanou další paměť, kde uchovávají opravné kódy, což je samozřejmě prodražuje)
kb/s jako 1 000 b/s není kokotina. To, že tu logiku nevidíte, neznamená, že tam není. Kvůli marketingu to opravdu zavedeno nebylo, bylo to (konkrétně u těch pevných disků) zavedeno kvůli tomu, že jsou přímo vyráběny se základem desíti a naopak výroba o binárním základu by byla problematická (už první prodávaný pevný disk, IBM 350, měl 5 MB, tedy 5 000 000 bajtů) a dodnes se tak vyrábí, 300 GB disk má malinko přes 300 000 000 000 bajtů, což je ale necelých 280 GiB – nemá to nic společného s marketingem, ale s výrobním postupem, jinak by ten disk měl 256 GiB (274,5 GB)
> Jenže ani ty frekvence nejsou zarovnané na násobky deseti, ale většinou deseti třetin
Ano, tak je zaokrouhluji, protoze nikoho nezajima, jestli treba FSB je 800 nebo 800.234 MHz.
> ECC pamětem by navíc vyhovovalo spíše těch 1 000, zbylých 24 bajtů by mohly využít pro opravné kódy předchozích 1 000 bajtů
Vysvetlete mi, jak takovou pamet potom nacpete do adresniho prostoru CPU. To budete mi pamet od 0 do 999, pak 24 bajtu diru a potom znovu dalsi „kilobajt“? Nez se tohle zavede, bude napred nutno zvysit kapacitu blazincu, protoze tam nepochybne skonci vsichni konstrukteri HW a programatori.
> kb/s jako 1 000 b/s není kokotina. To, že tu logiku nevidíte, neznamená, že tam není.
Ja tu logiku vidim, ale vy nevidite, ze ji vidim.
Jinak opravdu nevidim, jaky je vztah vyrobniho postupu s dekadickymi kilobajty. Sektor je porad jeste vetsinou 512 B, kapacita je velikost sektoru vynasobena poctem sektoru. Aby z toho vznikla dekadicka kapacita, musi se to na ni prepocitat. Az bude sektor 1000 B, bude to mit vetsi logiku, tim by ale vzniklo par problemu, kdyz by se prenasela data mezi pameti a diskem a 1 kB na disku by nebyl to same, co 1 kB v pameti. Data na disku jsou vzdy ukladana v „zastaralych“ kB, pouze kapacita na stitku je v „modernich“ kB. Nevidim, jak s tim souvisi vyrobni postup. Chcete rici, ze vyrobni postup vyrobci znemoznuje uvest kapacitu jinak, nez v nasobcich deseti? A cim to, ze drive to slo, vsichni to tak delali a nikomu to nepripadalo nelogicke?
Typický programátor, který zůstal uvězněný v implementačních detailech a nedokáže se na problém podívat s odstupem. Naprostou většinu populace nezajímá, že to nebude přesně, naprostá většina údajů taky není přesně (v síti není přesně 230 V o přesně 50 Hz, 2 Mpix obrázky nemají přesně 2 000 000 pixelů, 80 kW motor nemá přesně 80 000 W). Programátoři si mohou vytvořit vlastní jednotky a předpony, pokud je potřebují (a už je mají, slabiky, slova, code pointy, kibi, mebi ap.), ale to všechno jsou detaily, které nikoho, kdo ten obor nestuduje, nezajímají.
> Ano, tak je zaokrouhluji, protoze nikoho nezajima, jestli treba FSB je 800 nebo 800.234 MHz.
Stejně jako nikoho nezajímá, že FSB není přesně 800 MHz, tak nikoho nezajímá, že 256 MiB paměti nemají přesně 268 MB, ale už je zajímá, že to není 256 MB.
> Vysvetlete mi, jak takovou pamet potom nacpete do adresniho prostoru CPU. To budete mi pamet od 0 do 999, pak 24 bajtu diru a potom znovu dalsi „kilobajt“? Nez se tohle zavede, bude napred nutno zvysit kapacitu blazincu, protoze tam nepochybne skonci vsichni konstrukteri HW a programatori.
Úplně jednoduše, stejně jako to řeší současné flash disky, které mají kapacity zarovnané na násobky deseti a mezi tím opravné kódy, přesto jejich skutečná (fyzická) velikost je binární. Programátor o tom nebude vědět a pro konstruktéry HW to je maličkost, kterou stejně dělají (současné ECC paměti jsou v tomhle daleko složitější).
> Az bude sektor 1000 B, bude to mit vetsi logiku
Proč by musel mít sektor 1 000 bajtů, aby se používaly SI předpony tak, jak jsou definovány? To je implementační detail, ať si klidně má 1 024 bajtů. Ale 1 000 takových sektorů potom nemá 1 000 kB, ale 1 024 kB.
> Chcete rici, ze vyrobni postup vyrobci znemoznuje uvest kapacitu jinak, nez v nasobcich deseti? A cim to, ze drive to slo, vsichni to tak delali a nikomu to nepripadalo nelogicke?
Chci tím říct, že výrobní postup je implementační detail a není to důvod, proč používat SI předpony pro jiné hodnoty, než jaké mají. I dříve to mnoha lidem připadalo nelogické, ale byla to daň za výkon, navíc se odlišoval kB (1 000 B) a KB (1 024 B). Dneska je výkon takový, že je zbytečné trvat na bitových posunech, a rozdíly mezi binárními a dekadickými předponami se stále zvětšují.
Zdravím,
malá korekce. Jste si jist, že exponent musí být vždy mocnina 8-i?
Pokud mne paměť neklame, pak to číslo je vždy celá mocnina 2. Tedy 2 na 2, 2 na 3, 2 na 8, 2 na 16, 2 na 31, 2 na 32 a podobně.
Asi jste měl na mysli „násobek osmi“. Pak ok, ale to je více než-li zjednodušený pohled na HW.
Příjemný víkend
Co si tak z temného osmibitového dávnověku vzpomínám, tak jsme se učili rozlišovat kilo a Kilo, takže pro mě z toho vyplývá že 4kB je 4000 bytů a 4KB je 4096 bytů. Velkým písmenem se měla odlišit ta větší z obou hodnot ;-) (No, u Mega už to moc nefungovalo, a když přišly Giga, byl z toho úplný guláš.)
Tohle je zase zažitá terminologie pro mě… A navíc se to víc podobá tomu KiB, i když na to si fakt zvykám hodně pomalu, ono to strašně divně zní, zvlášť když to řeknu někomu kdo nemá ponětí co to bi tam má znamenat :-D
Docela sympatický mi byl návrh na označování dvojkovým indexem: K2B, číst by se to mohlo stejně jako KiB.