За основание можно принять любое натуральное число – два, три, четыре, шестнадцать и т. д. Следовательно, возможно бесконечное множество позиционных систем.
Десятичная система счисления
   Пришла в Европу из Индии, где она появилась не позднее VI века н. э. В этой системе 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, однако информацию несет не только цифра, но и место, на котором цифра стоит (то есть ее позиция). В десятичной системе счисления особую роль играют число 10 и его степени: 10, 100, 1000 и т. д. Самая правая цифра числа показывает число единиц, вторая справа – число десятков, следующая – число сотен и т. д.
Двоичная система счисления
   В этой системе всего две цифры – 0 и 1. Особую роль здесь играет число 2 и его степени: 2, 4, 8 и т. д. Самая правая цифра числа показывает число единиц, следующая цифра – число двоек, следующая – число четверок и т. д. Двоичная система счисления позволяет закодировать любое натуральное число – представить его в виде последовательности нулей и единиц. В двоичном виде можно представлять не только числа, но и любую другую информацию: тексты, картинки, фильмы и аудиозаписи. Инженеров двоичное кодирование привлекает тем, что легко реализуется технически.
Восьмеричная система счисления
   В этой системе счисления 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7. Цифра 1, указанная в самом младшем разряде, означает, как и в десятичном числе, просто единицу. Та же цифра 1 в следующем разряде означает 8, в следующем – 64 и т. д. Число 100 (восьмеричное) есть не что иное, как 64 (десятичное). Чтобы перевести в двоичную систему, например, число 611 (восьмеричное), надо заменить каждую цифру эквивалентной ей двоичной триадой (тройкой цифр). Легко догадаться, что для перевода многозначного двоичного числа в восьмеричную систему нужно разбить его на триады справа налево и заменить каждую триаду соответствующей восьмеричной цифрой.
Шестнадцатеричная система счисления
   Запись числа в восьмеричной системе счисления достаточно компактна, но еще компактнее она получается в шестнадцатеричной системе. В качестве первых 10 из 16 шестнадцатеричных цифр взяты привычные цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а вот в качестве остальных 6 цифр используют первые буквы латинского алфавита: A, B, C, D, E, F. Цифра 1, записанная в самом младшем разряде, означает просто единицу. Та же цифра 1 в следующем – 16 (десятичное), в следующем – 256 (десятичное) и т. д. Цифра F, указанная в самом младшем разряде, означает 15 (десятичное). Перевод из шестнадцатеричной системы в двоичную и обратно производится аналогично тому, как это делается для восьмеричной системы.
Таблица 1. Соответствие между первыми несколькими натуральными числами всех трех систем счисления

