Информатика

Файл. Форматы файлов.

Файл – наименьшая единица хранения информации, содержащая последовательность байтов и имеющая уникальное имя.

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

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

Способ, которым данные организованы в байты, называется форматом файла.

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

Программы могут хранить данные в файле способом, выбираемым программистом. Часто предполагается, однако, что файлы будут использоваться различными программами, поэтому многие прикладные программы поддерживают некоторые наиболее распространенные форматы, так что другие программы могут понять данные в файле. Компании по производству программного обеспечения (которые хотят, чтобы их программы стали «стандартами»), часто публикуют информацию о создаваемых ими форматах, чтобы их можно было бы использовать в других приложениях.

Все файлы условно можно разделить на две части – текстовые и двоичные.

Текстовые файлы – наиболее распространенный тип данных в компьютерном мире. Для хранения каждого символа чаще всего отводится один байт, а кодирование текстовых файлов выполняется с помощью специальных таблиц, в которых каждому символу соответствует определенное число, не превышающее 255. Файл, для кодировки которого используется только 127 первых чисел, называется ASCII-файлом (сокращение от American Standard Code for Information Intercange – американский стандартный код для обмена информацией), но в таком файле не могут быть представлены буквы, отличные от латиницы (в том числе и русские). Большинство национальных алфавитов можно закодировать с помощью восьмибитной таблицы. Для русского языка наиболее популярны на данный момент три кодировки: Koi8-R, Windows-1251 и, так называемая, альтернативная (alt) кодировка.

Такие языки, как китайский, содержат значительно больше 256 символов, поэтому для кодирования каждого из них используют несколько байтов. Для экономии места зачастую применяется следующий прием: некоторые символы кодируются с помощью одного байта, в то время как для других используются два или более байтов. Одной из попыток обобщения такого подхода является стандарт Unicode, в котором для кодирования символов используется диапазон чисел от нуля до 65 536. Такой широкий диапазон позволяет представлять в численном виде символы языка любого уголка планеты.

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

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

Информация и теория кодирования

Из фразы «Это направление получило развитие благодаря трудам Клода Э. Шеннона, который нашёл фундаментальные ограничения на обработку сигнала в таких операциях, как сжатие данных, надёжное сохранение и передача данных.» не понятно о каких именно «фундаментальных ограничениях» идёт речь. Возможно, будет лучше перечислить названия конкретных теорем, законов?
Данная фраза так же, создаёт впечатление, что он является почти единственным разработчиком фундаментальных основ данной теории. Так ли это? Ведь, например, фундаментальным утверждением в области цифровой обработки сигналов считается теорема Котельникова (в англоязычной литературе — теорема Найквиста — Шеннона, теорема отсчётов). В общем, это вопрос упирается в первый, а именно — о каких «фундаментальных ограничениях» идёт речь. Ведь, по приведённому утверждению, они явились причиной развития всей теории.
—213.87.160.152 22:10, 17 сентября 2018 (UTC)Виктор

Теорема Котельникова относится к цифровой обработки сигналов, здесь же говориться о теории информации. Это разные вещи. То что Шеннон — отец теории информации говорят многие источники, и я не видел АИ, которые подвергают это сомнению. Думаю, перечислять в обзорной статье конкретные законы не имеет смысла, но я викифицировал «фундаментальные ограничения» -> Информационная энтропия. — Алексей Копылов 02:07, 18 сентября 2018 (UTC)

1.1. Что такое инфоpматика?

Термин «информатика» (франц. informatique) происходит
от французских слов information (информация) и automatique
(автоматика) и дословно означает «информационная автоматика».

Широко распространён также англоязычный вариант этого термина
«Сomputer science», что означает буквально «компьютерная наука».

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

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

Таким образом, информатика базируется на компьютерной технике и немыслима
без нее.

Инфоpматика комплексная научная дисциплина с широчайшим диапазоном применения. Её
приоритетные направления:

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

Российский академик А.А. Дородницин выделяет в информатике три неразрывно
и существенно связанные части технические средства, программные и
алгоритмические.

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

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

Завершение процесса

Минимум 2 этапа завершения:

  1. Процесс удаляется из всех очередей планирования, то есть ОС больше не планирует выделение каких-либо ресурсов процессу,
  2. Сбор статистики о потреблённых процессом ресурсах с последующим удалением его из памяти.

Причины завершения процесса:

  • Обычный выход,
  • Выход по исключению или ошибке,
  • Недостаточный объём памяти,
  • Превышение лимита отведённого программе времени,
  • Выход за пределы отведённой области памяти,
  • Неверная команда (данные программы интерпретируются как инструкции для процессора),
  • Ошибка защиты (выполнение непривилегированной команды),
  • Завершение родительского процесса,
  • Ошибка ввода-вывода,
  • Вмешательство оператора.

