Йобибайт. Прочитали — О чем подумали? А Вы знаете, что в соответствии со стандартами МЭКએ есть такая единица измерения информации? Посмотрите на
Что такое Бит? — первый вопрос, который я задаю на первой лекции курса «Алгоритмизация и программирования» и, как правило, получаю что-то неживое типа — «Элементарная единица измерения информации» или «Один бит может принимать только два значения, которые обозначают 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, получим только приближение, а не точное совпадение.
А именно такое разложение используется для кодирования чисел при их переносе из реального бесконечного и непрерывного мира в мир «коробочек» компьютера, занимающих конечное количество бит. Ближайшим к 1000 точным числом подобного разложения является 1024 = 210, поэтому и компьютерный килобайт не есть 1000 байт, а немного больше — 1024 байта. Таким образом, получается, что чем весомее десятичная приставка, тем больше разница между общепринятым и программистским пониманием объёма информации. Для «кило» — 24 байта; для «мега» уже 48,576 kB, ведь 220=1 048 576; а для «гига» — 73,742 MB, потому, что 230=1 073 741 824. Если измерить в «попугаях», по нашему в «Войне и мире», — это 23 полных набора или 92 электронные книги. Целый шкаф в домашней библиотеке — чувствительно!
Грамотный экономист или циничный менеджер тут же увидит в этом практическую выгоду. В областную
В завершение привожу таблицу, в которой записаны приставки к слову байт и соответствующий размер для отечественного стандарта ГОСТ и стандарта
Десятичная приставка | Двоичная приставкаએ | |||||
Название | Символ | Степень | Название | Символ | Степень | |
ГОСТ | ||||||
B | B | байт | 20 | |||
kB | KiB | Кбайт | 210 | |||
MB | MiB | Мбайт | 220 | |||
Гигабайт | GB | GiB | Гбайт | 230 | ||
TB | TiB | Тбайт | 240 | |||
PB | PiB | Пбайт | 250 | |||
EB | EiB | Эбайт | 260 | |||
ZB | ZiB | Збайт | 270 | |||
YB | YiB | Йбайт | 280 |
И уже совсем в завершение. Производители памяти для компьютеров добрались только до середины таблицы, т.е. «терабайтов», 1012. Время ещё есть, пока они доберутся до последней строчки с «йобибайтом», а Россия органично интегрируется в мировое сообщество и начнет применять его стандарты. Поэтому хотелось бы рекомендовать МЭК обратить своё внимание на почти 400 млн. человек, в совершенстве владеющих русским языком, у которых название устройства хранения информации «Восьми Йобибайтный винт» вызывает неприличные ассоциации.
Йоттабайт и йобибайт — это круто, опубликовано К ВВ, лицензия — Creative Commons Attribution-NonCommercial 4.0 International.
2 нравится это