1.4. Кодирование информации

   В настоящее время во всех вычислительных машинах информация представляется с помощью электрических сигналов. При этом возможны две формы ее представления – в виде непрерывного сигнала (с помощью сходной величины – аналога) и в виде нескольких сигналов (с помощью набора напряжений, каждое из которых соответствует одной из цифр представляемой величины).
   Первая форма представления информации называется аналоговой, или непрерывной. Величины, представленные в такой форме, могут принимать принципиально любые значения в определенном диапазоне. Количество значений, которые может принимать такая величина, бесконечно велико. Отсюда названия – непрерывная величина и непрерывная информация. Слово непрерывность отчетливо выделяет основное свойство таких величин – отсутствие разрывов, промежутков между значениями, которые может принимать данная аналоговая величина. При использовании аналоговой формы для создания вычислительной машины потребуется меньшее число устройств (каждая величина представляется одним, а не несколькими сигналами), но эти устройства будут сложнее (они должны различать значительно большее число состояний сигнала). Непрерывная форма представления используется в аналоговых вычислительных машинах (АВМ). Эти машины предназначены в основном для решения задач, описываемых системами дифференциальных уравнений: исследования поведения подвижных объектов, моделирования процессов и систем, решения задач параметрической оптимизации и оптимального управления. Устройства для обработки непрерывных сигналов обладают более высоким быстродействием, они могут интегрировать сигнал, выполнять любое его функциональное преобразование и т. п. Однако из-за сложности технической реализации устройств выполнения логических операций с непрерывными сигналами, длительного хранения таких сигналов, их точного измерения АВМ не могут эффективно решать задачи, связанные с хранением и обработкой больших объемов информации.
   Вторая форма представления информации называется дискретной (цифровой). Такие величины, принимающие не все возможные, а лишь вполне определенные значения, называются дискретными (прерывистыми). В отличие от непрерывной величины, количество значений дискретной величины всегда будет конечным. Дискретная форма представления используется в цифровых электронно-вычислительных машинах (ЭВМ), которые легко решают задачи, связанные с хранением, обработкой и передачей больших объемов информации.
   Для автоматизации работы ЭВМ с информацией, относящейся к различным типам, очень важно унифицировать их форму представления – для этого обычно используется прием кодирования.
   Кодирование – это представление сигнала в определенной форме, удобной или пригодной для последующего использования сигнала. Говоря строже, это правило, описывающее отображение одного набора знаков в другой набор знаков. Тогда отображаемый набор знаков называется исходным алфавитом, а набор знаков, который используется для отображения, – кодовым алфавитом, или алфавитом для кодирования. При этом кодированию подлежат как отдельные символы исходного алфавита, так и их комбинации. Аналогично для построения кода используются как отдельные символы кодового алфавита, так и их комбинации.
   Совокупность символов кодового алфавита, применяемых для кодирования одного символа (или одной комбинации символов) исходного алфавита, называется кодовой комбинацией, или, короче, кодом символа. При этом кодовая комбинация может содержать один символ кодового алфавита.
   Символ (или комбинация символов) исходного алфавита, которому соответствует кодовая комбинация, называется исходным символом.
   Совокупность кодовых комбинаций называется кодом.
   Взаимосвязь символов (или комбинаций символов, если кодируются не отдельные символы исходного алфавита) исходного алфавита с их кодовыми комбинациями составляет таблицу соответствия (или таблицу кодов).
   В качестве примера можно привести систему записи математических выражений, азбуку Морзе, морскую флажковую азбуку, систему Брайля для слепых и др.
   В вычислительной технике также существует своя система кодирования – она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1 (используется двоичная система счисления). Эти знаки называются двоичными цифрами, или битами (binary digital).
   Если увеличивать на единицу количество разрядов в системе двоичного кодирования, то увеличивается в два раза количество значений, которое может быть выражено в данной системе. Для расчета количества значений используется следующая формула:
   N=2m,
   где N – количество независимо кодируемых значений,
   а m – разрядность двоичного кодирования, принятая в данной системе.
   Например, какое количество значений (N) можно закодировать 10-ю разрядами (m)?
   Для этого возводим 2 в 10 степень (m) и получаем N=1024, т. е. в двоичной системе кодирования 10-ю разрядами можно закодировать 1024 независимо кодируемых значения.
Кодирование текстовой информации
   Для кодирования текстовых данных используются специально разработанные таблицы кодировки, основанные на сопоставлении каждого символа алфавита с определенным целым числом. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы. Но не все так просто, и существуют определенные сложности. В первые годы развития вычислительной техники они были связаны с отсутствием необходимых стандартов, а в настоящее время, наоборот, вызваны изобилием одновременно действующих и противоречивых стандартов. Практически для всех распространенных на земном шаре языков созданы свои кодовые таблицы. Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, что до сих пор пока еще не стало возможным.
