Куда исчезают 69 гигабайт с каждого терабайта и почему это стало причиной судов с производителями

Прокомментировать Просмотры: 11

Приобретая новый накопитель с заветной отметкой «1 ТБ» на упаковке, пользователи нередко испытывают недоумение: подключив устройство к ПК и заглянув в проводник, мы видим лишь 931 ГБ. Куда же испаряются почти 7% оплаченного пространства, если на накопителе еще нет ни единого пользовательского файла?

Строго говоря, никакого обмана здесь нет, хотя из-за этих злосчастных семи процентов гиганты индустрии не раз становились ответчиками в суде, а некоторые громкие разбирательства длились десятилетиями. Корень путаницы кроется в том, что термин «гигабайт» уже много лет трактуется двояко, а вендоры железа и операционные системы используют принципиально разные системы исчисления.

Две версии одного гигабайта

Производители накопителей опираются на классическую метрическую систему: приставки «кило» обозначают тысячу, «мега» — миллион, «гига» — миллиард, а «тера» — триллион. Соответственно, терабайтный диск содержит ровно 1 000 000 000 000 байт — это честное и легко проверяемое значение.

В то же время среда Windows исторически базируется на двоичных алгоритмах, где килобайт равен 1024 байтам, мегабайт — 1024 килобайтам и так далее. В этой системе гигабайт насчитывает 1 073 741 824 байта. Если разделить номинальный триллион байт на это число, мы как раз получим показатели проводника:

size = 1_000_000_000_000         # 1 ТБ, заявленный на коробке
print(size / 1024**3)            # 931.32 — именно это значение Windows именует «ГБ»

# по мере роста множителя увеличивается и погрешность
for i, prefix in enumerate(["КБ", "МБ", "ГБ", "ТБ", "ПБ"], start=1):
    print(prefix, f"{(1 - 1000**i / 1024**i) * 100:.1f}%")
# КБ 2.3%, МБ 4.6%, ГБ 6.9%, ТБ 9.1%, ПБ 11.2%

Масштаб несоответствия нарастает лавинообразно, поскольку 1024 превосходит 1000 всего на 2.4%, но при переходе к старшим порядкам эта дельта возводится в степень. Во времена гибких дисков расхождения были незаметны, тогда как современные многотерабайтные массивы «теряют» уже сотни гигабайт.

Истоки двоичного килобайта

Применение двоичного килобайта обусловлено чистой прагматикой. Архитектура компьютерной памяти строится на степенях двойки, поэтому емкость микросхем органически кратна 1024, 2048 или 4096 байтам. Инженерам было удобно округлять 1024 байта до привычного «килобайта», ведь погрешность составляла всего скромные 2.4%.

Показательным артефактом той эпохи служит стандартная дискета на 1.44 МБ. Она вмещала 2880 секторов по 512 байт, что суммарно составляло 1 474 560 байт (или 1440 двоичных килобайт). Чтобы получить маркетологические «1.44 МБ», эту сумму просто делили на 1000. В результате «мегабайт» на этикетке не соответствовал ни десятичной, ни двоичной системе.

Неприжившиеся кибибайты

В конце 1998 года Международная электротехническая комиссия предприняла попытку упорядочить терминологию, утвердив специализированные двоичные приставки: кибибайт (KiB) для 1024 байт, мебибайт (MiB), гибибайт (GiB) и т.д. Предполагалось, что классический «килобайт» вернется к строгому значению в тысячу байт.

Технически инициатива была безупречной, но на практике прижилась лишь в документации и некоторых дистрибутивах Linux. Термин «кибибайт» многим показался громоздким, а редмондская ОС проигнорировала нововведение. Еще в 2009 году разработчик Microsoft Реймонд Чен пояснял, что навязывать пользователям незнакомые обозначения бессмысленно. По сей день Windows оперирует гибибайтами, но по привычке маркирует их привычной аббревиатурой «ГБ».

