Depolama kapasitesi ile karışıklık (10 ve 2 yetkileri) [kopya]


23

Bir HDD'ye bakıyordum ve şöyle bir belge buldum (Toshiba'dan, bağlantı: 2,5 inç SATA HDD mq01abdxxx ):

"Bir Gigabyte (1GB), 10'luk güçleri kullanarak 10 ^ 9 = 1.000.000.000 bayt anlamına gelir. Ancak, bir bilgisayar işletim sistemi, 1GB = 2 ^ 30 = 1.073.741.824 bayt tanımı için 2 güç kullanarak depolama kapasitesini bildirir ve bu nedenle daha az depolama alanı gösterir. kapasite."

Öyleyse 10'un güçleri 2'nin güçlerinden daha büyük, tamam.

Örnek 10 ^ 2 = 100 ve 2 ^ 2 = 4.

Ancak aynı depolama kapasitesi için yazan belgeyi anlamıyorum:

1GB , 1.000.000.000 bayt (10'un gücü) ve 1.073.741.824 bayt (2'nin gücü), o zaman: daha az depolama kapasitesi (2'nin gücü) gösterir. Neden daha az? 1 GB için 2 güçten 10 güçten daha fazla depolama kapasitesi görürsem.


13
“Neden daha az? 2 güçte 10 GB'lık depolama kapasitesi için 1 GB daha fazla depolama kapasitesi görürsem.” İnç cinsinden boyunuz santimetre cinsinden aynı boydan daha küçük bir sayı verir, çünkü santimetre cinsinden inç cinsinden daha fazla "uzunluk kapasitesi" vardır. Dolayısıyla, sabit değerin göstermesi için: birim ne kadar büyükse, sayı o kadar düşüktür.
Kamil Maciorowski

4
Daha az değil, aynı değer, iki farklı temel tarafından temsil edilir.
Ramhound

2
Basitçe söyleyemezsiniz ki 10 ^ 2 - 100 ve 2 ^ 2 = 4. 100'ün üssünde ne olacağını hesaplamalısınız.
Ramhound

4
"Bir bilgisayar işletim sistemi" - Mine değil ... Ya da, aslında, GUI'de MB (base10), CLI'de MiB (base2) kullanıyor. Sadece işleri ilginç kılmak için.
marcelm '

2
"10'un güçlerinin" 2'nin benzer büyüklük güçlerinden daha küçük olduğunu söylüyorlar . Örneğin, 1000 (10 ^ 3) <1024 (2 ^ 10). Ve 1000000 (10 ^ 6) <1048576 (2 ^ 20). Bu nedenle, bir sürücü üreticisine, 1 terabayt sabit diskinizde (en az) 1.000.000.000 bayt (ve aslında biraz daha fazlası) bulunurken, 1 terabayt alan bildiren bir işletim sistemi yardımcı programına 1.099.511.627.776 bayttır. Böylece işletim sistemi 1 TB sabit sürücünüzü 931 Gb veya biraz daha fazla olarak bildirir. (Ya da belki değil, yukarıdaki @ marcelm'e bakınız.)
davidbak

Yanıtlar:


58

2 gücünün kullanılmasının tarihsel nedeni, ikili koddaki satırlardan oluşan bir adres alanı kullanılarak CPU ve belleğe sabit diske erişilmesidir. Donanım üreticileri isimleri şöyle belirledi:

2^10 = 1024 and as it's almost 1000 then call it 1 Kilobyte

2^20 = 1048576 bytes and as it's almost 1000000 then call it 1 Megabyte

Normal kullanıcı için saçma ve hantal. Ayrıca “kilo”, “mega”, vb. Ön ekleri, “1 kiloWatt” ın 10 ^ 3 veya 1000 Watt anlamına geldiği Uluslararası Birimler Sistemi (SI) standardı ile çakışmaktadır.

Sorunu çözmek için, 2000 yılında Uluslararası Elektroteknik Komisyonu veya IEC, ISO / IEC 80000-13 normuna göre 2 gücüne dayanan birimler için bir gösterim şeması önerdi .