Кодирование графической информации
   Кодирование графической информации основано на том, что изображение состоит из мельчайших точек, образующих характерный узор, называемый растром. Каждая точка имеет свои линейные координаты и свойства (яркость), следовательно, их можно выразить с помощью целых чисел – растровое кодирование позволяет использовать двоичный код для представления графической информации. Черно-белые иллюстрации представляются в компьютере в виде комбинаций точек с 256 градациями серого цвета – для кодирования яркости любой точки достаточно восьмиразрядного двоичного числа.
   Для кодирования цветных графических изображений применяется принцип декомпозиции (разложения) произвольного цвета на основные составляющие. При этом могут использоваться различные методы кодирования цветной графической информации. Например, на практике считается, что любой цвет, видимый человеческим глазом, можно получить путем механического смешивания основных цветов. В качестве таких составляющих используют три основных цвета: красный (Red, R), зеленый (Green, G) и синий (Blue, B). Такая система кодирования называется системой RGB.
   На кодирование цвета одной точки цветного изображения надо затратить 24 разряда. При этом система кодирования обеспечивает однозначное определение 16,5 млн различных цветов, что на самом деле близко к чувствительности человеческого глаза. Режим представления цветной графики с использованием 24 двоичных разрядов называется полноцветным (True Color).
   Каждому из основных цветов можно поставить в соответствие дополнительный цвет, то есть цвет, дополняющий основной цвет до белого. Соответственно дополнительными цветами являются: голубой (Cyan, C), пурпурный (Magenta, M) и желтый (Yellow, Y). Такой метод кодирования принят в полиграфии, но в полиграфии используется еще и четвертая краска – черная (Black, K). Данная система кодирования обозначается CMYK, и для представления цветной графики в этой системе надо иметь 32 двоичных разряда. Такой режим называется полноцветным (True Color).
   Если уменьшать количество двоичных разрядов, используемых для кодирования цвета каждой точки, то можно сократить объем данных, но при этом диапазон кодируемых цветов заметно сокращается. Кодирование цветной графики 16-разрядными двоичными числами называется режимом High Color.
Кодирование звуковой информации
   Приемы и методы кодирования звуковой информации пришли в вычислительную технику наиболее поздно и до сих пор далеки от стандартизации. Множество отдельных компаний разработали свои корпоративные стандарты, хотя можно выделить два основных направления.
   Метод FM (Frequency Modulation) основан на том, что теоретически любой сложный звук можно разложить на последовательность простейших гармоничных сигналов разной частоты, каждый из которых представляет правильную синусоиду, а следовательно, может быть описан числовыми параметрами, то есть кодом. В природе звуковые сигналы имеют непрерывный спектр, то есть являются аналоговыми. Их разложение в гармонические ряды и представление в виде дискретных цифровых сигналов выполняют специальные устройства – аналогово-цифровые преобразователи (АЦП). Обратное преобразование для воспроизведения звука, закодированного числовым кодом, выполняют цифро-аналоговые преобразователи (ЦАП). При таких преобразованиях часть информации теряется, поэтому качество звукозаписи обычно получается не вполне удовлетворительным и соответствует качеству звучания простейших электромузыкальных инструментов с «окрасом», характерным для электронной музыки.
   Метод таблично-волнового синтеза (Wave-Table) лучше соответствует современному уровню развития техники. Имеются заранее подготовленные таблицы, в которых хранятся образцы звуков для множества различных музыкальных инструментов. В технике такие образцы называются сэмплами. Числовые коды выражают тип инструмента, номер его модели, высоту тона, продолжительность и интенсивность звука, динамику его изменения. Поскольку в качестве образцов используются «реальные» звуки, то качество звука, полученного в результате синтеза, получается очень высоким и приближается к качеству звучания реальных музыкальных инструментов.
Единицы измерения данных
   Наименьшей единицей измерения информации является байт, равный восьми битам. Одним байтом можно закодировать одно из 256 значений. Существуют и более крупные единицы, такие как килобайт (Кбайт), мегабайт (Мбайт), гигабайт (Гбайт) и терабайт (Тбайт).
   1 байт = 8 бит
   1 Кбайт = 1024 байт
   1 Мбайт = 1024 Кбайт = 220 байт
   1 Гбайт = 1024 Мбайт = 230 байт
   1 Тбайт = 1024 Гбайт = 240 байт

Контрольные вопросы

   1. Что изучает информатика?
   2. Как развивались способы сбора, хранения и передачи информации?
   3. Какова структура современной информатики?
   4. Что такое информация?
   5. Какие функции выполняет информация?
   6. Дайте характеристику основным информационным процессам.
   7. В чем основное отличие данных от информации?
   8. Какими свойствами обладает информация?
   9. Что понимается под информатизацией общества?
   10. Какими характерными чертами обладает информационное общество?
   11. Что такое системы счисления и какие они бывают? Приведите примеры.
   12. Дайте характеристику основным позиционным системам счисления.
   13. В каких двух видах может быть представлена информация? Охарактеризуйте их и приведите примеры.
   14. Что такое кодирование? Приведите примеры кодирования из жизни.
   15. Что является основной единицей представления информации в ЭВМ?
   16. Как кодируются различные виды информации в ЭВМ?
   17. С помощью каких единиц измеряют информацию?

