Чому Ubuntu більше не вимірює одиницю розміру файлу як байт, мегабайт, гігабайт тощо?


13

Десь я прочитав, що Ubuntu більше не буде використовувати звичні одиниці розміру файлів, про які ми всі знаємо на даний момент (кБ, МБ, ГБ, ТБ) і переходимо на інший стандарт IEC (KiB, MiB, GiB, TiB). Якщо це правда, я хотів би знати, що пояснює цю зміну, і вплив (якщо такий є) на цю зміну, особливо це стосується мультиплатформних додатків або програм, що працюють з Wine.


3
Байт - байт. Поганий приклад.
Натан Осман

2
Наскільки мені відомо, використання KiB, MiB ... тощо вже існує в Ubuntu. Тож "Ubuntu більше не буде .." має бути "Ubuntu вже не .."
Weboide

Відповіді:


60

Коротка відповідь - так, префікси змінюються. Але це насправді не має значення.

Обґрунтування

Завжди виникала плутанина, оскільки одиниці десяткового стилю, такі як KB, MB, GB, використовувались з двійковими даними - KB означало 1024 байти, а не 1000 байт, як можна було очікувати. І звичайно багато людей у ​​всьому світі використовують фактичні десяткові префікси у своєму повсякденному житті за метричною системою.

Мережеві інженери та багаторічні користувачі комп'ютерів, звичайно, проходять навчання, щоб зрозуміти різницю, але триваюча плутанина означала, що програми не відповідають їх використанню; одна програма може використовувати MB для позначення 1 000 000 байт (за допомогою десяткового префікса), а інша може означати 1048 576 байт (використовуючи двійкову інтерпретацію).

Це призвело до того, що Ubuntu врешті-решт прийняв нову політику щодо одиниць .

Вплив

Вплив насправді лише проблема відображення. Розміри файлів та пропускна здатність мережі будуть відображатися за допомогою десяткових префіксів, тому файл 5 КБ насправді буде 5000 байт. Це насправді відповідає тому, що очікують багато (більшість?) Людей.

Використання пам'яті та деякі утиліти низького рівня відображатимуть розміри за допомогою двійкових префіксів (KiB, MiB, GiB, TiB). Це може спричинити певну плутанину, але насправді краще, ніж статус-кво, де у нас є один префікс, який означає дві різні речі.

Оскільки Windows все ще використовує стару спеціальну систему, програма Wine може відображати дещо інші розміри файлів для одного файлу. Однак я, принаймні, часто бачу різні розміри, які все одно відображаються завдяки методам округлення, тому я не переконаний, що це головне питання.

Дивись також:


2
Ага. Чому б не змусити політику просто використовувати 1МБ для позначення 1024 у всіх випадках? Якщо люди придбають накопичувач "2 ГБ" (який насправді є накопичувачем 2GiB), а потім відкриють його в Ubuntu, це повідомлятиметься як 2,2 Гб, або близько того. Я розумів, що коли-небудь використовувати MB для значення 1000 завжди було неправильним, Ditto для KB, GB та ін.
mlissner

Привід 200 Гб - це дія 200 ГБ, а не 200 Гбіт
txwikinger

2
@mlissner: насправді використання MB для позначення 1024 × 1024 байтів завжди було помилковим, навіть якщо воно було загальноприйнятим, і тому нові, бінарні префікси були стандартизовані 11 (!) років тому. Тож Ubuntu просто впроваджує 11-річний стандарт IEC та 2-річний стандарт ISO (тепер відомий як ISO / IEC 80000).
JanC

2
Мене ніколи не плутали, доки 1кБ становив 1024 байт.
бурлі

-1

Це SOOOO ... ПРОСТО !!!

Кілька років тому з цього приводу було дуже мало плутанини. Тому що позначення

  • 1 Кб = 1024 байти
  • 1 МБ = 1024 Кб

викладали, вивчали та використовували у всіх університетах та майже у всій галузі (програмне та апаратне забезпечення) у всьому світі протягом багатьох років.

Дурна ідея підрахунку в базі 1000 (навіть не в базі 10) - лише черговий симптом глупості нашого часу та сучасного життя.

Те, що робить речі набагато гіршими, полягає в більш дурній ідеї намагатися встановити (і продовжувати робити це) старе позначення для непрактичних 1000-базових одиниць. ЦЕ СТВОРИЛИ ВСІ КОНФУЗІЇ. Якби вони лише прийняли конвенцію, що

  • 1 KiB = 1000 байт
  • 1 МіБ = 1000 байт

тоді було б набагато менше плутанини і проблема була б набагато меншою.

Вони повинні були спробувати це встановити

1KB = 1024 bytes
1MB = 1024 KB

and

1 Ikb or ikb or Kib = 1000 bytes
1 IMb or imb or Mib  = 10^6 bytes

Тут абсолютно немає необхідності використовувати базові 1000 одиниць. Ймовірно, ідея зародилася вперто, що сказало: «О, ні, якщо кіло 1000, а мега - 1 000 000, ми будемо використовувати кіло і мега в базі-1000 для інформаційних одиниць (база 2!)». Все це лише тому, що одного дня, але це було набагато довше часу, хтось мав прикрою ідеєю (не так вже й погано, хоча) називати кілобайт (кб) купою 1024 байтів. Якби він вибрав k2b і m2b , і називає їх kitwo bytes і mitwo bytes (або байки kookie , байки mookie та байти gookie), наприклад, уся ця відстала ідея використання base-1000 для всіх додатків і цілої операційної системи та нав'язування її як звичайного способу розмови про заходи в HW та SW до peolpe не відбуватиметься, що робить речі набагато гіршими.


