Йоттабайт и йобибайт — это круто

Йобибайт. Прочитали — О чем подумали? А Вы знаете,  что в соответствии со стандартами МЭК есть такая единица измерения информации? Посмотрите на табличку в Википедии или в конце этой заметки!

atkritka_1366385283_166[1]Что такое Бит? — первый вопрос, который я задаю на первой лекции курса «Алгоритмизация и программирования» и, как правило, получаю что-то неживое типа — «Элементарная единица измерения информации» или «Один бит может принимать только два значения, которые обозначают 0 и 1», то, чему научили в школе. Ну и что дальше? А дальше ничего — аксиоматика, а дальше, стремясь познать мир, надо бы его дробить и расщеплять, издеваться над ним, как над атомом в андронном коллайдере. Дорогого стоит, вот и приходится принимать «бит» как нечто неделимое, как просто данность — шутка.

Продолжаю диалог — Ну, так расскажите, как Вы его ощущаете и почему именно «бит» элементарная единица измерения количества информации. Это много или мало, с чем его сравнить и как его связать с окружающим нас необъятным и непрерывным миром, насколько это понятие упрощает жизнь и почему «бит» так прочно вошёл в программирование? А в ответ, тишина … Разберёмся?

Побродив немного по Википедии,  наткнулся на такую фразу — «В настоящее время не существует единого определения термина информация». О-ба-на! А что, можно измерить несуществующее? В информатике и не такое возможно, а самое главное, это необходимо и полезно.

Бит — сокращение binary digit, а ещё и интересная игра слов, bit в английском — «немного», «малость». Впервые для измерения количества информации слово bit было использовано Клодом Шенноном A Mathematical Theory of Communication. Рефлексия великих учёных всегда поражает и напоминает мне образность мышления первобытных человеческих племен, например, имена у североамериканских индейцев. Гвэкигижиг — Небо, поворачивающееся над головой, малость — просто бит, куда уж проще.

Конечно, для полного понимания обратимся к первоисточнику и почитаем классика: «Бит — это двоичный логарифм вероятности равновероятных событий или сумма произведений вероятности на двоичный логарифм вероятности при равновероятных событиях» или, например, попроще: «Бит — базовая единица измерения количества информации, равная количеству информации, содержащемуся в опыте, имеющем два равновероятных исхода. Это тождественно количеству информации в ответе на вопрос, допускающий ответы «да» либо «нет» и никакого другого (то есть такое количество информации, которое позволяет однозначно ответить на поставленный вопрос)». Вот, понимаешь, какой Гвэкигижиг получается. «Я убью тебя, … толмач-переводчик!». Не всякий с первой попытки осмыслит эти наборы по отдельности понятных слов, собранные в предложения мозгом великого учёного.

Если отказаться от статики и включить динамику то, то же самое можно сказать так: изменение значения двоичного разряда, называемого «битом», — это переключение, то есть соответствует смене состояния на противоположное, что понятнее и короче. Носителем такого изменения может быть все, что мы придумаем, можем ощутить или померить, лишь бы у носителя были противоположности, например, свет: «видно–не видно»; электрическое напряжение в розетке: «стукнет–не стукнет»; стрелка компаса: «север–юг» и ещё масса всего, что может приобретать противоположные значения. Как мы будем называть эти противоположные состояния в таком контексте все равно, хоть «трали-вали», хоть «мумба-юмба». Однако, для конструктивного использования такого представления о бите хотелось бы получить тот самый носитель, физическую основу для сохранения состояния двоичного разряда и уже потом думать о названии.

Под конструктивным использованием будем понимать возможность отобразить, записать, сфотографировать, т.е. сохранить, окружающий нас мир, а по возможности ещё и манипулировать этими сохраненными образами по нашему усмотрению. Вот здесь оказывается, что бит это действительно унарная, неделимая единица — просто какая-то ярчайшая иллюстрация философской категории Единства и борьбы противоположностей. Но к черту философию, раз поняли, что для отображения (переноса) непрерывного мира в дискретный мир миниатюрных переключателей, их надо группировать. Первая такая группировка — Его Величество Байт. В мире микропроцессоров и персональных компьютеров байтом принято называть группировку из 8 бит, т.е. такую «коробочку» в которую можно положить, хранить, различать и изменять нечто, имеющее 28 = 256 состояний.

На самом деле байт штука аппаратно зависимая, обычно под байтом понимают одну часть, половину, машинного слова. А машинное слово имеет размер регистров центрального процессора. Так, что раньше байт был размером 6 бит, а сейчас приближается к 32 битам. Когда Вы покупаете новый компьютер, то в технических характеристиках процессора, обязательно встретите слово разрядность, сейчас 32 или 64. Так вот — это и есть размер регистра, а, следовательно, и машинного слова. В семействе сетевых протоколов для обмена информацией между компьютерами порцию передаваемой информации так же называют байтом, а что бы подчеркнуть размер порции в 8 бит, говорят октет. Но октет, как-то коряво звучит, байт лучше, поэтому просто договоримся в рамках этой заметки считать байт размером в 8 бит.

Что такое нечто в «коробочке»-байте — это тема отдельного разговора под названием «Тип данных». Сейчас же, для получения физического ощущения значимости байта, ограничимся тем, что размера этой «коробочки» достаточно чтобы различить все коды графических образов строчных и прописных символов английского и русского алфавитов (2*(26 + 33) = 118, ещё чуть-чуть останется для цифр, знаков пунктуации и ещё чего-нибудь полезного). Раз их можно различить, то можно поодиночке складывать в эти «коробочки» код буквы алфавитов, хранить и изменять  их, что, собственно, и делает любой компьютер, направляемый жёсткой рукой программиста.