Глава 2
Структура хранения данных на внешних носителях информации

2.1. Единица хранения данных

   При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним удобный и быстрый доступ (если доступ не обеспечен, то это не хранение). Для обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру. При этом образуются адресные данные. Без них нельзя получить доступ к нужным элементам данных, входящих в структуру.
   Поскольку адресные данные тоже имеют размер и тоже подлежат хранению, хранить данные в виде мелких единиц, таких, как байты, неудобно. Их неудобно хранить и в более крупных единицах (килобайтах, мегабайтах и т. п.), поскольку частичное заполнение одной единицы хранения приводит к неэффективности хранения.
   В качестве единицы хранения данных принят объект переменной длины, называемый файлом.
   Файл – это последовательность произвольного числа байтов, обладающая уникальным собственным именем.
   Обычно в отдельном файле хранят данные, относящиеся к одному типу. В этом случае тип данных определяет тип файла.
   Поскольку в определении файла нет ограничений на размер, можно представить себе файл, имеющий 0 байтов (пустой файл), и файл, имеющий любое число байтов.
   В определении файла особое внимание уделяется имени. Оно фактически несет в себе адресные данные, без которых данные, хранящиеся в файле, не станут информацией из-за отсутствия метода доступа к ним. Кроме функций, связанных с адресацией, имя файла может хранить и сведения о типе данных, заключенных в нем. Для автоматических средств работы с данными это важно, поскольку по имени файла они могут автоматически определить адекватный метод извлечения информации из файла.
   Имя файла состоит из двух частей: собственно имени и расширения файла. Например:
   Собственно имя файла может состоять из букв русского и английского алфавитов, цифр и специальных символов. При этом его длина не должна превышать 256 символов.
   В зависимости от расширения все файлы делятся на две большие группы: исполняемые и неисполняемые.
   Исполняемые файлы – это такие файлы, которые могут выполняться самостоятельно, т. е. не требуют каких-либо специальных программ для их запуска. Имеют следующие расширения:
   – exe – готовый к исполнению файл (tetris.exe; winword.exe);
   – com – файл операционной системы (command.com);
   – sys – файл операционной системы (Io.sys);
   – bat – командный файл операционной системы MS-DOS (autoexec.bat).
   Неисполняемые файлы для запуска требуют установки специальных программ. Так, например, для того чтобы просмотреть текстовый документ, требуется наличие какого-либо текстового редактора. По расширению неисполняемого файла можно судить о типе данных, хранящихся в данном файле. Вот несколько примеров:

2.2. Файловая структура

   Требование уникальности имени файла очевидно – без этого невозможно гарантировать однозначность доступа к данным. В средствах вычислительной техники требование уникальности имени обеспечивается автоматически – создать файл с именем, тождественным уже имеющемуся, не могут ни пользователь, ни автоматика.
   Хранение файлов организуется в иерархической структуре, которая в данном случае называется файловой структурой. В качестве вершины структуры служит имя носителя, на котором сохраняются файлы. Далее файлы группируются в каталоги (папки), внутри которых могут быть созданы вложенные каталоги (папки).
   Каталоги (папки) – важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному их создателем (по типу, по принадлежности, по назначению, по времени создания и т. п.). Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска.
   Все современные операционные системы позволяют создавать каталоги. Правила присвоения имени каталогу ничем не отличаются от правил присвоения имени файлу, хотя негласно для каталогов не принято задавать расширения имен. Все промежуточные каталоги разделяются между собой обратной косой чертой (\). На рисунке 2.1 приведен пример иерархической структуры диска C:

2.3. Имена внешних носителей информации

   Диски, на которых хранится информация в компьютере, имеют свои имена – каждый диск назван буквой латинского алфавита, а затем ставится двоеточие. Так, для дискет всегда отводятся буквы A: и B:. Логические диски винчестера именуются, начиная с буквы C:. После всех имен логических дисков следуют имена дисководов для компакт-дисков. Например, установлены: дисковод для дискет, винчестер, разбитый на 3 логических диска и дисковод для компакт-дисков. Определить буквы всех носителей информации. A: – дисковод для дискет;
   C:, D:, E: – логические диски винчестера;
   F: – дисковод для компакт-дисков.