Носители и сигналы

Информация будет в любом случае связана с материальным носителем. Такими носителями могут быть:

  • Любые материальные предметы в виде камня, бумаги и так далее;
  • Различные волны: звук, радиоволна, свет и так далее;
  • Вещества в разном состоянии: температура, концентрация молекул в жидком растворе и так далее.

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

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

Сигналы, которые несут текстовую или символическую информацию, являются дискретными.

Носители и сигналы

Информация будет в любом случае связана с материальным носителем. Такими носителями могут быть:

  • Любые материальные предметы в виде камня, бумаги и так далее,
  • Различные волны: звук, радиоволна, свет и так далее,
  • Вещества в разном состоянии: температура, концентрация молекул в жидком растворе и так далее.

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

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

Сигналы, которые несут текстовую или символическую информацию, являются дискретными.

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

Кодирование информации – это процесс формирования определенного представления информации.

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

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

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

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

Кодирование текста.

Множество символов, используемых при записи текста, называется алфавитом. Количество символов в алфавите называется его мощностью.

Для представления текстовой информации в компьютере чаще всего используется алфавит мощностью 256 символов. Один символ из такого алфавита несет 8 бит информации, т. к. 28 = 256. Но 8 бит составляют один байт, следовательно, двоичный код каждого символа занимает 1 байт памяти ЭВМ.

Все символы такого алфавита пронумерованы от 0 до 255, а каждому номеру соответствует 8-разрядный двоичный код от 00000000 до 11111111. Этот код является порядковым номером символа в двоичной системе счисления.

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

Принцип последовательного кодирования алфавита заключается в том, что в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений.

Стандартными в этой таблице являются только первые 128 символов, т. е. символы с номерами от нуля (двоичный код 00000000) до 127 (01111111). Сюда входят буквы латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы. Остальные 128 кодов, начиная со 128 (двоичный код 10000000) и кончая 255 (11111111), используются для кодировки букв национальных алфавитов, символов псевдографики и научных символов.

Информация аналоговая и цифровая.

Термин «информация» восходит к латинскому informatio,– разъяснение, изложение, осведомленность.

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

В информатике отдельно рассматривается аналоговая информация и цифровая

Это важно, поскольку человек благодаря своим органам чувств, привык иметь дело с аналоговой информацией, а вычислительная техника, наоборот, в основном, работает с цифровой информацией

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

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

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

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

Свойства информации

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

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

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

Объективность. Информация может быть объективной или субъективной (зависеть или не зависеть от чьего суждения). Например, сообщение «вода в море холодная» является субъективным, одновременно сообщение «температура воды +17 градусов Цельсия» дает объективную информацию.

Полнота. Информация полная, если ее достаточно для правильных выводов и принятия правильных решений. Если человеку на основе какой-либо информации приходится что-то решать, то он сначала оценивает, достаточно этой информации для принятия правильного решения.

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

Определение понятия

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

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

Типы информации

Они могут отличаться в зависимости от способа восприятия. Данные могут восприниматься с помощью наших чувств. Способы получения информации:

  • Органы слуха,
  • Зрение,
  • Осязание,
  • Вкус,
  • Обоняние.

Кроме этого, сведения разделяют и относительно их формы. По форме они могут быть:

  • Текстовыми,
  • Числовыми,
  • Графическими,
  • Звуковыми.

Сюда также можно отнести и видеоинформацию.

Представление процесса

Обычно, процесс в вычислительной системе представлен (также говорят, «владеет») следующими ресурсами:

образом исполняемого машинного кода, ассоциированного с программой;

  • памятью (обычно некоторой областью виртуальной памяти), которая включает в себя:
    • исполняемый код;
    • входные и выходные данные процесса;
    • стек вызовов (для отслеживания активных подпрограмм);
    • кучу для хранения промежуточных результатов вычислений, генерируемых во время выполнения;
  • дескрипторами ресурсов операционной системы, выделенными для процесса, например, файл
  • файловыми дескрипторами (в терминологии ОС Unix) или «хэндлами» (в терминологии ОС Windows);

атрибутами безопасности, такими как владелец и набор полномочий процесса (допустимых операций);

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

Операционная система хранит большую часть информации о процессах в таблице процессов.

В операционных системах, поддерживающих потоки выполнения (нити), потоки также владеют собственными ресурсами. Обычно это только состояние процессора, хотя потоки могут использовать и другие ресурсы.

Для снижения вероятности влияния процессов друг на друга и вероятности отказа системы (например, взаимных блокировок или пробуксовки) операционная система обеспечивает изоляцию процессов и выделяет необходимые им ресурсы. Также операционная система предоставляет механизмы для взаимодействия процессов безопасными и предсказуемыми способами.

