Академия управления мвд россии

Вид материалаУчебник

Содержание


Рис.2.2.1. Трансформация разных видов информационных записей в единую цифровую форму
Подобный материал:
1   ...   5   6   7   8   9   10   11   12   ...   33

91


информации

Очень часто на вопрос о том, что хранится в памяти компьюте­ра, можно услышать ответ - информация. Это не совсем верно, по­скольку даже если взять такую древнюю форму хранения информа­ции, как письменный текст, то оказывается, что в одном из них может быть много полезной информации, а в другом - мало, несмотря на то, что оба текста по объему равны. То же самое касается и устной речи:

из двух высказываний одинаковой продолжительности и с абсолютно одинаковым словарным составом одно высказывание может оказаться пустым, а другое - полезным. Причем для одного слушателя одно и то же дословно совпадающее сообщение может оказаться весьма полез­ным, а для другого - пустым сотрясанием воздуха. На этом принципе построены некоторые криптографические методы передачи важной для принимающего информации, скрывающейся во внешне малоин­формативном сообщении. Поэтому понятие информации обязательно включает в себя категорию полезности или нужности.

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

кроются в этом сообщении.

В компьютерной технологии это оказывается очень важно, по­скольку все привычные нам виды хранения и передачи информации в компьютере представляются одинаково стандартным образом в виде битов6, каждый их которых может принимать только два значения:

«1» или «О». Эти знаки можно трактовать так: «истина» или «ложь», «да» или «нет», а если проводить аналогию с живым мозгом, то одна клетка мозга - нейрон, находясь в «возбужденном» или «невозбуж-

5 Информатика: Энциклопедический словарь для начинающих/Под ред.

академика РАЕН Д.А.Поспелова. - М., 1994. С. 41.

6 Слово «бит» (двоичная цифра) произошло от английского сокращения «bit» (binary digit) - один из двух знаков 0 или 1, используемых в двоичной системе счисления. В системах обработки и хранения данных: наименьшая порция ин­формации, воспринимаемая компьютером, которая физически реализуется, на­пример, в виде одиночного импульса, передаваемого по схеме, или минимального участка магнитного диска, способного хранить знак «О» или «I».

92

ции. 1 пятому, если использовать средства визуализации содержания памяти компьютера и заглянуть в нее, то можно увидеть, что в памяти записаны лишь одни нули и единички. А если выделить какой-то фрагмент памяти, то, глядя на эти нули и единички, нельзя ничего сказать о том, что они обозначают, если не знать содержания этого фрагмента памяти.

Может возникнут вопрос: а как же тогда в этой памяти могут запоминаться тексты, рисунки, звуки и т.п., если все в итоге принима­ет форму нулей и единиц? И неужели эти нули и единички когда-то были портретом или, наоборот, могут превратиться в него? Да, это -так. Об этом более подробно будет рассказано ниже. А сейчас лиш­ний раз подчеркнем, что в памяти компьютера абсолютно вся инфор­мация хранится в однотипном виде нулей и единиц.

Если содержание памяти компьютера неизвестно, то опреде­лить, что там находится («Этюд в багровых тонах» или этюд Шопе­на), в общем случае невозможно. А если содержание памяти известно, например символьный текст или графический образ того же текста, но выполненного от руки и переведенного с помощью сканера в циф­ровую (компьютерную) форму, то, расшифровывая комбинации нулей и единичек, чем, собственно, постоянно только и занимаются отдель­ные блоки компьютера, можно определить и отразить на экране мо­нитора, какие же конкретно сведения содержатся в этой памяти, т. е. можно установить, какой текст там записан, о чем, собственно, идет речь.

Существует строгое математическое определение понятия ин­формации, которое, в свою очередь, опирается на понятие энтропии. Упрощенно понятие энтропии можно определить как уровень неоп­ределенности ситуации, от которой хотелось бы полностью избавить­ся. Математическое определение энтропии в упрощенном виде может выглядеть так:



(2.1)

где Е - энтропия (или информационная мера неопределенности), log2() - функция логарифма по основанию 2, N - количество возможных со­стояний интересующего объекта, процесса или явления.

Если, задав некоторый вопрос или получив некоторое сообще­ние об интересующем нас объекте, снимается часть неопределенно­сти, т. е. вместо числа возможных вариантов N его состояния получа­ется уменьшенное число N2, то новая энтропия будет равна Е2 =