Yeni isimler eski isimlerdeki ikinci hecelerin yerine 'bi' yazılarak oluşturulmuştur ('2' ye atıfta bulunularak). Bir kilobayt artık bir kibibit olmalı ve böyle devam etmeli . Yeni birimler de karşılık gelen sembollere sahipler, bu yüzden '10 kibibyte 'şimdi 10 kB yerine 10 KB olarak yazılmıştır . Bu yazışma tablosu:

Notation      Symbol    Value
1 kilobyte    1 kB      10^3  = 1000 bytes
1 megabyte    1 MB      10^6  = 1000000 bytes
1 gigabyte    1 GB      10^9  = 1000000000 bytes
1 terabyte    1 TB      10^12 = 1000000000000 bytes


1 kibibyte    1 KiB     2^10 = 1024 bytes
1 mebibyte    1 MiB     2^20 = 1048576 bytes
1 gibibyte    1 GiB     2^30 = 1073741824 bytes
1 tebibyte    1 TiB     2^40 = 1099511627776 bytes

16 yıl sonra, bir çok donanım ve yazılım satıcısı halen SI isimleri ile baz-2 birimlerine başvuruyor . Bir "megabayt" 1000000 bayt veya 1048576 bayt anlamına gelebilir.

100 GB sabit sürücü satın alırsanız, kapasite 100x10 ^ 9 veya 10 ^ 11 bayttır. Ancak, bu büyük ama işletim sistemi diski yalnızca 93 GB kapasiteye sahip olarak bildirecek (10^11)/(2^30). 93 gibibit sürücüye eşdeğer bir 100 gigabayt sürücü satın aldınız . İşletim sistemi yanlış notasyonu kullanan sistemdir.

Sürücü üreticileri bu konuyu daima “gerçek biçimlendirilmiş kapasitenin daha az olabileceği” sonucuna götüren sorumluluk reddi ve açıklamalarla gizlemektedir.


1
Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
Journeyman Geek

21

Kısacası: Her şey pazarlama ile ilgiliydi.

jcbermu iyi açıkladı, ama hepsinin arkasındaki nedenleri kabul etmiyorum.

Herhangi bir bilişim sistemi ikili sistemi kullanırken, bitler ve baytlar normal olan ^ 2 olarak yazılır. Bu yüzden karışıklık için hatalı işletim sistemi veya yazılım değil. Burada her şey ikiliktir.

HDD üreticilerinin, ^ 10 sistemindeki HDD kapasitelerini belirtmesi, sizi pratik GB'nin bir kısmına sokar. 20GB'lık bir HDD aslında 18GB'lık bir depolama kapasitesine sahip olacak ve böylece ... 1TB'lik bir disk sürücüsü ~ 930GB'lık bir kapasiteye sahip olacak. 'Bbit' alaycılığı, bazı karışıklıkları önlemeye çalışmak için icat edildi, ancak pratikte benimsemedi.


10
Bunun nedeni diskteki baytların "gönderimden sonra yerleşmiş" olmasıdır.
davidbak

2
Doğru. "16 Gibi RAM'e yükselttim" diyen hiç kimseyi duymadım. Üreticilerin karışıklıktan sorumlu olduğunu sanmıyorum ama bundan kesinlikle kazanç sağlıyorlar. 80'li ve 90'lı yılların başında bilgisayar kullanıcıları kilogram ile kilobayt arasındaki farkın ne olduğunu ve nedenini biliyorlardı. Günümüzde, bilgisayarların ikili aritmetik ile çalıştırıldığını kim bilebilir?
Crowley

4
Bu pazarlama ile ilgili değil ve asla olmadı. Sabit diskler ve disketler her zaman gerçek SI öneki kullanılarak satılmıştır, çünkü başka bir taban kullanmak hiç mantıklı değildir.
boru