Подсчитаем, сколько нужно байтов для хранения книги в, так называемом, электронном виде, например, «Войны и мира» в 4-х томах. На одной странице в среднем помещается 2 000 графических символов русского алфавита, проверьте, в редакторе MS Office есть статистика. В одном томе, приблизительно, 400 страниц, т.е. для одного тома потребуется 400 * 2 000 = 800 000 байтов. В математике принято тысяче сопоставлять приставку «Кило», значит можно сказать, что для хранения одного тома потребуется 800 Килобайт (сокращенно kB). Для хранения четырёх томов, соответственно, 800 Кб * 4 = 3 200 Кб или 3 200 000 = 3,2 * 106 байт, 3,2 миллиона байт. Миллионам соответствует приставка «Мега», т.е. 3,2 Мегабайта (сокращенно MB). Даже переносной современный компьютер ноутбук оснащен долговременным хранилищем данных объёмом более 100 Гигабайт (сокращенно GB), а Гига — это уже 109. Сколько экземпляров романа «Война и мир» можно поставить на полки такого хранилища? 100 * 109 / 3,2 * 106 = 31,25 * 103 = 31 250 экземпляров романа или 125 000 — восьмушка миллиона, солидных книжек по 400 страниц в каждой, скажем прямо, впечатляет. Районная детско-юношеская библиотека в портфеле! Вот, оказывается, о чём говорят цифры, но только тем, кто понимает, что такое байт.

Педантичный программист обязательно увидит ошибку в этих вычислениях. А заключается она в том, что число 10, к которому мы привыкли с детства,  не может быть разложено на множители по основанию компьютерной системы счисления 2. Так в десятичной системе счисления:

100 = 10 * 10 = 102;
1000 = 10 * 10 * 10 = 103;
10000 = 10 * 10 * 10  * 10 = 104 и

в двоичной системе счисления аналогично

4 = 2 * 2 = 22;
8 = 2 * 2 * 2 = 23;
16 = 2 * 2 * 2 * 2 = 24.

Таким образом, значения разложений на множители в десятичной и двоичной системах счисления ни когда не совпадут, между точными значениями 8 и 16 двоичного разложения ни чем не заполненное и приличное расстояние. 8 ближе к 10, чем 16, но не 10. Аналогично и для любого числа кратного 10 — 100, 1000, 10 000, получим только приближение, а не точное совпадение.

47ddd6[1]А именно такое разложение используется для кодирования чисел при их переносе из реального бесконечного и непрерывного мира в мир «коробочек» компьютера, занимающих конечное количество бит. Ближайшим к 1000 точным числом подобного разложения является 1024 = 210, поэтому и компьютерный килобайт не есть 1000 байт, а немного больше — 1024 байта. Таким образом, получается, что чем весомее десятичная приставка, тем больше разница между общепринятым и программистским пониманием объёма информации. Для «кило» — 24 байта; для «мега» уже 48,576 kB, ведь 220=1 048 576; а для «гига» — 73,742 MB, потому, что 230=1 073 741 824. Если измерить в «попугаях», по нашему в «Войне и мире», — это 23 полных набора или 92 электронные книги. Целый шкаф в домашней библиотеке — чувствительно!

Грамотный экономист или циничный менеджер тут же увидит в этом практическую выгоду. В областную Федеральную антимонопольную службу можно подать жалобу о недобросовестной рекламе производителей накопителей на жестких магнитных дисках, например, на IBM. Они абсолютно неправильно указывают ёмкость, меньшую, не реальную, не программистскую и этим вводят в заблуждение самых активных покупателей — программистов. После чего, в соответствии с Российским законодательством, ФАС обязана затеять разбирательство со всеми вытекающими последствиями. И, теоретически, если удастся доказать, что такой «ошибкой» производитель нанес Вам урон моральный — обманули сволочи, и материальный — заныкали 92 электронные книги,  то можно получить неплохую компенсацию.

В завершение привожу таблицу, в которой записаны приставки к слову байт и соответствующий размер для отечественного стандарта ГОСТ и стандарта  МЭК એ — Международной электротехнической комиссии, независимой, неправительственной организации.

Измерения в байтах
Десятичная приставка Двоичная приставка
Название Символ Степень Название Символ Степень
ГОСТ МЭК
байт B 100 байт B байт 20
килобайт kB 103 кибибайт KiB Кбайт 210
мегабайт MB 106 мебибайт MiB Мбайт 220
Гигабайт GB 109 гибибайт GiB Гбайт 230
терабайт TB 1012 тебибайт TiB Тбайт 240
петабайт PB 1015 пебибайт PiB Пбайт 250
эксабайт EB 1018 эксбибайт EiB Эбайт 260
зеттабайт ZB 1021 зебибайт ZiB Збайт 270
йоттабайт YB 1024 йобибайт YiB Йбайт 280

И уже совсем в завершение. Производители памяти для компьютеров добрались только до середины таблицы, т.е. «терабайтов», 1012. Время ещё есть, пока они доберутся до последней строчки с «йобибайтом», а Россия органично интегрируется в мировое сообщество и начнет применять его стандарты. Поэтому хотелось бы рекомендовать МЭК обратить своё внимание на почти 400 млн. человек, в совершенстве владеющих русским языком, у которых название устройства хранения информации «Восьми Йобибайтный винт» вызывает неприличные ассоциации.

 

CC BY-NC 4.0 Йоттабайт и йобибайт — это круто, опубликовано waksoft, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.


2 нравится это

Добавить комментарий