logzCNz). Разность между исходной энтропией (неопределенностью) и последующей принято называть количеством полученной информа­ции:

I = Е - Ег (2.2)

Предположим, что нам удалось задать вопрос так, что новое число возможных состояний (или ответов) стало равным N; = N/2, т. е. если до вопроса были возможны N вариантов равновероятных отве­тов, а ответ на вопрос сузил это число вдвое, то теперь получаем ко­личество информации I = Е - Ег = logzCN) - logz(N/2) = log2(N) -

log2(N)+log2(2)=log2(2)=l.

Поскольку понятие количества информации полностью базиру­ется на понятии энтропии, то при оценке количества получаемой ин­формации можно поступать двояко: или следить за тем, на сколько снижается энтропия, и величину этого снижения использовать в каче­стве меры количества информации, или оценивать, сколько может быть ответов на задаваемый вопрос и все ли ответы будут равноверо­ятными. Если последнее утверждение верно, то в качестве количест­венной меры информации можно брать величину

I = log2(M), (2.3)

где М - число возможных равновероятных ответов. Эту же формулу

для удобства можно записать иначе:

log2(Konn4ecTBO равновероятных вариантов ответа) = = (количеству информации).

Поэтому на любой вопрос, ответ на который с равной вероятно­стью может быть «да» или «нет», всегда получаем одну единицу ин­формации I = logz(M) = logz(2) = 1.

Поскольку один бит памяти компьютера может хранить только два возможных варианта ответа на некоторый вопрос (ноль или еди­ницу), то в одном бите памяти компьютера можно хранить не более

одной условной единицы информации.

Много это или мало? Если запись, состоящая из нескольких би­тов, высокоинформативная, то это очень много (скажем точнее - пре­дельно много), а если эта запись так же пуста, как некоторые пусто­порожние фразы, то даже большое количество заполненных инфор­мационных битов может быть вообще неинформативным.

Приведем два простых примера. Первыу - чисто ученический -игра в угадывание чисел. Предположим, один участник игры загады­вает любое число от 1 до 128, а второй игрок должен его угадать за минимальное количество вопросов, ответы на которые могут быть

94

только односложными («да» и «нет»). Если формулировать вопросы таким образом, чтобы ответы на них содержали максимально воз­можное количество получаемой информации, то теоретически для угадывания числа потребуется задать семь вопросов. Хотя многие учащиеся поначалу утверждают, что в худшем случае может потребо­ваться задать 127 вопросов.

Оптимальная стратегия постановки вопросов очень проста - ка­ждый вопрос должен делить текущее множество возможных вариан­тов задуманного числа на две равновеликие группы. Первый вопрос зададим так: задуманное число больше, чем 64? Если ответ будет «нет», то значит задуманное число лежит в интервале 1-64. А если от­вет будет «да», то в интервале 65-128. В любом случае уровень неоп­ределенности оказывается сниженным со 128 до 64 возможных вари­антов задуманного числа. В зависимости от новой исходной ситуа­ции, вторым вопросом может быть (если оказалось, что задуманное число лежит в интервале от 65 до 128); задуманное число больше, чем 96? Ответ на этот вопрос также даст нам одну единицу информации. Если исходный уровень энтропии сначала равнялся Ео = log2(128) = 7, то после первого вопроса он стал равен е| = log2(64) = 6. А после вто­рого - Ё2 = logz(32) = 5. Каждый раз, задавая вопрос, ответ на который приносит одну единицу информации, мы снижаем неопределенность на единицу. Поэтому-то данная задача и решается за семь ходов.

Приведенный пример предельно упрощен. В реальной жизни все намного сложнее. Но понимание информационных законов по­зволяет лучше ориентироваться в реальных жизненных ситуациях. Например, в развитие предыдущей игры существует другая, в которой угадываются не числа, а слова. Если учесть, что задуманным может быть любое слово русского языка7, то поначалу может показаться, что данная игра может закончиться очень нескоро. Однако, оценивая ме­ру неопределенности в исходном состоянии этой задачи, получаем Е = logz( 100000) яа 16,6 условных единиц, т. е. примерно за 17 одно­сложных вопросов в принципе можно угадать любое русское слово. Реально это удастся далеко не каждому, поскольку надо уметь каж­дый раз задавать не абы какие вопросы, а лишь такие, ответы на кото­рые сужали бы вдвое текущую неопределенность.

