tonyviroos
10.06.2011, 01:42
Bajt bajtowi nierówny
Diabeł jak zwykle tkwi w szczegółach, w tym przypadku w interpretacji zapisu jednostek pojemności. Aby to wyjaśnić, będzie potrzebna znajomość odrobiny teorii. W czasie gdy opracowywano pierwszy komputer klasy PC, na świecie od dawna obowiązywał międzynarodowy standard jednostek i miar - Układ SI (franc. Systeme International d'Unités). Opracowano go w roku 1960, przez co nie znalazła się w nim definicja jednostki wielkości pamięci komputerowej. W układzie SI poza samymi jednostkami zdefiniowano także nazwy (przedrostki) wielokrotności jednostek podstawowych. Jak wszyscy zapewne wiecie, współczesne komputery pracują w oparciu o system dwójkowy. Podstawową jednostką pamięci w komputerach jest jeden bajt, oznaczony jako 1 B. Oczywiście jest to wartość śmiesznie mała, dlatego już na początku powstało zapotrzebowanie na oznaczenia będące wielokrotnością tej podstawowej. Jako, że układ SI definiował nazwy przedrostków, do których wszyscy zdążyli się już przyzwyczaić, postanowiono zaadoptować je na potrzeby komputerów.
Niestety, w układzie SI wielokrotności zdefiniowano na podstawie liczby 10 będącej podstawą systemu dziesiętnego, używanego naturalnie przez ludzi. Komputery natomiast jak już wspominałem wcześniej pracują w systemie dwójkowym. Tutaj powstaje pewien problem: Nie można w prosty sposób zapisać komputerowych wielkości, a więc wielokrotności liczby 2 przy pomocy wielokrotności liczby 10. Rozwiązano go nieco nie elegancko, zzadoptowano tylko i wyłącznie nazwy przedrostków a nie ich podstawę. Tak powstały dwie liczby mające w teorii ten sam przedrostek, ale w praktyce różną wartość. I tak wg. układu SI "kilo" oznacza 1000, natomiast w nomenklaturze komputerowej jest to już 1024. Różnica wydawało by się niewielka, niemniej te 24 bajty, po zwielokrotnieniu w megabajtach i gigabajtach powodują "utratę" sporej ilości miejsca na dysku twardym.
Czy jest jakieś wyjście z tego zamieszania? Otóż okazuje się, że tak. Jako, że zastosowanie przedrostków z układu SI dla komputerowych wielkości jest nie tyle nieeleganckie, co w zasadzie niezgodne z ich pierwotnym przeznaczeniem, IEC (ang. International Electrotechnical Commission) zaproponowała sposób na wyeliminowanie rozbieżności w zapisie dwóch wartości. Polegał on na opracowaniu nowego zestawu przedrostków, specjalnie dla systemu dwójkowego. Ich nazwy powstały poprzez wstawienie litery "i" po znaku mnożnika (pisanego zawsze wielką literą) oraz zastąpieniu drugiej sylaby nazwy mnożnika przez "bi" (ang. binary). Przykładowo dotychczasowe GB - gigabajt, MB - megabajt, kB - kilobajt mają zastąpić binarne GiB - gibibajt, MiB - mebibajt, KiB.
Nowe przedrostki powstały w 1999r, niestety do dzisiaj nadal używamy starych oznaczeń. Być może gigant z Redmond w następnej odsłonie najpopularniejszego systemu operacyjnego zdecyduje się ich użyć, co spowoduje drastyczny wzrost ich popularności. Dziś można je spotkać w zasadzie tylko pod Linuksem.
To tyle teorii. Mam nadzieję, że po takim zastrzyku informacji nikt więcej nie będzie się dziwił, dlaczego jego dysk twardy jest mniejszy niż oczekiwał
Diabeł jak zwykle tkwi w szczegółach, w tym przypadku w interpretacji zapisu jednostek pojemności. Aby to wyjaśnić, będzie potrzebna znajomość odrobiny teorii. W czasie gdy opracowywano pierwszy komputer klasy PC, na świecie od dawna obowiązywał międzynarodowy standard jednostek i miar - Układ SI (franc. Systeme International d'Unités). Opracowano go w roku 1960, przez co nie znalazła się w nim definicja jednostki wielkości pamięci komputerowej. W układzie SI poza samymi jednostkami zdefiniowano także nazwy (przedrostki) wielokrotności jednostek podstawowych. Jak wszyscy zapewne wiecie, współczesne komputery pracują w oparciu o system dwójkowy. Podstawową jednostką pamięci w komputerach jest jeden bajt, oznaczony jako 1 B. Oczywiście jest to wartość śmiesznie mała, dlatego już na początku powstało zapotrzebowanie na oznaczenia będące wielokrotnością tej podstawowej. Jako, że układ SI definiował nazwy przedrostków, do których wszyscy zdążyli się już przyzwyczaić, postanowiono zaadoptować je na potrzeby komputerów.
Niestety, w układzie SI wielokrotności zdefiniowano na podstawie liczby 10 będącej podstawą systemu dziesiętnego, używanego naturalnie przez ludzi. Komputery natomiast jak już wspominałem wcześniej pracują w systemie dwójkowym. Tutaj powstaje pewien problem: Nie można w prosty sposób zapisać komputerowych wielkości, a więc wielokrotności liczby 2 przy pomocy wielokrotności liczby 10. Rozwiązano go nieco nie elegancko, zzadoptowano tylko i wyłącznie nazwy przedrostków a nie ich podstawę. Tak powstały dwie liczby mające w teorii ten sam przedrostek, ale w praktyce różną wartość. I tak wg. układu SI "kilo" oznacza 1000, natomiast w nomenklaturze komputerowej jest to już 1024. Różnica wydawało by się niewielka, niemniej te 24 bajty, po zwielokrotnieniu w megabajtach i gigabajtach powodują "utratę" sporej ilości miejsca na dysku twardym.
Czy jest jakieś wyjście z tego zamieszania? Otóż okazuje się, że tak. Jako, że zastosowanie przedrostków z układu SI dla komputerowych wielkości jest nie tyle nieeleganckie, co w zasadzie niezgodne z ich pierwotnym przeznaczeniem, IEC (ang. International Electrotechnical Commission) zaproponowała sposób na wyeliminowanie rozbieżności w zapisie dwóch wartości. Polegał on na opracowaniu nowego zestawu przedrostków, specjalnie dla systemu dwójkowego. Ich nazwy powstały poprzez wstawienie litery "i" po znaku mnożnika (pisanego zawsze wielką literą) oraz zastąpieniu drugiej sylaby nazwy mnożnika przez "bi" (ang. binary). Przykładowo dotychczasowe GB - gigabajt, MB - megabajt, kB - kilobajt mają zastąpić binarne GiB - gibibajt, MiB - mebibajt, KiB.
Nowe przedrostki powstały w 1999r, niestety do dzisiaj nadal używamy starych oznaczeń. Być może gigant z Redmond w następnej odsłonie najpopularniejszego systemu operacyjnego zdecyduje się ich użyć, co spowoduje drastyczny wzrost ich popularności. Dziś można je spotkać w zasadzie tylko pod Linuksem.
To tyle teorii. Mam nadzieję, że po takim zastrzyku informacji nikt więcej nie będzie się dziwił, dlaczego jego dysk twardy jest mniejszy niż oczekiwał