Ze wszystkich dysków twardych, które kupiłem, nigdy nie wydają się tak duże, jak reklamowany rozmiar; od 320 GB do 290 GB, od 500 GB do 450 GB itp. Czy istnieje ku temu techniczny powód?
Ze wszystkich dysków twardych, które kupiłem, nigdy nie wydają się tak duże, jak reklamowany rozmiar; od 320 GB do 290 GB, od 500 GB do 450 GB itp. Czy istnieje ku temu techniczny powód?
Odpowiedzi:
Technicznym powodem jest to, że producenci dysków twardych sprzedają pojemność w jednostkach metrycznych. Tak więc GB = 1 000 000 000 bajtów przez system metryczny. Jednak komputery mierzą rozmiar dysku w potęgach 2. Więc 1GiB = 1024 Mb, 1 Mb = 102424 itd. Oznacza to, że 1GiB = 1073741 824 bajtów, różnica wynosi 73 741 824.
Kiedy więc instalujesz dysk o pojemności 1 GB (na przykład), system operacyjny widzi tylko 0,93 GiB, co jest przyczyną rozbieżności.
(Jeśli nigdy wcześniej nie widziałeś skrótu GiB, jest to nowa notacja przyjęta w celu oznaczenia potęg 1024, a nie 1000. Jednak większość systemów operacyjnych zgłosi GiB jako GB, jeszcze bardziej myląc ten problem)
Pierwotnie była to odpowiedź na to pytanie (połączone) dotyczące pendrivea 4 GB.
Zacznijmy od stwierdzenia: „ Ludzki system opiera się na potędze 10, binarnie na potędze 2 ”.
To, co następuje, może dać pierwszą odpowiedź na twoje pytanie.
W metrycznych przedrostki mocy 10, 1000 lub 10 ^ 3 jest K , 10 ^ 6 M , 10 ^ 9 G ...
W binarne prefiksy są potęgami 2 (2 ^ 10 = 1024 nie jest tak daleko od 1000, lecz różne 2,4% ).
4000000000/1024/1024/1024 Your 4GB are 4 000 000 000 Bytes
3.72529029846191406250 That becames around 3.73 GiB
Dostawcy i prawo : Dostawcy zachowują się zgodnie z zasadami rynku, gdy prawo nie zmusza ich do postępowania w inny sposób. 4 sprzedaje się lepiej niż 3,78. Z tych samych powodów dostawcy Internetu często mówią o bps i pozwalają zrozumieć Bps . Istnieje współczynnik 8: bajt ( B ) ma 8 bitów ( b ).
Problem polega na tym, że prawa istnieją, ale nie we wszystkich narodach są takie same.
Systemu międzynarodowego , lub SI , jest najpowszechniej stosowana w świecie dla handlu i nauki (Została ona opublikowana w 1960 roku i obecnie są tylko częściowo z USA, który jest przyjęcie, Birmy i Liberii).
Ustanawia nie tylko jednostki miary, ale nawet przedrostki .
Ponieważ w świecie komputerowym naturalne jest użycie bazy liczbowej o sile 2 (a nie 10 jak w świecie ludzi ), wprowadzono w 1998 r. System prefiksów binarnych . Tutaj bezpośrednio stół . Obecnie znajdujemy to w takiej sytuacji
the International Electrotechnical Commission (IEC) and several other standards
(NIST...) and trade organizations approved standards and recommendations
for a new set of binary prefixes that refer unambiguously to powers of 1024
Kiedy czytasz 1GB
, powinno być 1 000 000 Bytes
,
zamiast 1GiB
tego powinno być 1 073 741 824 Bytes
.
Dlaczego wciąż powinno być, a nie jest ? Ponieważ zależy to od tego, w jaki sposób ustawodawca narodu, w którym produkowany jest przedmiot, oraz ustawodawca kraju, w którym towar jest importowany, przyjmuje i przekształca w prawie dyrektywę komisji międzynarodowych.
Więc miej oczy szeroko otwarte.
(Nawet dlatego, że w wielu krajach zaleca się zapisywanie informacji na etykiecie samoprzylepnej w celu wypełnienia obowiązków prawnych. Zwykle jest to tak niewiele, że trzeba naprawdę dobrze otworzyć oczy, aby je przeczytać)
Dodatkowe referencje
Kiedy producent dysku tworzy dysk o pojemności 500 GB, ma pojemność 500 000 000 000 bajtów i na pewno będzie go reklamować jako taki. Komputery, będące urządzeniami binarnymi, wolą potęgi dwóch, z innym zestawem prefiksów, więc właśnie tego używają do pomiaru przestrzeni dyskowej:
1 kibibajt = 2 ^ 10, 1 mebibajt = 2 ^ 20, 1 gibibajt = 2 ^ 30 itp.
Na przykład mam dysk 300 GB podłączony do tego komputera, a system Windows wyświetla następujące pojemności:
Capacity: 300,082,855,936 279 GB
300 082,855,936 / 2 ^ 30 = ~ 279. To, co faktycznie pokazuje, to rozmiar dysku w bajtach gibi , a nie w bajtach giga . Powinien więc brzmieć:
Capacity: 300,082,855,936 279 Gi
Można powiedzieć, że jest to usterka w systemie Windows, ale najwyraźniej nie ma definitywnego standardu znaczeń prefiksu pojemności pamięci. O wiele więcej dobrych informacji, w tym sekcja o „Zamieszaniu wśród konsumentów” w tym artykule w Wikipedii .
Zobacz ten artykuł o wyjaśnienia.
Zasadniczo istnieją dwie definicje „gigabajta”. Jedną z definicji jest to, że 1 GB = 1024 3 bajty. Jest to definicja zgłaszana przez komputer (z przyczyn technicznych).
Inna definicja (z jednostek SI) jest taka, że 1 GB = 1000 3 bajtów. Jest to to samo, co każda inna jednostka metryczna (1 gigametr = 1000 3 metry).
Ponieważ definicja metryczna gigabajta jest mniejsza niż to, co komputer uważa za gigabajt, producenci dysków twardych stosują definicję metryczną, ponieważ mogą wydrukować większą pojemność na pudełku.
Sam system plików zajmuje również niewielką ilość miejsca, ale większość brakującej pojemności wynika z definicji gigabajta.
Jeśli chcesz mieć pewność, jak duży jest naprawdę, dowiedz się, jakiego rozmiaru sektora używa i jaka jest całkowita liczba sektorów. Następnie pomnóż te dwie liczby, aby uzyskać całkowity rozmiar w bajtach. To jest prawdziwy rozmiar! W dowolnym systemie operacyjnym! Jest również określany jako pojemność dysku .
T = b x S
Where T is the total disk size in bytes,
b is the sector size in bytes,
and S is the total number of sectors.
Często znajdziesz sektory wydrukowane na etykiecie na samym urządzeniu. Jeśli nie, spójrz na arkusz danych swojego modelu. To jest dokument określający wszelkiego rodzaju szczegóły techniczne dotyczące twojego modelu. W świecie połączonym z Internetem znajdziesz to na stronie producenta, albo w jakiejś tabeli na stronie internetowej lub jako plik, który możesz pobrać (zwykle PDF) do badań i odniesienia. Na starość (zanim pojawiła się sieć), mogłeś otrzymać wydrukowaną kopię przy zakupie dysku twardego.
Istnieją dwa rodzaje sektorów: fizyczny i logiczny. Najczęściej rozmiar sektora fizycznego to 512 bajtów na standardowym dysku. Rozmiar sektora nie jest wymieniony na etykiecie nowoczesnego dysku twardego. Aby zrozumieć, dlaczego tak jest, musisz zrozumieć różnicę między sektorami logicznym i fizycznym. Spróbuję to krótko wyjaśnić.
Nowoczesne dyski twarde wykorzystują sektory logiczne. Zobaczysz to jako LBA (Logical Block Addressing). W rzeczywistości, szukając całkowitej liczby sektorów na etykiecie, zobaczysz liczbę sektorów zwanych LBA, więc powie coś podobnego LBA: 123456789
. To jest twoja całkowita liczba sektorów. Są to sektory logiczne na dysku, które są zapisywane i odczytywane przy użyciu metody adresowania LBA. Ta metoda umożliwia systemowi operacyjnemu użycie formatowania systemu plików (np. NTFS, FAT32) z jednostką alokacji większą niż rozmiar sektora fizycznego.
Jednostka alokacji jest podobna pod względem koncepcji do wielkości sektora , ale zapewnia pewien poziom elastyczności, ponieważ można zmienić jej rozmiar bez zmiany wielkości sektora fizycznego. Jeśli kupiłeś i zainstalowałeś, a następnie sformatowałeś więcej niż jeden dysk twardy w swoim życiu, bez wątpienia spotkałeś się z tym terminem. Najpopularniejsze rozmiary jednostek alokacji dla sformatowanego dysku twardego NTFS to dziś 4K, 8K i 16K. Mówię „dzisiaj”, ponieważ dyski twarde są dostępne w dzisiejszych czasach.
Mianowicie, jaki rozmiar jednostki alokacji jest odpowiedni dla jednego dysku twardego, może nie być odpowiedni dla innego. To zależy od jego wielkości. Mniejsze są lepsze przy mniejszych rozmiarach jednostek alokacji, a większe są lepsze przy większych rozmiarach jednostek alokacji. Nie powstrzymuje to jednak przed użyciem dużego rozmiaru jednostki alokacji na małym dysku twardym. Przeciwnie! Dzięki logicznemu charakterowi jednostki alokacji można ją ustawić podczas procesu formatowania i ustawić większą niż sektor fizyczny. Na małym dysku twardym duża jednostka alokacji ma tendencję do nieznacznego wzrostu wydajności, jednak kosztem miejsca na dysku.
Właśnie dlatego Microsoft zmienił terminologię z wielkości sektora na jednostkę alokacji. Zdarzyło się to kilka wersji systemu Windows. Jeśli dobrze pamiętam, to z rodziny Windows 9x zaczęli korzystać z tego terminu.
Jednostka alokacji jest następnie tłumaczona i mapowana wewnętrznie na jeden lub kilka sektorów fizycznych na dysku. To zadanie jest wykonywane przez kontroler napędu. Kontroler to płytka drukowana z tyłu dysku twardego. Na wczesnych dyskach twardych ATA (obecnie znanych jako Parallel ATA lub PATA) płyta kontrolera była znana jako IDE (Integrated Drive Electronics). Dawniej dyski twarde nie zawsze miały wbudowany kontroler. Zamiast tego był to oddzielny interfejs.
Najczęstszym fizycznym rozmiarem sektora na adresowanym dysku twardym LBA jest 512 bajtów. Ale od około 2010 r. Wiele nowych dysków twardych jest teraz w formacie Advanced Format . Oznacza to po prostu, że wykorzystuje rozmiary sektorów większe niż 512 bajtów. Obecnie największy rozmiar sektora to 4K lub 4096 bajtów.
Chodzi przede wszystkim o to, że rozmiar sektora fizycznego na nowoczesnym dysku twardym ma niewielkie lub żadne znaczenie dla użytkownika. Rozmiary sektorów fizycznych są zorganizowane w logiczne sektory i jednostki alokacji i oderwane od użytkownika. Istnieje jeszcze jedna warstwa abstrakcji w dyskach Advanced Format, ponieważ dyski te mogą emulować 512 bajtów sektorów, ale używają 4096 sektorów fizycznych. Z tego powodu rozmiar sektora zwykle nie jest drukowany na etykiecie dysku twardego zaadresowanego przez LBA, a tym bardziej w przypadku dysków Advanced Format. Niemniej jednak mają rozmiary sektorów fizycznych. Znajdziesz ten szczegół w arkuszu danych dla każdego modelu lub za pomocą oprogramowania narzędziowego w działającym systemie.
Ten typ dysków jest wcześniejszy niż adresowane dyski LBA. Używają metody zwanej adresowaniem CHS (sektor głowicy cylindrów) do odczytu i zapisu. Użytkownik ma bezpośredni dostęp do sektorów fizycznych. W przeciwieństwie do LBA, nie ma warstwy abstrakcji sektora. Rozmiar sektora na tych dyskach prawie na pewno wynosi 512 bajtów. Ale użytkownik może to zmienić.
Czy słyszałeś kiedyś o „formatowaniu niskiego poziomu”? Stąd pochodzi ten termin. W wyniku bezpośredniego dostępu do sektorów fizycznych można zmienić wielkość sektora. Umożliwia to użytkownikowi sformatowanie dysku na „niskim poziomie”, co oznacza fizyczne ponowne zapisanie sektorów na dysku. Czasami było to przydatne, gdy wystąpił problem z dyskiem. To był sposób na odświeżenie dysku. Prawdziwe formatowanie niskiego poziomu nie jest już możliwe w przypadku nowoczesnych dysków twardych. Nie należy tego mylić z formatowaniem systemu plików.
Na dyskach CHS zawsze na etykiecie wydrukowano między innymi liczbę sektorów na ścieżkę (SPT). Jeśli nie wspomniano o wielkości sektora, przyjęto, że ma on 512 bajtów. Pozostałe szczegóły to liczba cylindrów i liczba głowic. To były trzy główne. Stąd nazwa Sektor głowicy cylindrów. Był też dobry powód. Ponieważ na naprawdę wczesnych dyskach twardych, które korzystały z adresowania CHS, wszystkie te parametry musiały być ustawione ręcznie w programie konfiguracji systemu BIOS. To był część procesu instalacji! Była to więc kluczowa informacja, aby poprawnie ją zainstalować. W miarę ewolucji platformy PC, w tym ulepszeń systemu BIOS, innowacji w zakresie dysków i interfejsów, możliwe było po prostu podłączenie dysku twardego, a system wykryje go i skonfiguruje automatycznie.
Być może zauważyłeś, że piszę o tych dyskach w czasie przeszłym. Jest tak, ponieważ są one przestarzałe i nigdzie nie można ich znaleźć. Może z wyjątkiem muzeów technicznych.
Kilka podstawowych informacji na temat pomiarów:
Są to podstawowe pomiary, ale nie spotkasz słów, chyba że jesteś programistą. Rozmiary dysków, partycje i pliki używają bajtów. Bajt jest najbardziej praktycznym pomiarem do pracy. Sektor na dysku to blok bajtów. Zgodnie z konwencją jest to najczęściej 512 bajtów, czyli wielokrotność 2.
2^0 = 1 byte
2^1 = 2 byte
2^2 = 4 byte
2^3 = 8 byte
2^4 = 16 byte
2^5 = 32 byte
2^6 = 64 byte
2^7 = 128 byte
2^8 = 256 byte
2^9 = 512 byte
Te najmniejsze rozmiary bajtów można łatwo wyrazić tylko za pomocą liczb. Ale 20. wielokrotność 2 to 1048576, a 30 wielokrotność to 1073741824. Jeśli to reprezentuje bajty, możemy użyć prefiksu, aby wyrazić tę samą wartość w prostszy sposób. Dlatego mamy przedrostki takie jak kilo, mega i giga. Problem polega jednak na tym, że są to przedrostki SI (Système International), które są używane w systemie miar dziesiętnych. Każdy prefiks w tym systemie reprezentuje wartość będącą wielokrotnością 10. Podczas gdy komputer binarny używa podstawy 2 do pomiaru informacji.
unit 10^0 = 1
kilo 10^3 = 1000
mega 10^6 = 1000000
giga 10^9 = 1000000000
Z tego powodu IEC, międzynarodowy organ normalizacyjny, wprowadził koncepcję binarnych prefiksów. Nazwy kilo, mega, giga i tak dalej zostały nieznacznie zmienione w tym systemie, aby odzwierciedlić, że należy ich używać z pomiarami binarnymi.
kibi 2^10 = 1024 = 1024^1
mebi 2^20 = 1048576 = 1024^2
gibi 2^30 = 1073741824 = 1024^3
Nazwy są konkatenacjami ich nazw w systemie SI i słowem binarnym. Na przykład kibi powstaje z ki lo i dwumiesięcznego .
Jeśli powiem, że obiekt ma masę 5000 gramów, mogę wyrazić tę wartość prefiksem jako 5 kG (kilogram). Dzielę go przez tysiąc, aby usunąć końcowe zera. Ponieważ wartość prefiksu jest znana, druga osoba nie musi mnie pytać, ile gramów zmierzyłem za pierwszym razem. Po prostu odwraca ten proces, biorąc mój zapis 5 kG i mnożąc go przez tysiąc, aby przekształcić go w gramy. Kilo oznacza tysiąc, więc 5 x 1000 = 5000.
Pierwsze 30 sektorów na dysku ma 15360 bajtów, jeśli każdy sektor ma 512 bajtów. Aby wyrazić to prościej, mógłbym podzielić go przez 1000. Wynik to 15,36 kilobajta, czyli 15,36 kB. Gdybym zaokrąglił go do najbliższej liczby całkowitej, wyniósłby 15 kB. Gdyby inna osoba spojrzała na tę liczbę, założyłby, że dokładna miara to 15 kB i pomnożyła ją przez 1000, aby przekształcić ją w bajty. To by było 15000 bajtów, co jest niewłaściwe, ponieważ pierwotny pomiar wynosił 15360 bajtów. Z drugiej strony, gdybym podzielił 15360 bajtów przez 1024, otrzymałbym dokładnie 15 KiB! To jest kibibajt . Brak rozwinięcia dziesiętnego! Ponieważ mówi „KiB”, a nie „KB”, inna osoba wiedziałaby, że należy pomnożyć przez 1024, a nie 1000, aby uzyskać pierwotną wartość.
Podobnie, gdy producent drukuje 8 GB na urządzeniu, używa przedrostków dziesiętnych. Te z końcowymi wartościami zerowymi! 8 GB to nie 8 GiB (gibibajt) lub 8 x 2 ^ 30, ale 8 x 10 ^ 9 = 8 000 000 000 bajtów. Jednak system Windows używa obliczeń wielkości binarnej (potęgi 2) z czymś, co wygląda jak przedrostek dziesiętny (tj. „GB”). W systemie Windows 8 000 000 000 bajtów jest dzielonych przez 2 ^ 30 (lub 1024 ^ 3), aby uzyskać 7.450580597 „GB” (w rzeczywistości GiB). Jest to zaokrąglane do najbliższej setnej pozycji, więc w systemie Windows wyświetli się jako 7,45 „GB”. Ciągle cytuję „GB”, ponieważ Microsoft powinien używać GiB w tym znaczeniu, a nie GB. To tylko reklamy do już mylącego tematu.
Przejdę teraz do kilku przykładów, wykorzystując na etykietach informacje z dysków twardych. Najpierw spójrzmy na dysk 500 GB.
Capacity: 500 GB
LBA: 976773168
976773168 x 512 = 500107862016 bytes
500107862016 / 1024^3 = 465.761741638 ≈ 466 GiB
To 466 GiB, czyli 466 GB w kategoriach Microsoft (i JEDEC). Zauważ, że liczba nie była nawet po podzieleniu. Uważam, że dzieje się tak, ponieważ istnieje więcej sektorów niż użytkownik może użyć do przechowywania danych. Niektóre sektory są chronione, a niektóre służą do ponownego mapowania. Niektóre sektory z czasem stają się złe, dlatego też inne sektory są wykorzystywane jako rezerwa. Dysk twardy oznacza i monitoruje uszkodzone sektory i przestaje ich używać.
Jeśli weźmiesz tylko numer pojemności i przekonwertujesz go na GiB, będzie to wyglądać mniej więcej tak.
500 GB = 500 x 10^9 = 500000000000 byte
500000000000 byte = 500000000000 / 1024^3 = 465.661287308 ≈ GiB
Widać, że jest to nieco mniejsza liczba, ale wciąż zaokrągla do 466 GiB. Ale w dokładnych bajtach jest to bardziej zbliżone do tego, ile faktycznie możesz użyć. W ten sposób nie musisz znać wielkości sektora. Dokładna pojemność jest nadal obliczana na podstawie numeru LBA i wielkości sektora. Tego użyję w pozostałych przykładach.
Capacity: 320 GB
LBA: 632672208
632672208 x 512 = 323928170496 bytes
323928170496 / 1024^3 ≈ 302 GiB
Wreszcie, oto jeden z dysków CHS. Podstawowa idea jest bardzo podobna. Zakłada się, że rozmiar sektora wynosi 512 bajtów, jeśli nie podano inaczej. Spojrzę na dysk kwantowy. Możesz zrobić IBM samodzielnie. Dysk kwantowy nie mówi nic o jego pojemności.
C: 2484
H: 16
S: 63
2048 x 16 x 63 x 512 = 1056964608 bytes
1056964608 bytes = 1056964608 / 1024^2 = 1008 MiB
1056964608 bytes = 1056964608 / 1024^3 = 0.984375 ≈ 0.98 GiB
Proszę bardzo! Ogromne 0,98 GB! Przepraszam! Miałem na myśli 0,98 GiB! ;-)
Istnieje coś takiego jak „sektory gwarantowane”. Znajdziesz to na etykiecie niektórych dysków twardych lub w ich karcie danych. Jest to wynik toczącego się sporu między użytkownikami / konsumentami a sprzedawcami urządzeń pamięci masowej. To zamieszanie jest nadal obecne, w dobie przetwarzania w chmurze oraz w świecie, w którym dyski półprzewodnikowe stały się technologią głównego nurtu i stopniowo zastępują stare dyski twarde.
Powiedziałbym, że marketing ma z tym bardzo niewiele wspólnego. Jest to problem czysto matematyczny i nie jest to problem z samą matematyką, ale z ludźmi. To wszystko jest wielkim zamieszaniem, które zostało dozwolone. Przynajmniej Microsoft powinien oznaczać prefiksy binarne jako KiB, MiB i GiB. Windows jest nadal głównym systemem operacyjnym na PC.
W dawnych czasach komputery wszystkie obliczenia były drogie (w sensie wydajnościowym). Programiści używali wszelkiego rodzaju skrótów, aby wykonywać jak najmniej obliczeń. Jedną z tych sztuczek było przechowywanie części roku jako daty tylko dwóch cyfr, co ostatecznie doprowadziło do problemu z rokiem ubiegłym. Inną sztuczką było to, że zdefiniowali 1k (kilogram), aby nie oznaczać 1000, jak wszyscy inni w cywilizowanym świecie, ale zamiast tego 1024. To pozwoliło im skrócić kilka rogów podczas wykonywania obliczeń wielkości. Ten nawyk utknął i jest nadal używany, chociaż obliczenia komputerowe stały się o wiele tańsze.
Producent sprzętu podaje odpowiedni rozmiar, w którym K = 1000, M = 1000000 i G = 1000000000. To oprogramowanie daje fałszywe wartości.
Producenci oprogramowania zmieniają obecnie swoje nawyki. Na przykład OSX pokazuje odpowiedni rozmiar.
To powinno wyjaśnić inne komentarze, które uważają, że istnieje standardowy i metryczny odpowiednik w odniesieniu do rozmiaru dysku twardego.
Nie, nie używamy dokładnie systemu metrycznego do danych. Myślałbym o tym jako o „meta-metryce” - jednostkach, które są „obok” rzeczywistych jednostek metryki.
Przedrostki metryczne Pożyczono w celu wyrażenia wielkości danych - kilo =, mega =, giga-, tera-, peta- itp.
Jednak SI nie ma jednostki dla „bitów” lub „bajtów”.
Pożyczono także mniejsze jednostki, mili-, mikro- i nano-, choć nie dotyczyły one danych, ale „procesorów”. („Minikomputery” były mniejszymi komputerami w porównaniu z ramkami głównymi. „Mikroprocesory” i „mikrokomputery” były znacznie mniejsze niż minikomputery. W żadnym przypadku nie sugerowano stosunku 1000: 1).