Рассмотрим второй пример. Предположим, мы занимаемся рас­крытием некоторого преступления, о котором ничего неизвестно,

7 В обычном орфографическом словаре их около 100 тыс.

95

кроме того, что оно совершено одним из жителей города с миллион­ным населением. Поначалу энтропия (или уровень неопределенности) будет примерно равна Е = logz( 1000000) яа 20 условных единиц. При этом условно предполагается, что преступление с равной вероятно­стью мог совершить любой житель города, включая грудных детей и немощных стариков.

Предположим, что мы получили некоторое сообщение, из кото­рого достоверно следует, что преступник мужского пола. На сколько единиц снизилась при этом энтропия? Оказывается - ровно на одну условную единицу, если полагать, что число мужчин в этом городе примерно равно числу женщин и вероятности совершения преступле­ния мужчиной и женщиной одинаковы. Новый уровень неопределен­ности стал равен logz( 1000000/2) » 19. Он снизился на одну единицу, значит, в сообщении находилась одна условная единица информации. Но вспомним; что оценить информативность сообщения в подобных случаях можно и иначе, идя от обратного - не от того, сколько оста­лось подозреваемых, а от того, во сколько раз сузился их круг. Для этого следует воспользоваться формулой (2.3). Если сначала была альтернатива - «мужчина» или «женщина», то, сняв ее, получаем ко­личество информации равное log2(2)=l. Это та же самая условная единица информации. Подобным приемом будем пользоваться и дальше. Вместо того, чтобы рассчитывать оставшуюся неопределен­ность, постараемся оценить информационную емкость сообщения, которая рассчитывается по той же формуле (2.3), т. е. будем работать не с числом оставшихся подозреваемых, а с числом возможных вари­антов ответов на вопрос, позволяющих разбивать текущую неопреде­ленную ситуацию на равные и равновероятные части (не обязательно две). Поясним это дальнейшим ходом «раскрытия» преступления.

Предположим, что на следующем этапе стал достоверно извес­тен возраст преступника. Если допустить, что средняя продолжитель­ность жизни составляет 64 года и все возрастные группы жителей го­рода заполнены равномерно, то, получив сообщение о возрасте пре­ступника, фактически имеет примерно шесть условных единиц ин­формации, поскольку в нашем случае log2(M) = log2(64) = 6 (см. фор­мулу 2,3).

Таким образом, два сообщения о поле и возрасте преступника снизили энтропию с 20 до 13 условных единиц. А если из некоторых сообщений станет известен еще и день рождения преступника, то эн-

96

тропия уменьшится еще на 8,5 условных единиц, поскольку в году 365 дней и по формуле (2.3) получаем log2(M) = logz(365) » 8,5. В ито­ге - из 20 единиц информации, которые необходимы нам для полного «раскрытия» преступления, уже получено 15,5 условных информаци­онных единиц, что составляет примерно три четверти от требуемого. Осталось добыть всего лишь 4,5 двоичных единиц информации и преступление будет полностью «раскрыто».

Приведенный пример иллюстрирует, каким образом можно ко­личественно оценивать информационную емкость разных сообщений. Данные, собираемые в ходе реального раскрытия того или иного пре­ступления, зачастую несут лишь малые доли условных единиц ин­формации. Некоторые сообщения могут иметь разное содержание, но фактически нести одинаковую информацию.

Остановившись на достигнутом в «раскрытии» преступления, предположим теперь, что получено новое сообщение, из которого достоверно следует лишь то, что преступник мужского пола. В этом случае мы фактически ничего нового не узнаем, никакой новой ин­формации не получаем, поскольку уровень неопределенности (энтропии) при этом не изменяется. С таким явлением хорошо знако­мы все, кому приходилось изучать тома уголовных или уголовно-розыскных дел, многие документы которых могут иметь разное со­держание, но не привносить новой информации в раскрытие преступ­ления в силу либо повторяемости содержащихся в них сведений, (безусловно, важных для раскрытия преступления), либо их ненужно­сти для раскрытия.

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

4 Заказ 1497

97

»файл», следует сказать несколько слов о другой единице представле­ния информационных записей в компьютерной технологии.