В отечественной практике действовал ГОСТ 8.417-2002, где прямо оговаривалось исторически вольное использование приставок СИ для байтов. Двоичный килобайт предписывалось обозначать как «Кбайт» с заглавной буквы, тогда как строчная «к» обозначала тысячу. Однако этот метод работал лишь для килобайта, поскольку приставки «мега» и «гига» в системе СИ и так пишутся с прописной буквы, окончательно стерши грань между десятичным и двоичным вариантами.

Судебные баталии за заветные проценты

Для рядовых потребителей логика казалась оскорбительной: приобретая 80 ГБ, пользователь обнаруживал в системе лишь 74.4 ГБ. Именно этот аргумент лег в основу коллективного иска к Western Digital, поданного в 2005 году юристами из Сан-Франциско. По их расчетам, на «украденных» 7% легко поместились бы десятки часов музыки или тысячи снимков.

Летом 2006 года компания пошла на мировое соглашение, хотя и отвергла обвинения. Пострадавшим покупателям предоставили право на бесплатный софт для бэкапа (номиналом в 30 долларов), а адвокаты получили внушительную компенсацию. Кроме того, вендор обязался четко указывать на коробках реальный объем доступного пространства.

Аналогичный иск вскоре настиг и Seagate. В конце 2007 года компания также урегулировала претензии, предложив американским клиентам денежную компенсацию или бесплатные утилиты резервного копирования, пообещав впредь прозрачнее информировать аудиторию о методике подсчета емкости.

Переход Apple и Linux на десятичную систему

Пионерами в решении этой проблемы стали производители альтернативных ОС. Начиная с Mac OS X 10.6 Snow Laboratories (2009 год), Apple внедрила отображение дискового пространства в честных десятичных величинах. После обновления владельцы 200-гигабайтных накопителей внезапно обнаруживали у себя «прибавку» свободного места.

Весной 2010 года к этому стандарту присоединилась Ubuntu (начиная с версии 10.10). Новая политика предписывала мерить диски и скорость сети в десятичных единицах, а оперативную память — в двоичных, строго разделяя приставки. Исключение сделали лишь для низкоуровневых утилит вроде df и du во избежание сбоев в системных скриптах.

Тем временем Windows сохранила верность двоичному исчислению в интерфейсе десятичных обозначений. В результате один и тот же терабайтный накопитель на Mac отображается как 1 ТБ, а в среде Windows — как 931 ГБ, хотя физический объем данных остается неизменным.

Многолетняя юридическая эпопея с Apple

Самое затяжное разбирательство стартовало в конце 2014 года и касалось уже не дисков, а аппетитов самой мобильной ОС. Владельцы iPhone и iPad подали иск против Apple, заявляя, что iOS 8 «съедает» около 3 ГБ, из-за чего на 16-гигабайтном устройстве пользователю доступно лишь около 13 ГБ (потеря до 23% заявленного объема).

Корпорация парировала тем, что габариты системы активно освещались в СМИ, а ограничения прописаны в спецификациях. Судебные качели длились долгие годы: иски отклонялись, возобновлялись апелляционными судами и вновь возвращались на рассмотрение. Процесс затянулся настолько, что пережил саму эпоху продаж 16-гигабайтныx гаджетов от Apple, превратившись в своеобразный юридический прецедент.

Где же кроется правда?

С точки зрения метрологии, право на стороне производителей: приставка «тера» действительно равна триллиону, и этот триллион байт физически присутствует на носителе. Погрешность допускает скорее Windows, демонстрирующая двоичный объем под видом десятичного. Впрочем, логику ОС можно понять — ломать устоявшиеся привычки сотен миллионов людей чревато хаосом.

Более того, реальное свободное пространство всегда оказывается еще меньше за счет служебных структур файловой системы, разделов восстановления и компонентов ОС. В то же время с оперативной памятью никакой путаницы нет: планка на 16 ГБ содержит ровно 16 двоичных гигабайт, поскольку этот тип памяти неотрывно привязан к степеням двойки. В итоге современный компьютер сочетает в себе разные трактовки одного и того же термина, служа лучшим доказательством того, почему индустрии стоило вовремя принять те самые кибибайты.

 

Источник

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов