Gigabajty na gibibajty

Symbolom MB i GB przypisywane są wielkości według dwóch różnych systemów. W zeszłym roku w wielu krajach świata weszła w życie norma mająca wyeliminować tę niejednoznaczność.

Rozmiary pamięci elektronicznej bywają często ograniczone liczbą bitów użytych do jej adresowania. Przykładowo: jeśli bitów tych jest 10, to zaadresować możemy 1024 komórki pamięci. Wielkość ta niewiele różni się od 1000. W powszechnie stosowanym systemie SI mnożnik 1000 oznacza się małą literą “k”, dlatego też mnożnik 1024 przyjęło się zapisywać za pomocą przedrostka podobnego, ale jednak różnego – poprzez wielkie “K”. Obydwa przedrostki czyta się jednak tak samo, czyli “kilo”.

Dziwaczna definicja gigabajta, nieprawdaż?! Ale przynajmniej wiadomo, jaka jest rzeczywista pojemność tego “twardziela”.

Dawno minęły czasy, gdy wielkość pamięci podawano w kilobajtach. Pojawiły się kolejno megabajty i gigabajty, a ostatnio także terabajty. No i mamy problem – jak to zapisać? Zapewne z rozpędu do kolejnych potęg liczby 1024 zaczęto stosować przedrostki z układu SI, które odpowiadają kolejnym potęgom liczby 1000. W układzie SI “M” oznacza okrągły milion, a tymczasem w sensie “komputerowym” “M” nagle zaczęło też oznaczać 1 048 576, czyli prawie 5% więcej. Jakby tego nie było dość, pojawiło się trzecie znaczenie symbolu “MB”. Mianowicie dyskietki “1,44 MB” z niezrozumiałego powodu mają rozmiar podawany w jednostkach MB wynoszących… 1 024 000 bajtów. W taki oto sposób zaistniała sytuacja, w której tym samym przedrostkom przypisywane są różniące się od siebie wielkości. Krótko mówiąc, przedrostki skalujące dopadła schizofrenia. Nie ominęła ona nawet przedrostka “kilo”. Zdarza się, że duże “K” wypiera małe “k” z jego roli. Bywa też – kto wie, czy nie częściej – odwrotnie, gdy małe “k” stosowane jest w znaczeniu 1024.

Płaciłem za 30 giga, a mam 28!

Wobec takiej dwuznaczności, czytając wyrażenie w rodzaju “30 GB”, nie możemy już mieć pewności, o jaką dokładnie ilość bajtów chodziło piszącemu. Zgodnie z układem SI podaje się zwykle liczby bajtów tam, gdzie nie występuje adresowanie binarne lub nie ma ono istotnego znaczenia, np. przy podawaniu szybkości transmisji, pojemności dysków twardych czy pamięci taśmowych. W jednostkach binarnych natomiast podaje się głównie wielkość pamięci, gdzie dają się we znaki ograniczenia wynikające z liczby bitów adresowych. Dotyczy to np. pamięci półprzewodnikowych. Nie wiedzieć czemu, również rozmiary plików oraz pojemność płyt CD-ROM podawane są zazwyczaj w takich jednostkach. Ich stosowanie mogłoby sugerować, że użytkownicy komputerów lubią przeliczać wielkości swoich plików na jednostki alokacji, sektory i pozycje w FAT-cie, bo tylko do takich zastosowań jednostki te mogą być wygodne.

Do przykrych nieporozumień prowadzi niekiedy podawanie wielkości plików w jednostkach binarnych. Zdarzają się np. reklamacje dysków twardych, bo po sformatowaniu kupiony dysk “30 GB” w Menedżerze plików objawia się jako dysk mający tylko 28 GB. Na szczęście sprawę wyjaśnia odczyt wielkości dysku bezpośrednio w bajtach, których jest – zgodnie z tym, co producent napisał – 30 miliardów.

Mebibajty

Szansą na wyeliminowanie takich dwuznaczności jest upowszechnienie się opublikowanego na początku 1997 r., a w połowie ub.r. uznanego za obowiązujący w Stanach Zjednoczonych oraz krajach Unii Europejskiej, systemu przedrostków dla mnożników będących potęgami liczby 1024. System ten, opracowany przez IEC, z założenia różny od układu SI, jest jednak do niego bardzo podobny i na nim wzorowany. To podobieństwo pozwala na bardzo łatwe jego zapamiętanie, jak też na intuicyjne odczytanie przez osoby, które pierwszy raz się z nim zetkną.

Przedrostki IEC od przedrostków SI różnią się tylko małą literką “i”, oznaczającą słowo “binary”. Ich nazwy tworzy się, łącząc pierwszą sylabę przedrostka SI z pierwszą sylabą słowa “binary”. Przykładowo: jeden megabajt binarny zapisuje się jako 1 MiB, a wymawia “mebibajt” (skrót od “mega binary byte”). Oznacza on 1 048 576 bajtów. Dla porównania: 1 MB, czyli 1 megabajt według układu SI, oznacza 1 000 000 bajtów.

SI niech znaczy, co ma znaczyć

Unormowanie zapisu przedrostków binarnych nie wystarczy do wyeliminowania niejednoznaczności. Konieczne jest jeszcze ich prawidłowe stosowanie. Ale nie tylko ich. Przedrostków SI również należy używać zgodnie ze znaczeniem nadanym im wraz z wprowadzeniem systemu metrycznego ponad 200 lat temu, a następnie “uświęconym” przez system SI. Chodzi m.in. o podawanie rozmiarów plików. Czy pytał ktoś współczesnych użytkowników komputerów (księgowych, sekretarek, tłumaczy, dziennikarzy, młodzieży…), jakie jednostki bardziej im odpowiadają? Jakie wydają się im bardziej naturalne i przyjazne? Czy nie woleliby kojarzyć napisu “MB” z milionem bajtów niż z milionem czterdziestoma ośmioma tysiącami pięciuset siedemdziesięcioma sześcioma bajtami?

Jaki los czeka nowe przedrostki? Czy norma zostanie zapomniana, podobnie jak to było z normą precyzującą zapis daty, która z wieloletnim wyprzedzeniem mogła zapobiec “pluskwie milenijnej”? Niestety, nadal często widuje się datę w postaci “01.02.03”. Czy z przedrostkami IEC będzie podobnie? Miejmy nadzieję, że jednak nie. Najważniejsze, że została oto wreszcie stworzona możliwość jednoznacznego wyrażania liczby bajtów z wykorzystaniem przedrostków skalujących.

Info

Grupy dyskusyjne
Pytania, uwagi i komentarze do artykułu:
#

Internet
Przedrostki binarne
http://physics.nist.gov/
   cuu/Units/binary.html

Zapisywanie jednostek a wymiana informacji
http://www.swiss.ai.mit.edu/
   ~jaffer/MIXF.html

Binarne przedrostki skalujące
http://www.amg.gda.pl/
   ~gred/units/gibibajty.html

Więcej:bezcatnews