Информационная запись в виде одного бита - это минимально возможная (атомарная) информационная запись. Однако, если бы компьютер оперировал только такими минимальными информацион­ными записями, то его реальное быстродействие было бы недопусти­мо низким. Поэтому любой компьютер за одно элементарное дейст­вие оперирует не с одним битом, а с целой серией битов, которая на­зывается машинным словом. Чем выше класс компьютера, тем длина одного машинного слова больше. Обычно машинные слова состоят из 8, 16, 32 или 64 битов. 64 битовые компьютеры - это высокопрофес­сиональная вычислительная техника, применяемая в основном в сложных физических и технических системах. Лучшими 64 битовыми компьютерами в 1995-1997 гг. были компьютеры серии Alpha фирмы DEC. Первые бытовые компьютеры, например IBM-PC/XT, были 8 битовыми. Следующее поколение бытовых компьютеров IBM-PC/AT (модель IBM-286) были 16 битовыми. А модели IBM-386, IBM-486 и Pentium являются 32 битовыми компьютерами.

Чтобы сравнивать объемы информационных записей в разных компьютерных системах, обычно используют 8 битовое машинное слово, которое называется байтом. Следовательно, байт - это 8 битов, составляющих единое целое, интерпретируемых и обрабатываемых компьютером информационных записей. Исторически сложилось так, что байт стал основной единицей измерения всех объемов информа­ционных записей. Причин тому очень много, начиная от чисто техни­ческих (электронных) и заканчивая особенностями письменной куль­туры разработчиков компьютерных технологий. Следует вспомнить, что на первых компьютерах в основном обрабатывалась числовая и символьная информация. А поскольку в европейской культуре коли­чество всех письменных символов не превышает 256, то для их коди­ровки оказывается достаточным именно 8 битов. Если бы компьютер­ная технология начала развиваться не в европейской, а в восточной культуре, где для кодировки всех иероглифов потребовались бы ты­сячи комбинаций кодов из элементарных битов, то возможно, что роль одного байта играло бы машинное слово длиной не в 8, а в 16 или даже в 32 бита. С помощью 16 битов можно закодировать 65 536 символов, а с помощью 32 битов - более 4 млрд. различных символов (точнее - 4 294 967 296 символов).

98

Для входящих в мир цифровых информационных технологий порой бывает сложно привыкнуть к новой информационной единице записи - байт. Но поскольку с помощью одного байта обычно кодиру­ется один символ, то на первых порах для удобства можно ставить знак равенства между буквой и байтом. Поэтому, если говорится, что некоторый документ, содержащий только символьную информацию, по объему равен N байт, то можно считать, что в нем содержится N символов (букв). Причем к символам относятся также все пробелы между словами, а также ряд других невидимых символов типа окон­чания строки (возврата каретки пишущей машинки) и др. Всегда сле­дует помнить, что реально в памяти компьютера хранятся не сами символы (буквы), а наборы битов (нулей и единичек) из восьми штук, называемых байтами. Разное сочетание этих нулей и единичек соот­ветствует разным символам, с которыми имеют дело в реальной жиз­ни.

Для пользователя компьютерной технологией основной струк­турной единицей информационной записи является файл. Если попы­таться ранжировать основные элементы хранения информации в па­мяти компьютера, то в порядке возрастания они располагаются сле­дующим образом:
  • бит - минимальная (атомарная) единица информационной запи­си, принимающая, например, значения: ноль или единица;

«байт - информационная запись, состоящая из восьми битов;
  • файл - информационная запись, состоящая из произвольного числа байтов.

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

Остановимся на некоторых условностях, принятых в компью­терной технологии, при работе с файлами. Итак, не вдаваясь в детали, можно сказать, что файл - это некоторая информационная запись, на­ходящаяся в памяти компьютера или на некотором томе - магнитном носителе цифровой информации типа дискеты, винчестера, стримме­ра (магнитной ленты) и т.п. Следует подчеркнуть, что по своей логи­ческой структуре электронная память компьютера и любого носителя цифровой информации абсолютно идентичны. Все они состоят из би­тов, сгруппированы в байты, из которых составляются файлы. Поэто­му, если заглянуть в память компьютера, можно увидеть там лишь множество нулей и единичек (см.рис.2.2.1). Точно так же выглядят и «внутренности» любого файла. Подчеркнем - информация разного ти­па хранится в однотипных ячейках памяти компьютера.

4*

99


Рис.2.2.1. Трансформация разных видов информационных записей в единую цифровую форму

Слово «файл» пришло к нам из английского языка (file), где оно имеет очень много значений: напильник, пилочка для ногтей, хитрец, пройдоха, жулик, скоросшиватель, шпилька, подшитые бумаги, дело, подшитый комплект газет, картотека, ряд, шеренга, хвост, очередь и др. Отсюда ясно, почему именно это слово было выбрано для обозна­чения компьютерной информационной записи. В нем одновременно скрывается смысл многих свойств того, что хотелось бы обозначить этим словом8.

Существует формальное определение понятия файла - это «поименованная целостная совокупность данных на внешнем носите­ле»9. Оно полностью соответствует сложившимся современным поня­тиям. Поэтому только на внешних носителях информации цифровые записи называются файлами, а если они переносятся в электронную (внутреннюю) память компьютера, то обычно файлами уже не назы­ваются.

Поскольку обработка центральным процессором возможна толь­ко тех информационных записей, которые находятся в электронной оперативной памяти, то после загрузки содержимого файла с магнит­ного диска в оперативную электронную память некоторое время в ком­пьютере существуют две идентичные цифровые информационные за­писи. Первая - это та, которая первоначально находилась (и осталась) на диске. И вторая - это копия первой, но уже загруженная в электрон­ную оперативную память. То, что находится в оперативной памяти компьютера, файлом уже не называется. Более того, строго говоря, не всегда битовая картинка цифровой записи в файле совпадает с копией этой же записи в памяти компьютера, поскольку, чтобы обработать данные, содержащиеся в файле, не обязательно загружать его полно­стью в электронную память. Электронная память всегда более ограни­чена по объему, чем внешняя. Поэтому зачастую из файла загружают­ся лишь его фрагменты, необходимые для работы. Как и когда это происходит, пользователь обычно не знает. Если он при этом удаляет внешний носитель информации, например дискету из компьютера, то программа, управляющая обработкой информации, может попросить вернуть дискету на место. В том случае, если программа недоброка­чественная, то может произойти сбой в работе всего компьютера.

8 На рис.2.2.1 длинные шеренги рядов насечек из единиц, объединенных единой информационной связью.

9 Борковский А.Б. Англо-русский словарь по программированию и инфор­матике (с толкованиями). - М., 1987.
101

Таким образом действуют все типы компьютеров. Поэтому сле­дует запомнить, что обрабатывая некоторую информацию на компью­тере, мы в действительности работаем с информационными записями, расположенными в электронной оперативной памяти компьютера. И если их не сохранить на внешнем носителе информации (диске или дискете), то после выключения компьютера вся вновь введенная, из­мененная или обработанная информация будет безвозвратно утеряна. Операция переноса информации из энергозависимой, и поэтому не­долговременной, электронной оперативной памяти на долговремен­ную внешнюю (магнитные диски) называется сохранением. Сохраня­ется же информация, только в файлах.

Учитывая отмеченные особенности, уместно упомянуть распро­страненную ошибку начинающих пользователей компьютерной тех­нологии, плохо представляющих названные процессы. Нельзя выклю­чать (или перезагружать) компьютер после ввода или обработки дан­ных, без их сохранения в файле.

Более того, следует ввести за правило - никогда не выключать (или перезапускать) компьютер, не завершив корректно все работаю­щие программы. Дело в том, что большинство прикладных программ, начиная свою работу, открывают старые или заводят новые файлы, считывают из них или записывают служебную информацию, которая используется на всем протяжении существования и использования данной программной системы. В момент выхода из программы все обмены информационными данными между оперативной памятью и файлами на внешних носителях корректно завершаются, за что несет ответственность сама программа. Если это не происходит, то рано или поздно могут возникнуть неполадки в работе не только данной систе­мы программ, но и всего компьютера.

Возвращаясь к формальному определению понятия файла как поименованной целостной совокупности данных на внешнем носите­ле, рассмотрим основные атрибуты «поименованное™».

Естественно, что первым главным атрибутом любого файла яв­ляется его имя. Имя файла - это несовпадающая с другими именами файлов совокупность символов, обозначающая определенную цифро­вую информационную запись на внешнем носителе. В разных компь­ютерных системах (точнее - в операционных системах) существуют свои ограничения на имена файлов. Но есть некоторые общие прави­ла. Например, в имени файлов нельзя употреблять разделительные