З усіх придбаних вами жорстких дисків вони ніколи не будуть такими великими, як розмір рекламованих; з 320 ГБ до 290 ГБ, з 500 ГБ до 450 Гб тощо. Чи є технічна причина для цього?
З усіх придбаних вами жорстких дисків вони ніколи не будуть такими великими, як розмір рекламованих; з 320 ГБ до 290 ГБ, з 500 ГБ до 450 Гб тощо. Чи є технічна причина для цього?
Відповіді:
Технічна причина полягає в тому, що виробники жорстких дисків продають вам ємності в метричних одиницях. Отже, ГБ = 1 000 000 000 байт за метричною системою. Однак комп'ютери вимірюють розмір накопичувача потужністю 2. Отже, 1GiB = 1,024MiB, 1MiB = 1,024KiB тощо. Це означає, що 1GiB = 1,073,741,824 байт, різниця 73,741,824.
Отже, коли ви встановлюєте свій накопичувач 1 Гб (заради прикладу), ОС бачить лише 0,93 Гбіт, і це є причиною розбіжності.
(Якщо ви ніколи раніше не бачили абревіатури GiB, це нове позначення, прийняте для позначення потужностей 1024, а не 1000. Однак більшість операційних систем повідомлять про GiB як GB, що ще більше плутає цю проблему)
Спочатку це була відповідь на це питання (об'єднане) про накопичувач ручок 4 Гб.
Почнемо з твердження: " Людська система базується на потужності 10, двійковій на потужності 2 ".
Далі це може дати першу відповідь на ваше запитання.
В метричних префікси потужність 10, 1000 або 10 ^ 3 до , 10 ^ 6 М , 10 ^ 9 G ...
В бінарних префікси сила 2 (2 ^ 10 = 1024 не так далеко від 1000 , але різні, 2,4% ).
4000000000/1024/1024/1024 Your 4GB are 4 000 000 000 Bytes
3.72529029846191406250 That becames around 3.73 GiB
Постачальники та закон : Продавці поводяться за правилами ринку, коли закони не змушують їх робити інше. 4 продажі краще, ніж 3,78. З тих самих причин Інтернет-провайдери часто говорять про bps та дозволяють зрозуміти Bps . Є коефіцієнт 8: Байт ( B ) - 8 біт ( b ).
Проблема полягає в тому, що закони існують, але не у всіх країн однакові.
Міжнародна система , або SI , є найбільш широко використовуваним в світі для торгівлі та науки (Вона була опублікована в 1960 році і в даний час частково лише США , що прийняття, Бірма та Ліберії).
Він встановлює не тільки одиниці вимірювання, але навіть префікси .
Оскільки в комп'ютерному світі закономірним є використання числової бази потужністю 2 (а не 10, як у людському світі ), то в 1998 році була введена система бінарних префіксів . Ось безпосередньо стіл . Сьогодні ми знаходимо в ситуації, що
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
Коли ви читаєте 1GB
це повинно бути 1 000 000 Bytes
,
замість того, щоб, коли ви читаєте 1GiB
це повинно бути 1 073 741 824 Bytes
.
Чому все-таки слід бути, а не є ? Тому що це залежить від того, як законодавець нації, в яку виробляється предмет, та законодавець нації, в яку цей товар ввозиться, приймають та перетворюють у законі директиву міжнародних комісій.
Тож тримайте очі добре відкритими.
(Навіть тому , що в ряді країн , це може бути передбачено , щоб написати інформацію для виконання обов'язків права на наклейці. Зазвичай це так мало , ніж ви на самому справі потрібно , щоб добре відкрити очі , щоб прочитати його прочитати)
Додаткові довідки
Коли виробник дисків створює накопичувач об'ємом 500 ГБ, він має ємність 500 000 000 000 байт, і вони впевнено збираються рекламувати його як таке. Комп'ютери, будучи двійковими пристроями, віддають перевагу потужністю двох, з різним набором префіксів, так що саме вони використовують для вимірювання простору пам’яті:
1 кібібайт = 2 ^ 10, 1 мебібайт = 2 ^ 20, 1 гібібайт = 2 ^ 30 і т.д.
Наприклад, у мене на цьому пристрої приєднаний накопичувач об'ємом 300 ГБ, і Windows відображає наступні можливості:
Capacity: 300,082,855,936 279 GB
300,082,855,936 / 2 ^ 30 = ~ 279. Це насправді показує вам розмір диска в гібі байтах, а не гігабайтах . Отже, він повинен читати:
Capacity: 300,082,855,936 279 Gi
Можна сказати, що це недолік у Windows, але, мабуть, не існує остаточного стандарту значень префіксальних ємностей. У цій статті у Вікіпедії ще більше корисної інформації, включаючи розділ "Плутанина споживачів" .
Дивіться цю статтю для пояснення.
В основному, є два визначення "гігабайт". Одне визначення - 1 ГБ = 1024 3 байти. Це визначення, яке повідомляє комп’ютер (з технічних причин).
Інше визначення (з одиниць SI) - 1 ГБ = 1000 3 байти. Це те саме, що і всі інші метричні одиниці (1 гігаметр = 1000 3 метри).
Оскільки метричне визначення гігабайт менше, ніж те, що комп'ютер вважає гігабайт, виробники жорстких дисків використовують метричне визначення, оскільки вони можуть надрукувати більшу ємність на коробці.
Невеликий простір також використовується самою файловою системою, але більша частина пропущеної ємності походить від визначення гігабайти.
Якщо ви хочете бути впевнені в тому, наскільки він насправді великий, дізнайтеся, який розмір сектора він використовує та загальну кількість секторів. Потім помножте ці два числа, щоб отримати загальний розмір у байтах. Це справжній розмір! У будь-якій операційній системі! Його також називають ємністю диска .
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.
Ви часто знайдете кількість секторів, надрукованих на етикетці на самому пристрої. Якщо ні, то перегляньте аркуш даних для вашої моделі. Це документ, який конкретизує всі види технічних деталей щодо вашої моделі. У світі, підключеному до Інтернету, ви знайдете це на веб-сайті виробника, або в якійсь таблиці на веб-сторінці або як файл, який ви можете завантажити (зазвичай PDF) для вивчення та довідки. У похилому віці (до того, як була мережа Інтернету), можливо, ви отримали друковану копію, придбавши жорсткий диск.
Існує два види секторів: фізичний та логічний. Найчастіше розмір фізичного сектора становить 512 байт на стандартному диску. Розмір сектору не вказаний на етикетці сучасного жорсткого диска. Щоб зрозуміти, чому це, потрібно зрозуміти різницю між логічним та фізичним секторами. Спробую пояснити це коротко.
Сучасні жорсткі диски використовують логічні сектори. Ви побачите це як LBA (Адресація логічного блоку). Насправді, шукаючи загальну кількість секторів на етикетці, ви побачите кількість секторів, що називаються LBA, тому це скаже щось подібне LBA: 123456789
. Це ваша загальна кількість секторів. Це логічні сектори на диску, і вони записуються та читаються з використанням методу LBA адресації. Цей метод дозволяє операційній системі використовувати форматування файлової системи (наприклад, NTFS, FAT32) з одиницею розподілу, що перевищує розмір фізичного сектора.
Блок розподілу за принципом схожий на розмір сектора , але він демонструє певний рівень гнучкості, завдяки чому ви можете змінювати його розмір, не змінюючи розмір фізичного сектора. Якщо ви придбали та встановили, а потім відформатували більше одного жорсткого диска у своєму житті, то ви, безперечно, натрапили на цей термін. Найпоширенішими розмірами одиниць розподілу для жорсткого диска, відформатованого NTFS, сьогодні є 4K, 8K та 16K. Я кажу "сьогодні" через розміри дисків, які накопичують жорсткі диски в ці дні.
А саме те, який розмір одиниці розподілу підходить для одного жорсткого диска, може бути непридатним для іншого. Це залежить від того, наскільки вона велика. Менші розміри краще з меншими розмірами розподільної одиниці, а більші - з більшими розмірами одиниць розподілу. Однак це не заважає вам використовувати великий розмір одиниці розподілу на невеликому жорсткому диску. Навпаки! Завдяки логічній природі одиниці розподілу, вона може бути встановлена під час форматування, і вона може бути більшою, ніж фізичний сектор. На невеликому накопичувачі жорсткого диска великий блок розподілу, як правило, дає незначне збільшення продуктивності за рахунок дискового простору.
Ось чому Microsoft змінила термінологію, від розміру сектору, до одиниці розподілу. Це сталося кілька версій Windows назад. Якщо я пригадую правильно, саме з одним із 9x сімейств Windows вони почали використовувати цей термін.
Потім блок розподілу перекладається і відображається внутрішньо в один або кілька фізичних секторів на диску. Це завдання виконує контролер приводу. Контролер - це плата друкованої плати на задній панелі жорсткого диска. На ранніх накопичувачах жорсткого диска ATA (тепер відомих як Parallel ATA або PATA) плата контролера була відома як IDE (Integrated Drive Electronics). Історично склалося, що на жорстких дисках не завжди був вбудований контролер. Натомість це був окремий інтерфейс.
Найбільш поширений розмір фізичного сектору на жорсткому диску, адресованому LBA, - 512 байт. Але приблизно з 2010 року багато нових накопичувачів жорсткого диска тепер мають розширений формат . Це просто означає, що він використовує розміри сектору, які перевищують 512 байт. В даний час найбільший розмір сектора становить 4 Кб, або 4096 байт.
Основний момент: розмір фізичного сектора на сучасному жорсткому диску не має ніякого значення для користувача. Розміри фізичного сектора впорядковані в логічні сектори та одиниці розподілу та віддаляються від користувача. Існує ще один шар абстракції з дисками розширеного формату, оскільки ці диски можуть імітувати 512 байтові сектори, але використовувати 4096 фізичних секторів. З цієї причини розмір сектору, як правило, не друкується на етикетці жорсткого диска, адресованого LBA, і тим більше для дисків розширеного формату. Але вони мають розміри фізичного сектору. Ви знайдете цю деталь на сторінці даних для кожної моделі або за допомогою утилітного програмного забезпечення в операційній системі.
Цей тип дисків заздалегідь датує дискові диски, адресовані LBA. Вони використовують метод під назвою CHS (Cylinder Head Sector) адреси для читання та запису. Користувач має прямий доступ до фізичних секторів. На відміну від LBA, немає шару абстрагування сектора. Розмір сектора на цих дисках майже гарантовано становить 512 байт. Але користувач може це змінити.
Ви коли-небудь чули про "форматування низького рівня"? Звідси походить цей термін. В результаті прямого доступу до фізичних секторів можливо змінити розмір сектора. Це дозволяє користувачеві "низького рівня" форматувати диск, що означає переписати сектори фізично на диск. Це іноді було корисно, коли виникла проблема з диском. Це був засіб оновлення диска. Справжнє форматування низького рівня вже неможливо із сучасними накопичувачами жорсткого диска. Це не слід плутати з форматуванням файлової системи.
На дисках CHS завжди, серед інших деталей, було надруковано кількість секторів на трек (SPT). Якщо розмір сектору не згадувався, він вважався 512 байт. Інші деталі - кількість циліндрів і кількість головки. Це були основні три. Звідси і назва, Сектор головки циліндрів. Для цього теж була вагома причина. Оскільки на дуже ранніх накопичувачах жорсткого диска, які використовували CHS-адресацію, всі ці параметри потрібно було встановити вручну в програмі установки BIOS системи. Це було частиною процесу встановлення! Отож, це була ключова інформація для правильного її встановлення. По мірі розвитку платформи ПК, включаючи вдосконалення BIOS, дисковий накопичувач та інновації інтерфейсу, можна було просто підключити накопичувач жорсткого диска, і система виявить його та налаштує його автоматично.
Можливо, ви помітили, що я писав про ці диски в минулому часі. Це тому, що вони застаріли, і їх (майже) ніде не знайти. Окрім технічних музеїв.
Деякі основи спочатку про вимірювання:
Це основні вимірювання, але ви не зіткнетесь зі словами, якщо не програміст. Розміри дисків, розділи та файли використовують байти. Байт - це найбільш практичне вимірювання, з яким можна працювати. Сектор на диску - це блок байтів. За умовою, це найчастіше 512 байт, що кратно 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
Ці найменші розміри байтів можна легко виразити лише цифрами. Але 20-й кратний 2 - це 1048576, а 30-й кратний - 1073741824. Якщо це являє собою байти, ми можемо використовувати префікс, щоб просто виразити те саме значення. Ось чому у нас є префікси, як кіло, мега і гіга. Але проблема полягає в тому, що це префікси SI (Système International) , які використовуються в метричній десятковій системі вимірювання. Кожен префікс у цій системі представляє значення, кратне 10. У той час як двійковий комп'ютер використовує базу з 2 для вимірювання інформації.
unit 10^0 = 1
kilo 10^3 = 1000
mega 10^6 = 1000000
giga 10^9 = 1000000000
Саме з цієї причини IEC, орган міжнародних стандартів, ввів поняття бінарних префіксів. Назви кіло, мега, гіга тощо, в цій системі були дещо змінені, щоб відобразити, що вони повинні використовуватися для двійкових вимірювань.
kibi 2^10 = 1024 = 1024^1
mebi 2^20 = 1048576 = 1024^2
gibi 2^30 = 1073741824 = 1024^3
Назви - це сполучення відповідних назв у системі СІ та слова бінарне. Наприклад, кібі утворюється з кі ло та бі нарії.
Якщо я скажу, що предмет має масу 5000 грам, я можу виразити це значення префіксом як 5 кГ (кілограм). Я ділю його на тисячу, щоб зняти проміжні нулі. Оскільки значення префікса відомо, другої людини не потрібно запитувати мене, скільки грам я виміряв у перший раз. Він просто перевертає процес, взявши моє позначення 5 кГ та помноживши його на тисячу, щоб перетворити його на грами. Кіло означає тисячу, тому 5 х 1000 = 5000.
Перші 30 секторів на диску - це 15360 байт, якщо кожен сектор - 512 байт. Якщо говорити простіше, я міг би поділити його на 1000. Результат - 15,36 кілобайт, або 15,36 кБ. Якби я округлив його до найближчого цілого числа, це було б 15 кБ. Якщо інша людина подивилася на це число, він припустив би, що 15 кБ - точний показник, і помножив його на 1000, щоб перетворити його в байти. Отже, це було б 15000 байт, що не вірно, оскільки початкове вимірювання становило 15360 байт. З іншого боку, якби я розділив 15360 байт на 1024, я отримав би рівно 15 Кб! Це кібібайт . Немає десяткового розширення! Оскільки в ньому написано "КіБ", а не "КБ", інша людина знала б помножити на 1024, а не 1000, щоб отримати початкове значення.
Аналогічно, коли виробник друкує 8 Гб на пристрої, він використовує десяткові префікси. Ті, з кінцевими нульовими значеннями! Отже, 8 ГБ - це не 8 ГіБ (гібібайт) або 8 х 2 ^ 30, а 8 х 10 ^ 9 = 8 000 000 000 байт. Однак Windows використовує обчислення двійкових розмірів (потужність 2) з типом десяткових префіксів (тобто "ГБ"). Отже, у Windows ці 8 000 000 000 байт діляться на 2 ^ 30 (або 1024 ^ 3), щоб отримати 7.450580597 "ГБ" (насправді ГіБ). Це округлюється до найближчого сотого місця, тому він відображатиметься як 7,45 "ГБ" у Windows. Я продовжую цитувати "GB", оскільки Microsoft повинен використовувати GiB для цього значення, а не GB. Це лише рекламує вже заплутану тему.
Зараз я перегляну кілька прикладів, використовуючи інформацію про мітки із жорстких дисків на малюнках. Давайте спочатку подивимось на 500 Гб диск.
Capacity: 500 GB
LBA: 976773168
976773168 x 512 = 500107862016 bytes
500107862016 / 1024^3 = 465.761741638 ≈ 466 GiB
Отже, це 466 GiB, або 466 ГБ в Microsoft термінах (і JEDEC). Зауважте, що число не було навіть після поділу. Я вважаю, що це тому, що існує більше секторів, ніж користувач може використовувати для зберігання даних. Деякі сектори захищені, а деякі використовуються для повторного відображення. Деякі сектори з часом стають поганими, тому інші галузі використовуються як резерв. Привід жорсткого диска відмічає та відслідковує погані сектори та припиняє їх використання.
Якщо взяти лише номер ємності і перетворити його в GiB, він буде виглядати приблизно так.
500 GB = 500 x 10^9 = 500000000000 byte
500000000000 byte = 500000000000 / 1024^3 = 465.661287308 ≈ GiB
Ви можете бачити, що це дещо менша кількість, але вона все ще до 466 Гб. Але в точних байтах це ближче до того, скільки ви можете реально використовувати. Таким чином, вам не потрібно знати розмір сектора. Точна потужність все ще обчислюється, використовуючи номер та розмір сектору LBA. Це я буду використовувати в решті прикладів.
Capacity: 320 GB
LBA: 632672208
632672208 x 512 = 323928170496 bytes
323928170496 / 1024^3 ≈ 302 GiB
І нарешті, ось один із дискових шахт. Основна ідея дуже схожа. Розмір сектора передбачається 512 байт, якщо це не вказано інше. Я погляну на диск Quantum. Ви можете зробити IBM самостійно. Квантовий диск нічого не говорить про його ємність.
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
Ось так! Цілих 0,98 ГБ! Пробачте! Я мав на увазі 0,98 ГіБ! ;-)
Існує щось, що називається "гарантовані сектори". Ви знайдете це, надруковане на етикетці деяких накопичувачів жорсткого диска, або в їхньому аркуші даних Це результат поточної суперечки між користувачами / споживачами та постачальниками пристроїв зберігання даних. Ця плутанина існує і сьогодні, в епоху хмарних обчислень та в світі, де твердотілі диски стали основною технологією і поступово замінюють старі жорсткі диски.
Я б сказав, що маркетинг має дуже мало, якщо що, стосунку до цього. Це суто математична проблема, і це не проблема самої математики, а людей. Це все лише велика плутанина, яку можна було продовжувати. Принаймні, Microsoft має позначати бінарні префікси як KiB, MiB та GiB. На сьогоднішній день Windows все ще є основною операційною системою ПК.
Насправді вони зазвичай такі великі, як їх рекламують, але:
Можуть бути і інші причини, але це основні, про які я знаю
За старих часів комп'ютерів кожен розрахунок був дорогим (у сенсі продуктивності). Програмісти використовували всі види ярликів, щоб зробити якомога менше обчислень. Одним із таких хитрощів було зберігання частини року в даті лише двох цифр, що в кінцевому рахунку призвело до проблеми y2k. Ще одна хитрість полягала в тому, що вони визначали 1 кг (кілограм) не означає 1000, як всі інші цивілізованого світу, а означають 1024. Це дозволило їм вирізати кілька кутів, роблячи розрахунки розмірів. Ця звичка дотримується і досі використовується, хоча комп'ютерні розрахунки стали набагато дешевшими.
Виробник обладнання надає вам належного розміру, де K = 1000, M = 1000000 і G = 1000000000. Саме програмне забезпечення дає хибні значення.
В даний час виробники програмного забезпечення змінюють свої звички. Наприклад, OSX показує належний розмір.
Це має прояснити інші коментарі, які вважають, що існує стандартний та метричний еквівалент, коли йдеться про розмір жорсткого диска.
Ні, ми не використовуємо метричну систему саме для даних. Я б вважав це "метаметричним" - одиницями, які знаходяться "поруч із" фактичними метричними одиницями.
Метричні префікси БИЛИ запозичені для вираження розмірів даних - kilo =, mega =, giga-, tera-, peta- тощо.
Однак у SI немає одиниці для "біт" або "байт".
І менші одиниці, мілі-, мікро- та нано- були також запозичені, хоча й не застосовуються до даних, а до «процесорів». ("Мінікомп'ютери" були меншими комп'ютерами порівняно з основними кадрами. "Мікропроцесори" та "мікрокомп'ютери" були набагато меншими, ніж міні-комп'ютери. Ні в одному випадку не передбачалося співвідношення 1000: 1.)