1
-1, korkunç. It's the fault of HDD manufacturers to state the HDD capacities in ^10 system, which robs you of quite some practical GB.Hayır, bunların hiçbiri doğru değil. HD üreticileri, ünitelerin gerçek ve doğru tanımlarını kullanarak başından beri doğru şekilde yapanlardır. Geliştiricilerin, bellek üreticilerinin ve SI birimlerini yanlış kullanan diğer kişilerin kendi hataları değildir. Ve elbette, depolama alanının hangi birimde ölçüldüğü "sizi pratik GB'den kurtarmaz" ya da kapasiteyi hiçbir şekilde değiştirmez.
UmutsuzN00b

1
pip: Bir 720KB disketi, her biri 512 bayt tam 1.440 blok tuttu. Aynı şekilde KB cinsinden ölçülen diğer boyutlarla. Söyleyebileceğim kadarıyla, "MB" nin manyetik depolama ortamıyla birlikte en yaygın anlamı 1.024.000 bayttı ve 720 KB'den iki kat daha büyük bir 1.44 MB diskete yol açtı.
supercat

16

jcbermu'nun cevabı iyidir, ancak buna farklı bir açıdan yaklaşmak istiyorum.

1GB, 1.000.000.000 bayt (10'un gücü) ve 1.073.741.824 bayt (2'nin gücü), o zaman: daha az depolama kapasitesi (2'nin gücü) gösterir. Neden daha az? 1 GB için 2 güçte 10 güçten daha fazla depolama kapasitesi görürsem.

Bir depolama ortamı - herhangi bir depolama ortamı - belirli sayıda erişilebilir bit depolayabilir. Genellikle, genel amaçlı hesaplamada, bayt veya bir kaç bayt olarak ifade edilir, ancak örneğin hafıza IC'lerine (entegre devreler, yongalar) bakmaya başlarsanız, hafıza kapasitelerini erişilebilir bitler cinsinden ifade edersiniz.

Bir sabit disk, teknik nedenlerle sektörler açısından ele alınan belirli sayıda bit veya bayt depolayacaktır. Örneğin, 4 TB'lık bir sürücünün, her biri 512 bayt olan 7.814.037,168 kesimi olabilir ve bu da 4.000.787.030.016 bayt depolama kapasitesine ulaşır. Aslında aldığın şey bu. (Uygulamada, daha sonra bunların bir kısmını bilgisayarın defter tutma bilgisine kaybedersiniz: dosya sistemi, dergi, bölümleme vb. Ancak, baytlar hala oradadır, sadece dosyaları depolamak için kullanamazsınız, çünkü depolamak gerekir. etkili bir şekilde dosyaları saklamanıza izin veren veri.

Tabii ki, 4.000.787.030.016 sayısı biraz tuhaf. Bu nedenle, bu bilgiyi başka bir şekilde temsil etmeyi seçiyoruz . Ancak, jcbermu'nun gösterdiği gibi, bunu iki farklı şekilde yapmayı seçiyoruz: on güç veya iki güç.

On'luk güçlerde, 4.000.787.030.016 bayt 4.000787030016 * 10 ^ 12 bayttır; Dört önemli hane ile "tera" nın SI tanımı için 4.001 TB'a yuvarlanır: 10 ^ 12. Sabit diskimiz 4 * 10 ^ 12 bayttan daha fazlasını depolayabilir, bu yüzden SI açısından 4 terabaytlık bir depolama cihazıdır.

İki güçte, 4.000.787.030.016 bayt 3.638694607 * 2 ^ 40 bayttır; Aynı zamanda daha küçük bir miktara benziyor , çünkü 3.639 4.001'den düşük ve pazarlama için kötü (üretici yandaki üretici aynı fiyata 4.0 TB'lik bir sürücü sattığında 3.6 TB sürücü satın almak istiyor?). Bu, ikili kod olan 3.6 "tebibytes" dir; burada "bi", bunun bir baz-iki miktarı olduğunu gösterir.

Gerçekte, ancak, tam olarak aynı bayt sayısı; sayı yalnızca farklı şekilde ifade edilir! Eğer hesabı tekrar yaparsanız, 3.638694607 * 2 ^ 40 = 4.000787030016 * 10 ^ 12 olduğunu göreceksiniz, böylece sonunda aynı depolama kapasitesine sahip olursunuz.