Представление процесса в памяти

В данном разделе рассмотрено представление процесса в памяти операционной системы Linux и архитектуры x86. Подобное представление мало отличается от многих других многозадачных операционных систем и архитектур. Например в amd64, наследнике x86, стек вызовов точно так же растёт сверху вниз, но размер адресного пространства увеличен до 248 байт.

Представление программы в памяти в пространстве пользователя

Linux использует плоскую модель памяти, и поэтому в данной архитектуре каждому процессу доступно 232 байт памяти. Вся виртуальная память делится на пространство пользователя и пространство ядра. Пространство ядра занимает один гигабайт памяти, начиная с самого старшего адреса. Всё остальное пространство, то есть, три гигабайта отведено под пространство пользователя.

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

В области инициализированных данных хранятся данные, доступные только для чтения. Это могут быть, например, строковые литералы.

В области неинициализированных данных, как правило, хранятся глобальные переменные.

Куча (heap) используется для выделения памяти во время работы программы. В Linux для этого существует системный вызов .

Область стека используется для вызова процедур.

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

Динамически подключаемые библиотеки и отображения файлов располагаются между стеком и кучей.

Двоичное кодирование информации

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

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

Эти знаки называются двоичными цифрами, по — английски — binary digit , или, сокращенно bit (бит).

Также используется восьмеричная форма представления информации (основана на представленные последовательности цифр 0, 1, …, 7) и шестнадцатеричная форма представления информации (основана на представленные последовательностью 0, 1, …, 9, A, B, C, …, F).

Информационным объемом сообщение называется количество битов в этом сообщении. Подсчет информационного объема сообщение является чисто техническим заданием, так как при таком подсчете содержание сообщения не играет никакой роли.

В современной вычислительной технике биты принято объединять в восьмерки, которые называются байтами : 1 байт = 8 бит. Наряду с битами и байтами используют и большие единицы измерения информации.

  • bit binary digit {0,1};
  • байт = 8 бит;
  • Кбайт = 2 10 байт = 1024 байт;
  • Мбайт = 2 10 Кбайт = 1024 Кбайт = 2 20 байт;
  • Гбайт = 2 10 Мбайт = 1024 Мбайт = 2 30 байт;
  • Тбайт = 2 10 Гбайт = 1024 Гбайт = 2 40 байт.
  • Пбайт = 2 10 Тбайт = 1024 Тбайт = 2 50 байт.
десятичное число двоичное число байт
1 1 0000 0001
2 10 0000 0010
255 1111 1111 1111 1111

С помощью двух бит кодируются четыре различных значения: 00, 01, 10, 11. Тремя битами можно закодировать 8 состояний:

000 001 010 011 100 101 110 111

Вообще с помощью n бит можно закодировать 2n состояний.

Скорость передачи информации измеряется количеством битов, передаваемых за одну секунду. Скорость передачи бит за одну секунду называется 1 Бодом. Производные единицы скорости передачи называются Кбод, Мбод и Гбод:

  • 1 Кбод (один килобод) = 2 10 бод = 1024 бит / с;
  • 1 Мбод (один мегабод) = 2 20 бод = 1024 Кбод;
  • 1 Гбод (один гигабод) = 2 30 бод = 1024 Мбод.

Пример. Пусть модем передает информацию со скоростью 2400 бод. Для передачи одного символа текста нужно передать около 10 битов. Таким образом, модем способен за 1 секунду передать около 2400/10 = 240 символов.

На ЭВМ можно обрабатывать не только числа, но и тексты. При этом нужно закодировать около 200 различных символов. В двоичном коде для этого нужно не менее 8 разрядов ( 28 = 256 ). Этого достаточно для кодирования всех символов английского и русского алфавитов (строчные и прописные), знаков препинания, символов арифметических действий некоторых общепринятых спецсимволов.

В настоящее время существует несколько систем кодирования.

Наиболее распространенными являются следующие системы кодирования: ASCII, Windows-1251, KOИ8, ISO.

ASCII (American Standard Code for Information Interchange — стандартный код информационного обмена)

В системе ASCII закреплены 2 таблицы кодирования: базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, расширенная от 128 до 255.

В первых 32 кодах (0-31) размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно коды не выводятся ни на экран, ни на устройстве печати.

Начиная с кода 32 по код 127 размещены коды символов английского алфавита.

Символы национального алфавита размещены в кодах от 128 до 255.

Кодирования Windows-1251 стала стандартом в российском секторе Wold Wide Web .

KOИ8 (код обмена информацией) является стандартным кодированием в сообщениях электронной почты и телеконференций.

ISO ( International Standard Organization ) — международный стандарт. Это кодирования используется редко.

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

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