Как хранится информация и кодируется информация в битовых данных. Почему в жестких дисках на самом деле объем меньше заявленного?
Думаю сейчас практически всем известно, о том, что цифровая информация характерна тем, что ее можно легко накапливать, хранить и обрабатывать, причем без малейших ошибок! А ведь это как раз и делает компьютер, будучи, в сущности, цифровым автоматом. То, что он появился на свет, обусловлено прогрессом в цифровом представлении любой информации — текстовой, числовой, графической, звуковой и т. д.
Издавна было ясно, что для передачи информации вполне достаточно использовать двоичное кодирование. Например, можно договориться с соседями по ночному пикнику о том, что отсутствие мощного дыма на горе означает спокойное состояние, а его наличие — появление врагов или бандитов. В данном случае можно говорить о манипуляции интенсивностью света. Передача телеграфных сообщений основана на манипуляции тока, а при радиотелеграфной связи используется амплитудная манипуляция синусоидальных сигналов с частотой в сотни— тысячи герц.
Кодирование информации в биты
Сейчас единицей двоичной информации является бит. Он имеет всего два значения — логические 0 и 1 [или утверждения «Да» и «Нет», или «True (Истина)» или «False (Ложь)»]. Бит может быть простейшим электрическим сигналом: есть напряжение на проводе — это логическая единица, нет — логический ноль. Сама величина напряжения значения не имеет. Тем не менее считается, что у наиболее распространенных логических микросхем логический ноль — это уровень напряжения ниже порога в 1,4—1,5 В, а логическая единица — это уровень сигнала выше этого порога.
По мере роста объема передаваемой информации пришлось перейти к более крупным единицам ее измерения. К примеру, для передачи 16 значений десятичных чисел от 0 до 15 придется использовать минимум четыре двоичных числа (24 = 16). Каждое число дает разряд, так что, например, число 0 мы можем записать как двоичное 0000, число 15 — 1111, а число 10 — 1010. В последнем случае имеем
10 = 1x8 + 0x4 + 1x2 + 0x1,
где 8, 4, 2 и 1 — это веса разрядов двоичного числа.
Не все на десятичных числах строится
Итак, значения десятичных чисел, к которым мы привыкли и считаем их вполне естественными, могут задаваться как двоичными кодами, так и десятичными кодами, которыми можно кодировать отдельные буквы, цифры, специальные знаки и даже целые фразы. Так, для кодирования алфавитно-цифровой информации нужны десятки кодов, а по большому счету (с учетом необходимости кодирования ряда специальных знаков) их нужно около двух-трех сотен.
Оказалось, что самым приемлемым «пакетом» двоичных единиц информации стали байты — они содержат восемь двоичных единиц и, соответственно, имеют 28 состояний (всего 256 со значениями от 0 до 255). Таким образом, информацию можно оценивать ее объемом — байтами, килобайтами (1 Кбайт = 1024 байта), мегабайтами (1 Мбайт = 1024 Кбайт) и т. д.
Почему в винчестере в 500 гигабайт, на самом деле не 500 гигабайт?
Некоторые пользователи и даже разработчики комплектующих изделий для ПК (прежде всего блоков памяти и жестких дисков — винчестеров) упрощенно считают, что 1 Кбайт = 1000 байтов. Это неверно — их все же 1024! Об этом стоит постоянно помнить — нередко пользователи ПК удивляются, откуда берутся десятки и сотни Кбайт на их жестком диске. А на самом деле они никуда не исчезали, просто разработчики таких дисков не обратили внимания на разницу в 24 байта на каждый килобайт. Иногда они это делают намеренно — пусть пользователь радуется, что его диск оказался с большей памятью!
С идеи двоичного кодирования началось развитие цифровых вычислительных машин. Этому способствовало и то, что были созданы простые электронные схемы с двумя устойчивыми состояниями равновесия, например электронные триггеры и запоминающие ячейки на основе заряжаемого и разряжаемого конденсатора. Простота этих схем содействовала надежности их работы и возможности миниатюризации. Хотя были созданы и электронные устройства с большим числом состояний равновесия (например, 10 для десятичных устройств), они так и не получили широкого распространения. Оказалось проще создавать их на базе простых и надежных двоичных ячеек.
Тут важно еще раз отметить, что до сих пор нет точного определения ценности информации. К примеру, для передачи текстовой информации могут использоваться и единицы, отличные от байта. Но для работы компьютеров такая неопределенность не приемлема. Да они и не предназначены для оценки ценности информации — к счастью, эта функция остается за нами! Так что вполне достаточно в технических устройствах, коими и являются компьютеры, оценивать объемы компьютерной информации в битах, байтах, килобайтах и прочих производных от них единицах.