1
İyi bir şekilde açıklanmış, ancak kapasitenin istenen değere ulaşması için sektörler (örneğin, örneğinizdeki 7,8 [...] gibi) üreticiler tarafından seçilmiştir. Sadece 8 Milyar sektör, 8589934592 veya gerçek bir kapasite değeri elde etmek için herhangi bir sayı yapabilirler, ancak bu iş için iyi değildir. Fark teknik olarak mümkün olduğundan, bir üretici olarak büyük bir pazar vuruşu yapacağım: bir logo TrueCapacity (r) veya TrueSpace (r) ve satışların bu pazarlama manevrası ve diğer üreticilerden dolayı artacağı garanti edildi takip etmek zorunda (ve bunu yapmak için hazırlıksız olurdu).
Olağanüstü Zeka

@Overmind: Bu olası bir pazarlama tekniğidir. Saniyede fatura alan Hava Haberleşmelerine benzer şekilde (T-Mobile satın almadan önce). Bir depolama aygıtı üreticisi için pazarlamadan sorumlu olsaydınız, bu stratejinin peşinden gitmeye karar verdiğiniz bir strateji olabileceğini tahmin ediyorum.
TOOGAM

Bu cevabı bana en açıklığı sağlamak için buldum (belki de). Yani, 2 bir güç olması için gerçek bir ihtiyaç yok mu? Depolama ortamı boyutlarının çoğunun 2 gücünün olması konusunda özel bir şey yok mu?
Abdul

1
@Abdul (Tüketici) depolama cihazlarının çoğu , bayt cinsinden (veya aynı zamanda bitler olarak) iki güce sahip olmayan , kullanıcı tarafından erişilebilir kapasitelere sahiptir . Yukarıda belirtilen Overmind gibi, HDD'lerin tam kapasiteleri de markalama gereksinimlerini karşıladıkları sürece rastgele seçilebilir. SSD'ler 2 ^ n'ye daha yakın olma eğilimindedir, çünkü flash bellek yongaları genellikle ikisinin tam güçlerine sahip boyutlarda yapılır (çünkü adres hatlarına ve avantaj sağlayan bu tür şeylere sahiptirler), ancak tüm flaş kapasitesini aşırı sağlama nedeniyle dahili flaş kontrol cihazının dışındaki yazılımdan erişilebilir olacaktır.
CVn

5

Diğer cevaplar farkın tarihsel nedenini ele aldı, ancak bana matematiğe göre farkı soruyormuşsunuz gibi görünüyor.

10'un bir gücünün 2'nin gücünden daha büyük olduğu ve bunun yerine bir gigabaytın (10 ^ 9 bayt) bir gibibitten (2 ^ 30 bayt) daha küçük olduğu doğru.

Boyutların tersine çevrilmesi, bir gibabaytta (30 güç) bir gigabayttaki (9 güç) güçlerden daha fazla güç bulunduğuyla açıklanmaktadır. Güç sayısının, son boyut üzerinde her bir gücün büyüklüğünden daha büyük bir etkisi olduğu ortaya çıkmıştır.

Bir diskin bildirilen boyutunun, gibabayt (2 ^ 30) ile ölçüldüğünde, gigabayt (10 ^ 9) ile ölçülenden daha küçük olmasının nedeninin, daha büyük bir ölçü biriminin daha küçük bir sayı vermesine bağlı olarak sabit bir miktar ölçerken elde edilmesi doğaldır. . Örneğin, santimetre cinsinden yüksekliğe karşı inç cinsinden yüksekliği düşünün. Bir inç bir santimetreden daha büyük olduğundan, aynı yükseklik santimetreden (örneğin 183 santimetre) daha az inç (örneğin 72 inç) ölçecektir. Yükseklik her iki durumda da aynı fiziksel mesafedir, ancak her ölçüm sadece ölçü birimine göre farklı bir sayı verir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.