3
Насправді, ми робимо це більш логічним. Дивіться, наприклад, ми використовуємо км, коли маємо на увазі 1000 метрів. Чому це має бути інакше? Причиною k = 1024 є продуктивність та простота. Справді швидко просто змінити ці біти, а не робити реальні поділи. Однак сьогодні, отримуючи все більші та більші числа, розбіжність між 1024 ^ n та 1000 ^ n . Хоча це і не було проблемою, оскільки вони були практично однаковими, це починає бути дуже заплутаним.
Георг Шоллі

1
викладали, вивчали та використовували у всіх університетах та майже у всій галузі (програмне та апаратне забезпечення) у всьому світі протягом багатьох років. Ні, це не було. Це міф, який розповсюджують програмісти, щоб виправдати свою лінь. "мегабайт" означав "1 000 000 байт" у 1960-х, а "кілобайт" означав "1000 байт". Microsoft головним чином винен у безглуздих та непрактичних підрозділах на базі 1024.
ендоліт

-2

Це дійсно заплутало те, що сталося з приводу зміни позначення розмірів ще в 1998 році і було б набагато простіше, якби вони просто додали новий набір повноважень 10 як нове позначення, але, на жаль, вони цього не зробили, оскільки міркування на час був зосереджений на виправленні етимології слова, що вживається "Кіло", тому всі початкові розміри, засновані на потужностях 2 (1024), отримали нові назви та нові позначення, а потім нова потужність 10 чисел припускала оригінальну етикетку до 1998 року імена.

Тож нехай починається плутанина:

До 1998 року кілобайт означав 1024 байти і позначався як K або KB.

Після 1998 року оригінальний кілобайт до 1998 року був перейменований на Кібібайт і отримав нове позначення K або KiB, і було створено абсолютно новий пост Кілобайт 1998 року, який має 1000 байт і має скорочене позначення KB, так що сьогодні ми маємо наступне:

1 Кб = 1000 байт (КБ не можна скоротити до К) 1 КіБ = 1000 байт (KiB може бути скорочено до K)

Усі позначення були змінені таким чином, що KB є офіційною стенограмою, яка посилається на поточний кілобайт (1000), тоді як K і KiB офіційно є скороченими позначеннями для Кібібайт (1024).

Це стає особливо заплутаним, тому що більшість із нас, хто був у перші дні задовго до 1998 року, звикли називати кілобайт 1024 байтами і писати KB або K як скорочення, але сьогодні це неправильно, і всі ми це робимо насправді до "Кібібайт", коли ми говоримо "Кілобайти" і часто використовуємо неправильне позначення за офіційно невідповідними світовими стандартами, встановленими IEC ще в 1998 році, що трохи заплутало, але не було б таким поганим, за винятком того, що зараз існує навіть 18 років люди, які досі не усвідомлюють, що K і KB НЕ однакові і абсолютно різні.

Тож насправді є різниця між "K" (1024) та "KB" (1000)!

Це, до речі, і сама причина, чому на жорстких дисках завжди здається набагато менше місця, ніж вони рекламували, але виробники жорстких дисків - це ті, хто коректний і застосовує сучасні відповідні стандарти, коли вони пишуть "Терабайт" на упаковці, коли людина, що купує накопичувач, насправді думає про тебібайти і очікує місця як такого.

Між іншим, різниця між 2 ТБ (Терабайт) і накопичувачем 2 Т або 2 ТиБ (Тебібайт) - це дуже великі величезні 199,023,255,552 байти, менші за те, чим був би 2 T або 2 TiB накопичувач, і це різниця менша за величину трохи більше 185 G або GiB (Gibibytes), про що більшість людей іронічно думають, найчастіше, коли вони говорять "Гігабайт", хоча і помилково.

Це одна з дивних сторонніх орендодавців, відомих вигадках іноземних інвестицій в світі комп'ютерів, що є хорошою виносною інформацією та пояснює деякі дивні розбіжності, про які сьогодні багато людей абсолютно не знають.

Багато людей замислюються і вимовляють назву "Кілобайт" (1000), коли вони насправді думають про блок "Кібібайт" (1024), і це стає більш заплутаним, оскільки люди пишуть стенограму беззмістовно, але це неправильно, сучасний кілобайт повинен бути позначено "KB" і не повинно бути "K" або "KiB" ніде в будь-якій документації або програмі, яка, як тільки було пояснено, насправді відноситься до Кібібайт (1024).

Короткі позначення K (1024) та KB (1000) більше не є тим самим, і у випадку з Кібібайт можуть використовуватися або K, або KiB, але не KB.

Це ваш мозок, це ваш мозок на Кібібайте - смажений ще?

Лол


"До 1998 року кілобайт означав 1024 байти і позначався як K або KB." Це міф. Наприклад, Shugart SA 400 вміщав 109 375 байт і був проданий як "109,4 Кбайт" у 1976 році . CDC 9746 мав 60 000 000 байт і був проданий як "60 М байт" у 1974 р.
ендоліт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.