Полное имя файла
   Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя файла вместе с путем доступа к нему. Понятно, что в этом случае на одном носителе не может быть двух файлов с тождественными полными именами.
   Пример записи полного имени файла:
   <имя носителя>\<имя каталога-1>\…\<имя каталога-М>\<собственное имя файла>
   Вот пример записи двух файлов, имеющих одинаковое собственное имя и размещенных на одном носителе, но отличающихся путем доступа, то есть полным именем. Для наглядности имена каталогов (папок) напечатаны прописными буквами.
   D: \Документы\Сведения о студентах\2004—05 учебный год\Результаты аттестации. doc
   D: \Деканат\Аттестация студентов\Результаты аттестации. doc

2.4. Файловые системы

   Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы – табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Физическая структура хранения данных представлена на рисунке 2.2.
   Рисунок 2.2. Физическая структура хранения информации
 
   Данные о том, в каком месте диска записан тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов (FAT-таблицах). Поскольку нарушение FAT-таблицы приводит к невозможности воспользоваться данными, записанными на диске, к ней предъявляются особые требования надежности и она существует в двух экземплярах, идентичность которых регулярно контролируется средствами операционной системы.
   Наименьшей физической единицей хранения информации является сектор. Размер сектора равен 512 байт. Поскольку размер FAТ-таблицы ограничен, то для дисков, размер которых превышает 32 Мбайта, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к информации. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.
   Как было сказано ранее, информация на дисках записывается в секторах фиксированной длины, и каждый сектор и расположение каждой физической записи (сектора) на диске однозначно определяется тремя числами: номерами поверхности диска, цилиндра и сектора на дорожке. И контроллер диска работает с диском именно в этих терминах. А пользователь желает использовать не сектора, цилиндры и поверхности, а файлы и каталоги. Поэтому как-то требуется при операциях с файлами и каталогами на дисках перевести это в понятные контроллеру действия: чтение и запись определенных секторов диска. А для этого необходимо установить правила, по которым выполняется этот перевод, то есть, прежде всего, определить, как должна храниться и организовываться информация на дисках. Набор этих правил и называется файловой системой.
   Файловая система – это набор соглашений, определяющих организацию данных на носителях информации. Наличие этих соглашений позволяет операционной системе, другим программам и пользователям работать с файлами и каталогами, а не просто с участками (секторами) дисков. Файловая система определяет:
   • как хранятся файлы и каталоги на диске;
   • какие хранятся сведения о файлах и каталогах;
   • как можно узнать, какие участки диска свободны, а какие – нет;
   • формат каталогов и другой служебной информации на диске.
   Для использования дисков, записанных (размеченных) с помощью некоторой файловой системы, операционная система или специальная программа должна поддерживать эту файловую систему.
   Файловая система, наиболее распространенная на IBM PC-совместимых компьютерах, была введена еще в начале 80-х годов в операционных системах MS DOS 1.0 и 2.0. Эта файловая система достаточно примитивна, так как она была создана для хранения данных на дискетах. Обычно эта файловая система называется FAT, так как самой важной структурой данных в ней является таблица размещения файлов на диске, по-английски – file allocation table, сокращенно – FAT. Эта таблица содержит информацию о том, какие участки (кластеры) диска свободны, и о цепочках кластеров, образующих файлы и каталоги.
   В файловой системе FAT имена файлов и каталогов должны состоять не более чем из 8 символов плюс три символа в расширении имени. Она приводит к значительным потерям (до 20 %) дискового пространства из-за больших размеров кластеров на дисках высокой емкости. Это связано с тем, что в конце последнего кластера файла остается свободное место, в среднем равное половине кластера. А на больших дисках размер кластеров FAT может достигать 32 Кбайт. Таким образом, на диске емкостью 2 Гбайта с 20000 файлов потери составят 320 Мбайт, то есть около 16 %. Наконец, файловая система FAT малопроизводительна, особенно для больших дисков, не приспособлена к многозадачной работе (все операции требуют обращений к таблице размещения файлов, а потому до завершения одной операции нельзя начинать другую).