Windows cię oszukuje: Dlaczego twój dysk '2TB' pokazuje tylko 1,8TB
Czy kiedykolwiek zainstalowałeś nowy dysk lub kupiłeś nowy telefon, tylko po to, by odkryć, że brakuje ci kilku gigabajtów w pamięci. Oczywiście, to tylko kilka gigabajtów — otrzymasz 476 GB z 512 GB, które powinieneś mieć. Ale to wystarczająco istotna różnica, żeby nie można było jej po prostu zignorować.
No więc, co z tym jest nie tak?
Dziesiętny vs. Binarny
Różnica nie wynika tak naprawdę z tego, że ktoś, kto wyprodukował Twój dysk SSD lub twardy, jest zły i chce Cię oszukać, lecz raczej z technikaliów związanych z tym, jak jest faktycznie obliczana pojemność pamięci w porównaniu do tego, jak jest reklamowana. Ludzie naturalnie liczą w systemie dziesiętnym, znanym również jako układ dziesiętny, który opiera się na potęgach dziesięciu. W tym systemie prefiksy takie jak „kilo” oznaczają ściśle jeden tysiąc. Dlatego dla producenta dysku twardego, który stosuje Międzynarodowy Układ Jednostek (SI), jeden kilobajt to dokładnie 1 000 bajtów, jeden megabajt to 1 000 000 bajtów, a jeden terabajt to aż 1 000 000 000 000 bajtów. Kupując dysk 2TB, producent fizycznie zapewnił Ci dwa biliony bajtów pamięci, co sprawia, że ich oznaczenie jest technicznie poprawne z punktu widzenia fizyki i inżynierii.
Jednak komputery nie działają w systemie dziesiętnym. Funkcjonują one w oparciu o kod binarny, czyli system dwójkowy, w którym dane przetwarzane są w potęgach liczby dwa. We wczesnych czasach komputerów wygodnie było przypisać binarne 2 do potęgi 10 (co daje 1 024) do prefiksu metrycznego „kilo”, ponieważ 1 024 jest stosunkowo bliskie 1 000. Konwencja ta się przyjęła, co oznacza, że dla systemu operacyjnego Twojego komputera — w szczególności Windows — jeden kilobajt w rzeczywistości oznacza 1 024 bajty.
Ta pozornie niewielka różnica wynosząca 24 bajty narasta wykładniczo w miarę przechodzenia do gigabajtów i terabajtów. Gdy osiągniesz poziom terabajta, system operacyjny oblicza terabajt nie jako bilion bajtów, lecz jako 1 099 511 627 776 bajtów (1024 do potęgi czwartej). Ponieważ komputer używa tego większego dzielnika do obliczenia całkowitej liczby, końcowa wartość wydaje się mniejsza. Gdy dwa biliony bajtów podane przez producenta zostaną podzielone przez definicję gigabajta używaną przez komputer, wynik wynosi około 1 862 gigabajtów, czyli w przybliżeniu 1,81 terabajta, tworząc złudzenie brakującej przestrzeni.
Dlaczego to ma znaczenie?
Choć matematyka stojąca za konwersją jest prosta, konsekwencje dla konsumenta są istotne i często frustrujące. Oczywiście, dla wielu osób jest to dość mylące. Bo tak jest. W niemal każdej innej branży jednostki standaryzowane są absolutne; Kilogram mąki to ta sama waga, niezależnie od tego, kto ją waży. W branży przechowywania danych ta sama terminologia opisuje jednak dwie wyraźnie różne wartości w zależności od kontekstu. Ta niejednoznaczność pozwala producentom promować swoje produkty w systemie dziesiętnym, który generuje większe, bardziej atrakcyjne liczby, podczas gdy oprogramowanie wykorzystujące sprzęt raportuje niższą pojemność. Wraz ze wzrostem zapotrzebowania na pamięć do petabajtów, ta różnica powiększyła się z znikomego marginesu błędu do znacznego deficytu.
Na dysku o pojemności 2 TB „brakująca” przestrzeń wynosi około 186 gigabajtów — wystarczająco dużo, aby pomieścić kilka nowoczesnych gier w wysokiej rozdzielczości, dziesiątki tysięcy zdjęć lub pełną kopię zapasową standardowego laptopa. Ta różnica staje się praktycznym problemem logistycznym dla specjalistów IT i archiwistów danych, którzy muszą planować pojemność magazynową. Jeśli administrator systemu oblicza wymagania dotyczące kopii zapasowej na podstawie dziesiętnej wartości 2 TB, ale system operacyjny serwera odczytuje wolumen jako 1,8 TB, powstały nadmiar może powodować awarie kopii zapasowych lub uszkodzenie danych. Co więcej, ta konwencja nazewnictwa tworzy szarą strefę prawną i etyczną. Chociaż producenci często umieszczają na opakowaniach zastrzeżenia, że „rzeczywista sformatowana pojemność może być mniejsza”, przeciętny konsument rzadko rozumie, że wynika to z definicji matematycznej, a nie z narzutów oprogramowania dysku.
Jak to naprawimy?
Rozwiązanie tutaj polega na tym, aby właściwie wytłumaczyć użytkownikom, że system binarny (Base 2) nie jest tym samym co system dziesiętny (Base 10). Najbardziej naukowo dokładnym rozwiązaniem jest szersze przyjęcie standardów Międzynarodowej Komisji Elektrotechnicznej (IEC), które zostały wprowadzone w celu wyeliminowania tej niejasności. IEC stworzyła specyficzne dla systemu binarnego przedrostki, aby odróżnić obliczenia w systemie binarnym od obliczeń w systemie dziesiętnym. W tym systemie znane „kilobajty” (KB) pozostają równe 1 000 bajtów, podczas gdy 1 024 bajty zostały przemianowane na „kibibajty” (KiB). Podobnie „megabajt” (MB) różni się od „mebibajta” (MiB), a „terabajt” (TB) jest odrębny od „tebibajta” (TiB).
Gdyby systemy operacyjne takie jak Windows stosowały te jednostki, na ekranie prawidłowo byłoby pokazane, że masz około 1,81 TiB miejsca, co odpowiada rzeczywistości matematycznej, nie przecząc jednocześnie twierdzeniu producenta o 2 TB.
Alternatywnie, programiści mogą zdecydować się na dostosowanie swoich raportów do systemu dziesiętnego używanego przez producentów. Apple wprowadziło tę zmianę począwszy od macOS Snow Leopard (wersja 10.6). Na nowoczesnym Macu plik o rozmiarze 1 000 bajtów jest raportowany jako 1 KB, a dysk o pojemności 2 TB jest wyświetlany jako mający pełne 2 TB pojemności. To podejście stawia na użyteczność dla użytkownika i zgodność z fizycznym oznakowaniem, zamiast na tradycyjne obliczenia binarne preferowane przez informatyków.
Wreszcie, jeśli utknąłeś w środku tych walczących standardów, natychmiastowym sposobem jest świadomość i planowanie buforów. Przy zakupie pamięci masowej należy instynktownie obliczyć, że użyteczna pojemność binarna wyniesie około 93% reklamowanej pojemności dziesiętnej. Dopóki branża nie zunifikuje się pod jednym standardem — przyjmując uniwersalnie prefiksy binarne lub przechodząc w oprogramowaniu na raportowanie dziesiętne — konsumenci muszą traktować oznaczenia dysków jako szacunki, a nie jako absolutne wartości.



