1
Л.В. Боброва, М.Ф. Быков, Е.А. Рыбакова
ИНФОРМАТИКА Письменные лекции
Санкт-Петербург 2001
2
Министерство образо...
4 downloads
87 Views
683KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
1
Л.В. Боброва, М.Ф. Быков, Е.А. Рыбакова
ИНФОРМАТИКА Письменные лекции
Санкт-Петербург 2001
2
Министерство образования Российской Федерации Северо-Западный государственный заочный технический университет Кафедра информатики и вычислительной математики
Л.В. Боброва, М.Ф. Быков, Е.А. Рыбакова ИНФОРМАТИКА Письменные лекции
Факультеты все Направления и специальности подготовки дипломированных специалистов – все, кроме 651900 – Автоматизация и Управление (210100 – Управление и информатика в технических системах); 654600 – Информатика и вычислительная техника (220100 – Вычислительные машины, комплексы, системы и сети). Направления подготовки бакалавров – все, кроме 550200 – Автоматизация и управление; 552800 – Информатика и вычислительная техника.
Санкт-Петербург 2001
3
Утверждено редакционно-издательским советом университета УДК 881.3 Л.В. Боброва, М.Ф. Быков, Е.А. Рыбакова. Письменные лекции. СПб.:СЗТУ. 2001. -95 с. Письменные лекции по информатике предназначены для студентов первого курса всех специальностей, кроме 210100 – Управление и информационные системы и 220100 – Вычислительные машины, компьютерные системы и сети. Разработаны на основе рабочей программы по информатике. Рассматриваются предмет и задачи информатики, понятия о таких важных составляющих информатики, как вычислительная техника, программирование, программное обеспечение ЭВМ, информационные системы.
РЕЦЕНЗЕНТЫ:
Л.А. Ходоровский, канд. техн. наук, доц., кафедры информатики СПбГУКИ, Кафедра информатики и вычислительной математики СЗТУ (зав. кафедрой Ткаченко Г.Г., канд.физ.-мат. наук, доц.)
© Л.В. Боброва, М.Ф. Быков, Е.А. Рыбакова 2001
4
Введение Совокупность полезных ископаемых, заключенных в недрах государства, определяется как национальные сырьевые ресурсы. Известны также так называемые возобновляемые ресурсы: энергия рек и солнца, лесные массивы, сельскохозяйственные угодья и т.п. Экономический показатель всех этих ресурсов в национальном богатстве страны понятен и не нуждается в пояснениях. В то же время в конце прошлого столетия основным национальным богатством государства стали информационные ресурсы, а эффективность их использования все в большей степени определяет экономическую мощь страны в целом. В результате все возрастающей зависимости индустриально развитых стран от источников информации (научно-технической, экономической, политической, военной и т.д.), а также от уровня развития и эффективности использования средств передачи и переработки информации, сформировалось принципиально новое понятие - национальные информационные ресурсы. Источником экономического потенциала в современном мире являются знания, которые приобретаются путем соответствующего образования, и умение их использовать. 1. Информатика и информация 1.1.
Понятие об информации
Мы живем в материальном мире. Все, что нас окружает, и с чем мы сталкиваемся ежедневно, относится либо к физическим телам, либо к физическим полям. Из курса физики мы знаем, что состояния абсолютного покоя не существует, и физические объекты находятся в состоянии непрерывного движении и изменения, которое сопровождается обменом энергией и ее переходом из одной формы в другую. Все виды энергообмена сопровождаются появлением сигналов. Данные — это зарегистрированные сигналы. Однако данные не тождественны информации. Наблюдая за состязаниями бегунов, мы с помощью механического секундомера регистрируем начальное и конечное положение стрелки прибора. В итоге мы замеряем величину ее перемещения за время забега — это регистрация данных. Однако информацию о времени преодоления дистанции мы пока не получаем. Для того чтобы данные о перемещении стрелки дали информацию о времени
5
забега, необходимо наличие метода пересчета одной физической величины в другую. Надо знать цену деления шкалы секундомера (или знать метод ее определения) и надо также знать, как умножается цена деления прибора на величину перемещения, то есть надо еще обладать математическим методом умножения. Прослушивая передачу радиостанции на незнакомом языке, мы получаем данные, но не получаем информацию в связи с тем, что не владеем методом преобразования данных в известные нам понятия. Итак, информация — это продукт взаимодействия данных и адекватных им методов. 1.2. Носители информации Данные — диалектическая составная часть информации. Они представляют собой зарегистрированные сигналы. При этом физический метод регистрации может быть любым: механическое перемещение физических тел, изменение их формы или параметров качества поверхности, изменение электрических, магнитных, оптических характеристик, химического состава и (или) характера химических связей, изменение состояния электронной системы и многое другое. В соответствии с методом регистрации данные могут храниться и транспортироваться на носителях различных видов. Самым распространенным носителем данных, хотя и не самым экономичным, является бумага. На бумаге данные регистрируются путем изменения оптических характеристик ее поверхности. Изменение оптических свойств (изменение коэффициента отражения поверхности в определенном диапазоне длин волн) используется также в устройствах, осуществляющих запись лазерным лучом на пластмассовых носителях с отражающим покрытием (CD-ROM). В качестве носителей, использующих изменение магнитных свойств, можно назвать магнитные ленты и диски. Задача преобразования данных с целью смены носителя относится к одной из важнейших задач информатики. В структуре стоимости вычислительных систем устройства для ввода и вывода данных, работающие с носителями информации, составляют до половины стоимости аппаратных средств.
6
1.3. Кодирование информации 1.3.1. Понятие о двоичном коде Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления — для этого обычно используется прием кодирования, то есть выражение данных одного типа через данные другого типа. Естественные человеческие языки — это не что иное, как системы кодирования понятий для выражения мыслей посредством речи. К языкам близко примыкают азбуки (системы кодирования компонентов языка с помощью графических символов). Своя система существует и в вычислительной технике — она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по-английски — binary digit или сокращенно bit (бит). Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, черное или белое, истина или ложь и т. п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия: 00 01 10 11 Тремя битами можно закодировать восемь различных значений: 000 001 010 01l 100 101 110 111 Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид: N= 2m, где N — количество независимых кодируемых значений; т — разрядность двоичного кодирования, принятая в данной системе. 1.3.2. Кодирование целых и действительных чисел Целые числа кодируются двоичным кодом достаточно просто — достаточно взять целое число и делить его пополам до тех пор, пока частное не будет равно единице. Совокупность остатков от каждого деления, записанная справа налево вместе с последним частным, и образует двоичный аналог десятичного числа.
7
19 : 2 = 9 + 1 9:2=4+1 4:2=2+0 2:2=1+0 Таким образом, 1910= 100112. Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65 535, а 24 бита — уже более 16,5 миллионов разных значений. Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму: 3,1415926 = 0,31415926 • 101 300 000 = 0,3 • 106 123 456 789 = 0,123456789 • 1010 Первая часть числа называется мантиссой, а вторая — характеристикой. Большую часть из 80 бит отводят для хранения мантиссы (вместе со знаком) и некоторое фиксированное количество разрядов отводят для хранения характеристики (тоже со знаком). 1.3.3. Кодирование текстовых данных Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например символ «§». 1.3.4. Основные структуры данных Работа с большими наборами данных автоматизируется проще, когда данные упорядочены, то есть образуют заданную структуру. Существует три основных типа структур данных: линейная, иерархическая и табличная. Их можно рассмотреть на примере обычной книги. Если разобрать книгу на отдельные листы и перемешать их, книга потеряет свое назначение. Она по-прежнему будет представлять набор данных, но подобрать адекватный метод для получения из нее информации
8
весьма непросто. (Еще хуже дело будет обстоять, если из книги вырезать каждую букву отдельно — в этом случае вряд ли вообще найдется адекватный метод для ее прочтения.) Если же собрать все листы книги в правильной последовательности, мы получим простейшую структуру данных — линейную. Такую книгу уже можно читать, хотя для поиска нужных данных ее придется прочитать подряд, начиная с самого начала, что не всегда удобно. Для быстрого поиска данных существует иерархическая структура. Так, например, книги разбивают на части, разделы, главы, параграфы и т. п. Элементы структуры более низкого уровня входят в элементы структуры более высокого уровня: разделы состоят из глав, главы из параграфов и т. д. Для больших массивов поиск данных в иерархической структуре намного проще, чем в линейной, однако и здесь необходима навигация, связанная с необходимостью просмотра. На практике задачу упрощают тем, что в большинстве книг есть вспомогательная перекрестная таблица, связывающая элементы иерархической структуры с элементами линейной структуры, то есть связывающая разделы, главы и параграфы с номерами страниц. В книгах с простой иерархической структурой, рассчитанных на последовательное чтение, эту таблицу принято называть оглавлением, а в книгах со сложной структурой, допускающей выборочное чтение, ее называют содержанием. 1.4. Файлы и файловая структура 1.4.1. Единицы представления данных Существует множество систем представления данных. С одной из них, принятой в информатике и вычислительной технике, двоичным кодом, мы познакомились выше. Наименьшей единицей такого представления является бит (двоичный разряд). Совокупность двоичных разрядов, выражающих числовые или иные данные, образует некий битовый рисунок. Практика показывает, что с битовым представлением удобнее работать, если этот рисунок имеет регулярную форму. В настоящее время, в качестве таких форм используются группы из восьми битов, которые называются байтами (табл. 1).
9
Таблица 1 Десятичное число
Двоичное число
Байт
1
1
0000 0001
2
10
00000010
...
…
…
255
11111111
11111111
1.4.2. Единицы измерения данных Существует много различных систем и единиц измерения данных. В информатике для измерения данных используют тот факт, что разные типы данных имеют универсальное двоичное представление, и потому вводят свои единицы данных, основанные на нем. Наименьшей единицей измерения является байт. Более крупная единица измерения — килобайт (Кбайт). Условно можно считать, что 1 Кбайт примерно равен 1000 байт. Условность связана с тем, что для вычислительной техники, работающей с двоичными числами, более удобно представление чисел в виде степени двойки, и потому на самом деле 1 Кбайт равен 210 байт (1024 байт). Однако всюду, где это не принципиально (с инженерной погрешностью до 3 %) «забывают» о «лишних» байтах. В килобайтах измеряют сравнительно небольшие объемы данных. Условно можно считать, что одна страница неформатированного машинописного текста составляет около 2 Кбайт. Более крупные единицы измерения данных образуются добавлением префиксов мега-, гига-, тера-; в более крупных единицах пока нет практической надобности. 1 Мбайт = 1024 Кбайт = 1020 байт 1 Гбайт = 1024 Мбайт = 1030 байт 1 Тбайт = 1024 Гбайт = 1040 байт Особо обратим внимание на то, что при переходе к более крупным единицам «инженерная» погрешность, связанная с округлением,
10
накапливается и становится недопустимой, поэтому на старших единицах измерения округление производится реже. 1.4.3. Единицы хранения данных При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним удобный и быстрый доступ (если доступ не обеспечен, то это не хранение). Для обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру, а при этом образуется «паразитная нагрузка» в виде адресных данных. В качестве единицы хранения данных принят объект переменной длины, называемый файлом. Файл — это последовательность произвольного числа байтов, обладающая уникальным собственным именем. Обычно в отдельном файле хранят данные, относящиеся к одному типу. Это может быть текст статьи, рисунок, база данных и т.д. В этом случае тип данных определяет тип файла: текстовый, графический, база данных и т.д. Проще всего представить себе файл в виде безразмерного канцелярского досье, в которое можно по желанию добавлять содержимое или извлекать его оттуда. Поскольку в определении файла нет ограничений на размер, можно представить себе файл, имеющий 0 байтов (пустой файл), и файл, имеющий любое число байтов. В определении файла особое внимание уделяется имени. Оно фактически несет в себе адресные данные, без которых данные, хранящиеся в файле, не станут информацией из-за отсутствия метода доступа к ним. Кроме функций, связанных с адресацией, имя файла может хранить и сведения о типе данных, заключенных в нем. Для автоматических средств работы с данными это важно, поскольку по имени файла они могут автоматически определить адекватный метод извлечения информации из файла. Имя файла состоит из двух частей: основное имя и расширение. Основное имя присваивает пользователь, а расширение пакет программ, с которым пользователь работает. Например, пользователь создал документ в текстовом редакторе Word и дал команду сохранить его с именем Текст. В результате сохраненному документу будет присвоено имя Текст.doc. Точка и следующие за ней буквы и есть расширение. Расширение .doc означает, что документ создан в Wordе. Имя файла Диаграмма.хls означает, что этот документ создан в Электронной Таблице Excel. Расширение .dbf присваивается файлу созданному в системе управления базами данных Access, расширение .pas – программе, написанной на языке программирования Паскаль и т.д. Такая запись имени файла позволяет сразу выделить в перечне файлов документ нужного типа.
11
1.4.4. Понятие о файловой структуре Файлы хранятся на магнитных дисках в специальных областях памяти, которые называются каталогами (или папками). Аналог каталога – книга. Название каталога аналогично названию книги. А файлы, хранящиеся внутри каталога – разделы книги. Внутри одного каталога могут быть созданы другие каталоги (вложенные). Вложенные каталоги будут идентичны разделам книги, каждый из которых содержит параграфы (разделы). Хранение файлов организуется в иерархической структуре, которая в данном случае — называется файловой структурой. В качестве вершины структуры служит имя носителя (диска), на котором сохраняются файлы. Далее файлы группируются в каталоги (папки), внутри которых могут быть созданы вложенные каталоги (папки). Путь доступа к файлу начинается с имени устройства и включает все имена каталогов (папок), через которые проходит. В качестве разделителя используется символ «\» (обратная косая черта). Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя файла вместе с путем доступа к нему. Понятно, что в этом случае на одном носителе не может быть двух файлов с тождественными полными именами. Пример записи полного имени файла в общем виде: <имя носителя>\<имя каталога-1>\...\<имя каталога-М>\ \<собственное имя файла> Вот пример записи двух файлов, имеющих одинаковое собственное имя и размещенных на одном носителе (диске С:), но отличающихся путем доступа, то есть полным именем. Для наглядности имена каталогов (папок) напечатаны прописными буквами, а файлов – строчными. С:\АВТОМАТИЧЕСКИЕ АППАРАТЫ\ВЕНЕРА\АТМОСФЕРА\Результаты С:\РАДИОЛОКАЦИЯ\ВЕНЕРА\РЕЛЬЕФ\Результаты Первый файл находиться на диске С: в каталоге АВТОМАТИЧЕСКИЕ АППАРАТЫ, в подкаталоге ВЕНЕРА, внутри которого находится подкаталог второго уровня АТМОСФЕРА. (Второй файл Результаты записан в каталоге РАДИОЛОКАЦИЯ, в подкатологе ВЕНЕРА, внутри которого находится подкаталог второго уровня РЕЛЬЕФ).
12
1.5. Информатика 1.5.1. Понятие об информатике Слово информатика происходит от французского слова Informatique, образованного в результате объединения терминов Informacion (информация) и Automatique (автоматика), что выражает ее суть как науки об автоматической обработке информации. В качестве источников информатики обычно называют две науки — документалистику и кибернетику. Документалистика сформировалась в конце XIX века в связи с бурным развитием производственных отношений. Ее расцвет пришелся на 20-30-е годы XX века, а основным предметом стало изучение рациональных средств и методов повышения эффективности документооборота. Основы близкой к информатике технической науки кибернетики были заложены трудами по математической логике американского математика Норберта Винера, опубликованными в 1948 году, а само название происходит от греческого слова kybemeticos — искусный в управлении. Информатика — это наука, систематизирующая приёмы создания, хранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы управления ими. Из этого определения видно, что информатика очень близка к технологии, поэтому ее предмет нередко называют информационной технологией. 1.5.2. Предмет и задачи информатики Предмет информатики (т.е. информационную технологию) составляют следующие понятия: • аппаратное обеспечение средств вычислительной техники; • программное обеспечение средств вычислительной техники; • модели решения функциональных и вычислительных задач; • средства взаимодействия аппаратного и программного обеспечения; • средства взаимодействия человека с аппаратными и программными средствами. Как видно из этого списка, в информатике особое внимание уделяется вопросам взаимодействия. Для этого даже есть специальное понятие — интерфейс. Методы и средства взаимодействия человека с аппаратными и программными средствами называют пользовательским интерфейсом. Соответственно, существуют аппаратные интерфейсы, программные интерфейсы и аппаратно-программные интерфейсы.
13
Основной задачей информатики является систематизация приемов и методов работы с аппаратными и программными средствами вычислительной техники. Цель систематизации состоит в выделении, внедрении и развитии передовых, наиболее эффективных технологий, в автоматизации этапов работы с данными, а также в методическом обеспечении новых технологических исследований. Информатика — практическая наука. Ее достижения должны проходить подтверждение практикой и приниматься в тех случаях, когда они соответствуют критерию повышения эффективности. В составе основной задачи информатики сегодня можно выделить следующие направления для практических приложений: • архитектура вычислительных систем (приемы и методы построения систем, предназначенных для автоматической обработки данных); • интерфейсы вычислительных систем (приемы и методы управления аппаратным и программным обеспечением); • программирование (приемы, методы и средства разработки компьютерных программ); • преобразование данных (приемы и методы преобразования структур данных); • защита информации (обобщение приемов, разработка методов и средств защиты данных); • автоматизация (функционирование программно-аппаратных средств без участия человека); • стандартизация (обеспечение совместимости между аппаратными и программными средствами, а также между форматами представления данных, относящихся к различным типам вычислительных систем). На всех этапах технического обеспечения информационных процессов для информатики ключевым понятием является эффективность. Для аппаратных средств под эффективностью понимают отношение производительности оборудования к его стоимости (с учетом стоимости эксплуатации и обслуживания). Для программного обеспечения под эффективностью понимают производительность, работающих с ним пользователей. В программировании под эффективностью понимают объем программного кода, создаваемого программистами в единицу времени.
14
2. Вычислительная техника 2.1.
Основные сведения об устройстве ЭВМ
Электронной вычислительной машиной (ЭВМ) называется устройство, выполняющее следующие операции: • ввод информации; • обработку информации по заложенной в ЭВМ программе; • вывод результатов обработки в форме, пригодной для восприятия человеком. За каждое из названных действий отвечает специальный блок ЭВМ, соответственно: устройство ввода, центральный процессор (ЦП), устройство вывода. Все они достаточно сложны и, в свою очередь, состоят из отдельных более мелких устройств. В частности в центральный процессор могут входить: арифметическо-логическое устройство, управляющее устройство, оперативное запоминающее устройство. Таким образом, укрупненная структурная схема ЭВМ приобретает вид, показанный на рис. 1.
Оперативное запоминающее устройство
Управляющее устройство
Данные Команды программы Управляющие сигналы
Устройство ввода
Арифметическо-логическое устройство
Устройство вывода
Отметим, что устройство ввода представлено, как правило, не одной конструктивной единицей. Виды вводимой информации разнообразны, источников тоже может быть несколько, так что слова «устройство ввода»
15
следует понимать в собирательном смысле. То же относится к устройству вывода. Арифметическо - логическое устройство (АЛУ) – это именно то место, где выполняются преобразования данных, предписанные командами программы: арифметические действия над числами, преобразования кодов, сравнения кодов, сравнение слов и пр. Оперативное запоминающее устройство (ОЗУ), ил просто память, предназначена для размещения программ, а также для временного хранения каких-то частей входных и промежуточных результатов. Ему свойственны: способность записывать (или считывать) элементы программ и данных в произвольное место памяти (или из произвольного места памяти), высокое быстродействие. Слово произвольное означает не “какой попало”, а возможность обратиться к заданному адресу без необходимости просмотра всех предшествующих. Заметим, что запоминающие устройства бывают трех видов: • двунаправленные (допускающие и считывание, и запись данных); • полупостоянные, предназначенные для хранения редко обновляемой информации (например, сведения о конфигурации ЭВМ); • постоянные, допускающие только считывание информации. Управляющее устройства (УУ) осуществляет координацию работы всех агрегатов. В определенной последовательности оно извлекает из оперативного запоминающего устройства (ОЗУ) команду за командой. Каждая команда декодируется; если требуется, из указанных в ней ячеек ОЗУ передаются в АЛУ (или, наоборот) элементы данных; АЛУ настраиваются на выполнение действия, предписанного командой (в этом действии, может быть, участвуют и устройства ввода-вывода); дается команда на выполнение этого действия. Этот процесс будет продолжаться до тех пор, пока не сложится одна из следующих ситуаций: • Исчерпаны входные данные; • С одного из входных устройств поступила команда на прекращение работы; • Выключено питание ЭВМ. 2.2. Качественные характеристики ЭВМ Качество ЭВМ характеризуется многими показателями. Это и набор инструкций (команд), которые ЭВМ способна понимать и выполнять, и скорость работы (быстродействие) центрального процессора, и количество
16
устройств ввода-вывода («периферийных устройств»), которые можно присоединить к ней одновременно, и потребление электроэнергии, и многое другое. Но главной, как правило, характеристикой является быстродействие, то есть количество операций, которое центральный процессор способен выполнить в единицу времени. Понятно общее (и создателей ЭВМ, и пользователей) стремление к повышению производительности ЭВМ. Одно из направлений удовлетворения этого стремления - принципиальное и конструктивное совершенствование элементной базы, то есть создание новых, все более быстрых, надежных и удобных в работе процессоров, запоминающих устройств, принтеров и т.д. Но скорость работы элементов невозможно увеличивать беспредельно (существует современные технологические ограничения и ограничения, обусловленные физическими законами). Поэтому разработчики ЭВМ ищут решение этой проблемы и на путях совершенствования схемных решений, или, как говорят, совершенствования архитектуры ЭВМ. Так появились многопроцессорные ЭВМ, в которых несколько процессоров работают по-настоящему одновременно, и, значит, производительность машины равна сумме производительностей процессоров. В этом случае говорят о многопроцессорной архитектуре. В особо мощных ЭВМ (такие машины могут, например, моделировать ядерные реакции со скоростью естественного процесса) число процессоров достигает нескольких десятков. Скорость работы ЭВМ существенно зависит от скорости работы ОЗУ, или, иными словами, от продолжительности обращения к ОЗУ. Поэтому постоянно ведутся поиски элементов для ОЗУ, которые требовали бы как можно меньше времени на операции чтения - записи. Однако обнаружилось, что вместе с быстродействием растет (и очень резко) стоимость элементов памяти, так что построение ОЗУ необходимой емкости на быстрых элементах неприемлема экономически. Это коллизия разрешена путем построения многоуровневой памяти. ОЗУ складывается из двух – трех частей: основная часть большой емкости, строится на относительно медленных (но зато более дешевых) элементах, а дополнительная часть (ее называют кэш-памятью) состоит из быстродействующих элементов. Те данные, к которым АЛУ обращаются наиболее часто, содержатся в кэш – памяти; больший же объем оперативной информации хранится в основной памяти. Распределением информации между основными частями ОЗУ управляет специальный блок центрального процессора. Объем ОЗУ и кэш – памяти принадлежит к числу важнейших характеристик ЭВМ. Как сказано выше, работой устройств ввода–вывода тоже необходимо управлять. Раннее эти обязанности возлагались на ЦП, и они отнимали у него немало времени. Архитектура современных ЭВМ предусматривает передачу значительной части функций управления периферийными устройствами
17
специализированным процессорам, обеспечивая тем самым разгрузку ЦП и повышение его производительности. Итак, ясно, что реальная структура ЭВМ значительно сложнее, чем изображенная на рис. 1, за счет включения в нее дополнений, направленных, в конечном счете, на повышение производительности и приближение функциональных возможностей ЭВМ к потребностям пользователей. Однако в целом структура ЭВМ сохраняется. 2.3. Классификация ЭВМ Номенклатура видов ЭВМ в настоящее время огромна: машины различаются по назначению, мощности, размерам, используемой элементной базе, устойчивости по отношению к воздействию неблагоприятных условий и т. д. Так что классифицировать ЭВМ можно было бы с разных точек зрения, по разным классификационным признакам. Для наших целей наиболее интересно сгруппировать ЭВМ по производительности и по габаритным характеристикам (размеры, вес). Заметим сразу, что классификация в известной мере условна, так как границы между группами размыты и очень подвижны во времени: развитие этой отрасли науки и техники столь стремительно, что, например, сегодняшняя микро – ЭВМ не уступает по мощности мини – ЭВМ пяти летней давности. Принятая на сегодня градация ЭВМ представлена в табл. 2. Класс персональных ЭВМ сам складывается из весьма разнообразных видов машин и потому заслуживает отдельной классификации (табл. 3). В качестве классификационного признака взяты весо–габаритные данные.
Класс ЭВМ Супер ЭВМ
Большие ЭВМ (мэйнфреймы)
Основное назначение - Сложные научные расчеты
Обработка больших объемов информации банков,
Таблица 2. Классы современных ЭВМ Некоторые Основные технические Цена, $ модели и/или данные изготовители Интегральное быстродейс- До CRAY твие до десятков миллиар- 10000000 дов операций в секунду; VAX-1000 число параллельно рабоMULTICON тающих процессоров до 100 Мультипроцессорная Tandem До Computer архитектура; подключение 250 000 EC-1066 до 200 рабочих мест
18
крупных предприятий Супер миниЭВМ
Системы управления предприятия мимногопультовые вычислительные системы МиниСистемы упЭВМ равления предприятиями среднего размера; многопультовые вычислительные системы Рабочие Системы станции автоматизированного проектирования, системы автоматизации экспериментов
До Мультипроцессорная архитектура; подключения 180 000 до 200 терминалов; дисковые запоминающие устройства, наращиваемые до девяноста Гбайт
Семейство VAX (Digital Equipment);SP ARC (SUN Microsystems); AS/400(IBM)
Однопроцессорная До архитектура, разветвленная 100 000 периферия
ES/9000; ES/9370 (IBM); Серии А и 2200 (Unisys)
Однопроцессорная До архитектура, высокое 50 000 быстродействие процессора; ОЗУ 32-64 Мбайт; специализированная периферия
MERVA-2 (IBM RS6000)
Таблица 3. Микро-ЭВМ (персональные компьютера) Тип
Вес, кг
Настольные 5-10 (Desk Top) Переносные 2,5-5 (Lap Top)
Источник питания Бытовая электросеть
Комментарии
Используется внутри помещений для оборудования рабочих мест; обладают широким набором функциональных возможностей Бытовая Предназначены для использоэлектросеть или вания в поездках. Достаточно батареи широкий набор возможностей, включая подключение к вычислительным сетям
19
Блокнотные 0,7-2,5 (Note Book)
Батареи или Предназначены для использопреобразователь вания в поездках. Набор напряжения возможностей сокращен
или Электронный Менее 0,7 Батареи преобразователь секретарь напряжения (PDA= Personal Digital Assistant)
Можно легко держать в руке. Набор функций позволяет выполнять записи текстов, некоторые вычисления, вести расписание
Стоимость портативного персонального компьютера (ПК) в два–пять раз выше, чем у настольного, имеющего такие же основные параметры (размер оперативной памяти, тип процессора, емкость жесткого диска и т.д.). Отнесение машин к тому или иному подклассу весьма условно как из-за размытости границ групп, так и вследствие широкого внедрения в жизнь практики заказной сборки машин, когда номенклатура узлов ПК и даже конкретные модели подгоняются под требования заказчика. 2.4. Тенденции развития ЭВМ В истории развития ЭВМ принято выделять несколько поколений вычислительных машин: • первое поколение (ЭВМ на электронных лампах, были распространены в начале 50-х годов прошлого столетия); • второе поколение (ЭВМ на полупроводниках, использовались в конце 50-х годов ХХ века); • третье поколение (ЭВМ на интегральных микросхемах с небольшим количеством полупроводниковых элементов, появились в 60-х годах); • четвертое поколение (на больших интегральных схемах было создано в 70-х годах); • пятое поколение (персональные компьютеры и большие ЭВМ на сверхбольших интегральный микросхемах, используются сегодня). На протяжении недавней истории ЭВМ, то есть примерно с середины 60х годов, когда полупроводники уже полностью вытеснили электронные лампы из элементной базы вычислительных машин, в развитии этой области техники произошло несколько драматических поворотов. Все они явились следствием, с одной стороны, бурного развития технологии микропроцессоров, с другой – интенсивного прогресса программного обеспечения компьютеров. Тот и другой процессы развивались параллельно, подстегивая друг друга, в какой-то мере конкурируя. Новые технические возможности, появлявшиеся с созданием новых элементов и устройств,
20
позволили разработать более совершенные (и функциональные, и по производительности) программы; это, в свою очередь, порождало потребность в новых, более совершенных компонентах и т.д. В 60-е годы, в эпоху машин третьего поколения, то есть машин на базе отдельных полупроводниковых элементов и интегральных схем небольшой плотности (типичной представитель ЭВМ семейства IBM 360), пользователи пришли к осознанию необходимости изменения организации использования ЭВМ. До того ЭВМ предоставлялась в распоряжение одного человека (это был либо оператор, выполняющий готовую программу, либо программист, занятый разработкой новой). Такой порядок не позволял использовать весь потенциал машины. Поэтому возникла технология так называемой пакетной обработки заданий, характерная тем, что пользователь был отделен от машины. Он должен был заранее подготовить свое задание (чаще всего – в виде колоды перфокарт с управляющими кодами и исходными данными) и передать его в руки операторов, которые формировали очередь заданий. Таким образом, машина получала для обработки сразу несколько заданий и не простаивала в ожидании каждого нового задания или реакции пользователя на свои сообщения. Но и этого оказалось недостаточно: по быстродействию центральный процессор намного опережал внешние устройства, такие, как считыватели перфокарт и перфолент, АЦПУ (алфавитно-цифровые печатающие устройства), и поэтому его мощность оказывалась не полностью использованной. Возникла идея организации многозадачного использования процессора. Ее суть состояла в том, что процессор как бы одновременно выполнял несколько программ. На самом деле процессор работал по-прежнему последовательно. Но когда, положим, в рамках какой-то программы очередь доходила до обмена с внешним устройством, эта операция перепоручалась недорогому специализированному устройству, а центральный процессор переключался на продолжение другой программы и т.д. Таким образом, коэффициент использования аппаратной части вычислительной установки резко возрос. В рамках одного из направлений развития идеи многозадачности появились и так называемые многопультовые системы. Они представляли собой комплексы, состоявшие из центральной ЭВМ и группы видеотерминалов (дисплеев) числом до нескольких десятков. Человек-оператор, работавший за пультом такого терминала, ощущал себя полным распорядителем ЭВМ, поскольку ЭВМ реагировала на его действия и команды с минимальной задержкой. В действительности же центральная ЭВМ квази-одновременно работала со многими программами, переключаясь с одной на другую в соответствии с определенной дисциплиной (например, уделяя каждому терминалу по несколько миллисекунд в течение секунды). В 1971 г. был создан первый микропроцессор, то есть функционально законченное устройство, способное выполнять обязанности центрального процессора (правда, в то же время весьма маломощного). Это событие
21
имело значение поворотного момента в истории вычислительной техники (и не только вычислительной: в дальнейшем процесс микроэлектроники привел к существенным переменам и в других областях – в станкостроении, автомобилестроении, технике связи и т.д.). Совершенствование технологии, опиравшихся на достижения фундаментальных наук, на успехи оптики, точного машиностроения, металлургии и других отраслей, дало возможность получить микропроцессоры со все большим количеством элементов, размещенных на поверхности полупроводникового кристалла со все большей плотностью, а значит – все более мощные. Забота о возможно более полном использовании вычислительных ресурсов теряла свою остроту и даже актуальность. В 1979 г. мировой лидер в производстве средств вычислительной техники (ВТ), корпорация IBM, отреагировала на появление «персоналки» с некоторым запаздыванием, но в 1980 г. вышла на рынкок со своим IBM РС, самой важной особенностью которой была так называемая открытая архитектура. Это означает, во-первых, возможность реализации принципа взаимозаменяемости, то есть использования для сборки ПК узлов от разных производителей (лишь бы они соответствовали определенным соглашениям), и, во-вторых – возможность доукомплектования ПК, наращивание его мощности уже в ходе эксплуатации. Это смелое и дальновидное техническое решение дало мощный толчок всей индустрии ВТ. Десятки и сотни фирм включились в разработку и производство отдельных блоков и целых ПК, создав всплеск спроса на элементы, новые материалы, новые идеи. Последующие годы отмечены фантастически быстрым совершенствованием микропроцессоров (каждые 5 лет плотность размещения элементов на полупроводниковом кристалле возрастала в 10 раз!), запоминающих устройств (оперативных и накопителей), средств отображения и фиксации данных. И, повторимся, очень существенно то, что одновременно снижалась себестоимость и цены. В конечном счете, последние полтора десятилетия ознаменованы широчайшим распространением персональных ЭВМ во всех сферах человеческой деятельности. Заметны и социальные последствия этого феномена, но это – отдельный вопрос. Важно отметить, что ПК стали преобладать и как аппаратная база систем управления, вытесняя большие ЭВМ, что привело к ряду негативных последствий, в частности к неприемлемому снижению уровня централизации и частичной потере управляемости. Как и ранее, технологические достижения приносили не только удовлетворение, но и новые проблемы. Усилия по их разрешению приводят к новым интересным результатам как в аппаратной сфере, так и в создании новых программных средств и систем. Проиллюстрируем это положение несколькими примерами.
22
2.5. Базовая аппаратная конфигурация персонального компьютера Персональный компьютер — универсальная техническая система. Его конфигурацию (состав оборудования) можно гибко изменять по мере необходимости. Тем не менее, существует понятие базовой конфигурации, которую считают типовой, В таком комплекте компьютер обычно поставляется. Понятие базовой конфигурации может меняться. В настоящее время в базовой конфигурации рассматривают четыре устройства (рис. 2): • системный блок; • монитор; • клавиатуру; • манипулятор «мышь».
23
Рис. 2 Системный блок Системный блок представляет собой основной узел, внутри которого установлены наиболее важные компоненты. Устройства, находящиеся внутри системного блока, называют внутренними, а устройства, подключаемые к нему снаружи, называют внешними. Внешние дополнительные устройства, предназначенные для ввода, вывода и длительного хранения данных, также называют периферийными. Монитор Монитор — устройство визуального представления данных. Это не единственно возможное, но главное устройство вывода. Его основными потребительскими параметрами являются: размер и шаг маски экрана, максимальная частота регенерации изображения, класс защиты. Клавиатура Клавиатура — клавишное устройство управления персональным компьютером. Служит для ввода алфавитно-цифровых (знаковых) данных, а также команд управления. Комбинация монитора и клавиатуры обеспечивает простейший интерфейс пользователя. С помощью клавиатуры управляют компьютерной системой, а с помощь монитора получают от нее отклик.
24
Клавиатура относится к стандартным средствам персонального компьютера. Ее основные функции не нуждаются в поддержке специальными системными программами (драйверами). Необходимое программное обеспечение для начала работы с компьютером уже имеется в составе базовой системы ввода-вывода (BIOS), и потому компьютер реагирует на нажатия клавиш сразу после включения. Мышь Мышь — устройство управления манипуляторного типа. Представляет собой плоскую коробочку с двумя-тремя кнопками. Перемещение мыши по плоской поверхности синхронизировано с перемещением графического объекта (указателя мыши) на экране монитора. В отличие от рассмотренной ранее клавиатуры, мышь не является стандартным органом управления, и персональный компьютер не имеет для, нее выделенного порта. Для мыши нет и постоянного выделенного прерывания, а базовые средства ввода и вывода (BIOS) компьютера, размещенные в постоянном запоминающем устройстве (ПЗУ), не содержат программных средств для обработки прерываний мыши. В связи с этим в первый момент после включения компьютера мышь не работает. Она нуждается в поддержке специальной системной программы — драйвера мыши. Драйвер устанавливается либо при первом подключении мыши, либо при установке операционной системы компьютера. 2.6. Внутренние устройства системного блока 2.6.1. Материнская плата Материнская плата — основная плата персонального компьютера. На ней размещаются: • процессор — основная микросхема, выполняющая большинство математических и логических операций; • микропроцессорный комплект (чипсет) — набор микросхем, управляющих работой внутренних устройств компьютера и определяющих основные функциональные возможности материнской платы; • шины — наборы проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера; • оперативная память (оперативное запоминающее устройство, ОЗУ) — набор микросхем, предназначенных для временного хранения данных, когда компьютер включен;
25
• ПЗУ (постоянное запоминающее устройство) — микросхема, предназначенная для длительного хранения данных, в том числе и когда компьютер выключен; • разъемы для подключения дополнительных устройств (слоты). 2.6.2. Жесткий диск (винчестер) Жесткий диск — основное устройство для долговременного хранения больших объемов данных и программ. На самом деле это не один диск, а группа соосных дисков, имеющих магнитное покрытие и вращающихся с высокой скоростью. Таким образом, этот «диск» имеет не две поверхности, как должно быть у обычного плоского диска, а 1п поверхностей, где п — число отдельных дисков в группе. К основным параметрам жестких дисков относятся емкость и производительность. Емкость дисков зависит от технологии их изготовления. В настоящее время большинство производителей жестких дисков используют изобретенную компанией IBM технологию с использованием гигантского магниторезистивного эффекта (GMR — Giant Magnetic Resistance). Теоретический предел емкости одной пластины, исполненной по этой технологии, составляет порядка 20 Гбайт. В настоящее время достигнут технологический уровень 6,4 Гбайт на пластину, но развитие продолжается. 2.6.3. Дисковод гибких дисков Информация на жестком диске может храниться годами, однако иногда требуется ее перенос с одного компьютера на другой. Несмотря на свое название, жесткий диск является весьма хрупким прибором, чувствительным к перегрузкам, ударам и толчкам. Теоретически переносить информацию с одного рабочего места на другое путем переноса жесткого диска возможно, и в некоторых случаях так и поступают, но все-таки этот прием считается нетехнологичным, поскольку требует особой аккуратности и определенной квалификации. Для оперативного переноса небольших объемов информации используют так называемые гибкие магнитные диски (дискеты), которые вставляют в специальный накопитель — дисковод. Приемное отверстие накопителя находится на лицевой панели системного блока. Правильное направление подачи гибкого диска отмечено стрелкой на его пластиковом кожухе. 2.3.4. Дисковод компакт-дисков CD-ROM В период 1994-1995 гг. в базовую конфигурацию персональных компьютеров перестали включать дисководы гибких дисков диаметром 5,25 дюйма, но
26
вместо них стандартной стала считаться установка дисковода CD-ROM, имеющего такие же внешние размеры. Аббревиатура CD-ROM (Compact Disc Read-Only Memory) переводится на русский язык как постоянное запоминающее устройство на основе компакт-диска. Принцип действия этого устройства состоит в считывании числовых данных с помощью лазерного луча, отражающегося от поверхности диска. Цифровая запись на компакт-диске отличается от записи на магнитных дисках очень высокой плотностью, и стандартный компакт-диск может хранить примерно 650 Мбайт данных. Большие объемы данных характерны для мультимедийной информации (графика, музыка, видео), поэтому дисководы CD-ROM относят к аппаратным средствам мультимедиа. Программные продукты, распространяемые на лазерных дисках, называют мультимедийными изданиями. 2.7. Системы, расположенные на материнской плате 2.7.1. Оперативная память Оперативная память – это массив кристаллических ячеек, способных хранить данные. Сегодня типичным считается размер оперативной памяти 32-128 Мбайт, но очень скоро эта величина будет превышена в 3-4 раза даже для моделей массового потребления. 2.7.2. Процессор Процессор — основная микросхема компьютера, в которой и производятся всё вычисления. Конструктивно процессор состоит из ячеек, похожих на ячейки оперативной памяти, но в этих ячейках данные могут не только храниться, но и изменяться. Внутренние ячейки процессора называют регистрами. Важно также отметить, что данные, попавшие в некоторые регистры, рассматриваются не как данные, а как команды, управляющие обработкой данных в других регистрах. Среди регистров процессора есть и такие, которые в зависимости от своего содержания способны модифицировать исполнение команд. Таким образом, управляя засылкой данных в разные регистры процессора, можно управлять обработкой данных. На этом и основано исполнение программ. С остальными устройствами компьютера, и в первую очередь с оперативной памятью, процессор связан несколькими группами проводников, называемых шинами. Основных шин три: шина данных, адресная шина и командная шина.
27
2.7.3. Микросхема ПЗУ и система BIOS В момент включения компьютера в его оперативной памяти нет ничего — ни данных, ни программ, поскольку оперативная память не может ничего хранить без подзарядки ячеек более сотых долей секунды. Но процессору нужны команды, в том числе и в первый момент после включения. Поэтому сразу после включения на адресной шине процессора выставляется стартовый адрес. Это происходит аппаратно, без участия программ (всегда одинаково). Процессор обращается по выставленному адресу за своей первой командой и далее начинает работать по программам. Этот исходный адрес не может указывать на оперативную память, в которой пока ничего нет. Он указывает на другой тип памяти — постоянное запоминающее устройство (ПЗУ). Микросхема ПЗУ способна длительное время хранить информацию, даже когда компьютер выключен. Программы, находящиеся в ПЗУ, называют «зашитыми» — их записывают туда на этапе изготовления микросхемы. Комплект программ, находящихся в ПЗУ, образует базовую систему ввода-вывода (BIOS — Basic Input Output System). Основное назначение программ этого пакета состоит в том, чтобы проверить состав и работоспособность компьютерной системы и обеспечить взаимодействие с клавиатурой, монитором, жестким диском и дисководом гибких дисков. Программы, входящие в BIOS, позволяют нам наблюдать на экране диагностические сообщения, сопровождающие запуск компьютера, а также вмешиваться в ход запуска с помощью клавиатуры. 3. Программное обеспечение компьютеров 3.1. Программы и программная конфигурация Программы — это упорядоченные последовательности команд. Конечная цель любой компьютерной программы — управление аппаратными средствами. Даже если на первый взгляд программа никак не взаимодействует с оборудованием, не требует никакого ввода данных с устройств ввода и не осуществляет вывод данных на устройства вывода, все равно ее работа основана на управлении аппаратными устройствами компьютера. Состав программного обеспечения вычислительной системы называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь — многие программы работают, опираясь на другие программы более низкого уровня, то есть мы можем говорить о межпрограммном интерфейсе.
28
3.2. Системные и прикладные программы Существует разделение вычислительных машин на две оставляющие: аппаратурную и программную. Программная часть называется программным обеспечением ЭВМ. Программное обеспечение делится на две части. Одна часть - это комплекс программных средств, предназначенных для того, чтобы на вычислительной машине можно было организовать выполнение программ. Вторая - множество тех программ, которые нацелены на решение конкретных задач. Эти две части программного обеспечения принято соответственно называть Системными программами и прикладными программами. 3.2.1. Системные программы Удобно разделить системные программы на три класса: 1. Операционные системы компьютеров. Основная задача таких программ - планирование вычислительного процесса, распоряжение ресурсами машины, организация взаимодействия отдельных процессов, протекающих в машине во время выполнения программ. К этим программам примыкают программные системы, обеспечивающие отображение информации в удобном для пользователя виде (например, на дисплее), диалоговые программы для общения на естественном языке, а также системы трансляции (трансляторы), обеспечивающие перевод программ с языков программирования в машинные коды. В настоящее время наиболее распространенными операционными системами (ОС) являются MS DOS, Unix, Windows. Особенности работы с самой популярной ОС Windows подробно рассмотрены в [6], [7], [9]. 2. Сервисные программы: отладчики, диагностические программы, программы для борьбы с компьютерными вирусами и др. Эти программы облегчают пользователю взаимодействие с машиной. 3. Программы обеспечения работы в сети. Эти программы реализуют протоколы обмена информацией между машинами, работу с базами данных, телеобработку данных. 3.2.2. Прикладные программы Прикладные программы удобно разделить на следующие классы: 1. Текстовые редакторы. Основные функции этого класса прикладных программ заключаются в вводе и редактировании текстовых данных. Дополнительные функции состоят в автоматизации процессов ввода и
29
редактирования. Для операций ввода, вывода и сохранения данных текстовые редакторы вызывают и используют системное программное обеспечение. Впрочем, это характерно и для всех прочих видов прикладных программ, и в дальнейшем мы не будем специально указывать на этот факт. С этого класса прикладных программ обычно начинают знакомство с программным обеспечением и на нем отрабатывают первичные навыки взаимодействия с компьютерной системой. (Например, редактор Лексикон) 2. Текстовые процессоры. Основное отличие текстовых процессоров от текстовых редакторов в том, что они позволяют не только вводить и редактировать текст, но и форматировать его, то есть оформлять. Соответственно, к основным средствам текстовых процессоров относятся средства обеспечения взаимодействия текста, графики, таблиц и других объектов, составляющих итоговый документ, а к дополнительным — средства автоматизации процесса форматирования. Наиболее популярный текстовый процессор – Microsoft Word (особенности работы с ним – см. в [10]). 3. Графические редакторы. Это обширный класс программ, предназначенных для создания и обработки графических изображений. Сюда следует отнести встроенный в Microsoft Office редактор Paint, а также графический редактор Corel DRAW. 4. Системы управления базами данных. Базами данных называют огромные массивы данных, организованных в табличные структуры. Основными функциями систем управления базами данных являются: • создание пустой (незаполненной) структуры базы данных; • предоставление средств ее заполнения или импорта данных из таблиц другой базы; • обеспечение возможности доступа к данным, а также предоставление средств поиска и фильтрации. Многие системы управления базами данных (СУБД) дополнительно предоставляют возможности проведения простейшего анализа данных и их обработки. В результате возможно создание новых таблиц баз данных на основе имеющихся. В связи с широким распространением сетевых технологий к современным системам управления базами данных предъявляется также требование возможности работы с удаленными и распределенными ресурсами, находящимися на серверах всемирной компьютерной сети. Наиболее распространенными являются СУБД FOXPRO, PARADOX, ACCESS (возможности и особенности работы СУБД ACCESS см. в [13]). 5. Электронные таблицы. Электронные таблицы (ЭТ) предоставляют комплексные средства для хранения различных типов данных и их обработки. В некоторой степени они аналогичны системам управления
30
базами данных, но основной акцент смещен не на хранение массивов данных и обеспечение к ним доступа, а на преобразование данных, причем в соответствии с их внутренним содержанием. Наиболее распространены ЭТ Supercalc, Excel. С возможностями работы последней ЭТ можно ознакомится в [12]. 6. Системы автоматизированного проектирования (CAD-системы). Предназначены для автоматизации проектно-конструкторских работ. Применяются в машиностроении, приборостроении, архитектуре. Кроме чертежно-графических работ эти системы позволяют проводить простейшие расчеты (например, расчеты прочности деталей) и выбор готовых конструктивных элементов из обширных баз данных. 7. Экспертные системы. Предназначены для анализа данных, содержащихся в базах знаний, и выдачи рекомендаций по запросу пользователя. Такие системы применяют в тех случаях, когда исходные данные хорошо формализуются, но для принятия решения требуются обширные специальные знания. Характерными областями использования экспертных систем являются юриспруденция, медицина, фармакология, химия. По совокупности признаков заболевания медицинские экспертные системы помогают установить диагноз и назначить лекарства, дозировку и программу лечебного курса. По совокупности признаков события юридические экспертные системы могут дать правовую оценку и предложить порядок действий, как для обвиняющей стороны, так и для защищающейся. С использованием экспертных систем связана особая область научнотехнической, деятельности, называемая инженерией знаний. Инженеры знаний — это специалисты особой квалификации, выступающие в качестве промежуточного звена между разработчиками экспертной системы (программистами) и ведущими специалистами в конкретных областях науки и техники (экспертами). Этапы разработки систем принятия решений (экспертных систем) рассмотрены в [11]. 8. Редакторы HTML (Web-редакторы). Это особый класс редакторов, объединяющих в себе свойства текстовых и графических редакторов. Они предназначены для создания и редактирования так называемых Webдокументов (Web-страниц Интернета). Web-документы — это электронные документы, при подготовке которых следует учитывать ряд особенностей, связанных с приемом/передачей информации в Международной компьютерной сети Интернет. Теоретически для создания Web-документов можно использовать обычные текстовые редакторы и процессоры, а также некоторые из графических редакторов векторной графики, но Web-редакторы обладают рядом полезных функций, повышающих производительность труда Webдизайнеров. Программы этого класса можно также эффективно использовать для подготовки электронных документов и мультимедийных изданий.
31
4. Языки программирования 4.1. Машинный код процессора Процессор компьютера — это большая интегральная микросхема. Все команды и данные он получает в виде электрических сигналов. Их можно представить как совокупности нулей и единиц, то есть числами. Разным командам соответствуют разные числа. Поэтому реально программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом. 4.3.2. Алгоритм и программа Управлять компьютером нужно по определенному алгоритму. Алгоритм — это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. Такое описание еще называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы — полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется. 4.3. Что такое язык программирования Самому написать программу в машинном коде весьма сложно, причем эта сложность резко возрастает с увеличением размера программы и трудоемкости решения нужной задачи. Условно можно считать, что машинный код приемлем, если размер программы не превышает нескольких десятков байтов, и нет потребности в операциях ручного ввода/вывода данных. Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного, человеческого (естественного) языка — это называется программированием на метаязыке (подобный подход обычно используется на этапе составления алгоритма), но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка. Языки программирования — искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).
32
Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка — его семантику. Нарушение формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке, а правильно написанное, но не отвечающее алгоритму использование команд языка приводит к семантическим ошибкам (называемым еще логическими ошибками или ошибками выполнения). Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок — отладкой.
33
4.4. Компиляторы и интерпретаторы С помощью языка программирования создается не готовая программа, а только ее текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы-компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы-интерпретаторы). Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения такой программы на другом компьютере там также должен быть установлен интерпретатор — ведь без него текст программы является просто набором символов. Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код. 4.5. Уровни языков программирования Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. В данном случае «низкий уровень» не значит «плохой». Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора. Языком самого низкого уровня является язык ассемблера, который просто представляет каждую команду машинного кода, но не в виде чисел, а с помощью символьных условных обозначений, называемых мнемониками. Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на
34
уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше. Наиболее используемые на сегодня языки программирования: Pascal (Паскаль). Язык Паскаль, создан в конце 70-х годов основоположником множества идей современного программирования Никлаусом Виртом и имеет возможности, позволяющие успешно применять его при создании крупных проектов. Вasic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении. Его современная модификация Visual Basic совместимая с Microsoft office, имеет возможности, аналогичные Паскалю, и позволяет, например, расширять возможности пакетов Excel и Access. С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix). 5. Компьютерные сети 5.1. Локальные и глобальные сети Компьютерная сеть образуется при физическом соединении двух компьютеров. Начало развития компьютерных сетей было положено в США, где в конце 60-х годов ХХ столетия была создана первая сеть национального масштаба, названная APRANET, расширение которой в последующем происходило за счет прямого соединения других компьютеров. Прямым соединением называется простейшее соединение двух компьютеров для обмена данными с помощью провода или кабеля. В общем случае, для создания компьютерной сети необходимо специальное аппаратное обеспечение (сетевое оборудование) и специальное программное обеспечение (сетевые программные средства). Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости сетевого оборудования по электрическим и механическим характеристикам и совместимости информационного обеспечения (программ и данных) по системе кодирования и формату данных.
35
Решение этой задачи относится к области стандартизации и основано на так называемой модели взаимодействия открытых систем OSI (Model of Open System Interconntctions). Она создана на основе технических предложений Международного института стандартов ISO (International Standards Organization).Согласно модели ISO/OSI архитектуру компьютерных сетей рекомендуется рассматривать на семи уровнях (от высшего к низшему): прикладном, представления, сеансовом, транспортном, сетевом, соединения, физическом. На прикладном уровне с помощью специальных приложений пользователь создает документ. На уровне представления операционная система компьютера пользователя фиксирует, где находятся созданные данные (в оперативной памяти, в файле на жестком диске и т.п.), и обеспечивает взаимодействие со следующим уровнем. На сеансовом уровне компьютер пользователя взаимодействует с локальной или глобальной сетью, т.е. проверяются права пользователя на “выход в эфир” и документ передается на транспортный уровень. На транспортном уровне документ преобразуется в форму, в которой положено передавать данные в используемой сети. Существует две формы передачи данных в сети: с коммутацией каналов и с коммутацией пакетов. Сетевой уровень определяет маршрут движения данных в сети. Уровень соединения необходим для того, чтобы промодулировать сигналы, циркулирующие на физическом уровне, в соответствии с данными, полученными с сетевого уровня. На физическом уровне происходит реальная передача данных. Обмен данными в сети происходит путем их перемещения на компьютере пользователя с верхнего уровня на нижний, затем транспортировки по каналу связи и, наконец, обратным воспроизведением на компьютере клиента в результате перемещения с нижнего уровня на верхний. Для обеспечения необходимой совместимости на каждом из семи возможных уровней архитектуры компьютерной сети действуют специальные стандарты, называемые протоколами. Они определяют характер аппаратного взаимодействия компонентов сети (аппаратные протоколы) и характер взаимодействия программ и данных (программные протоколы). Физически функции поддержки протоколов исполняют аппаратные устройства (интерфейсы) и программные средства (программы поддержки протоколов), которые также называются протоколами. В соответствии с используемыми протоколами компьютерные сети принято разделять на локальные (LAN-Lokal Area Network),региональные(MAN - Metropolitan Area Network) и глобальные (WAN - Wide Area Network).
36
Локальная вычислительная сеть объединяет абонентов, расположенных в пределах небольшой территории (отдельных предприятий, фирм, банков, офисов и т.д.). Компьютеры локальной вычислительной сети преимущественно используют единый протокол документов для всех участников. Взаимодействие между компьютерами в такой сети осуществляется обычно прямым кабельным соединением. При этом для создания прямого соединения компьютеров, работающих под управлением операционной системы Windows, не требуется ни специального аппаратного, ни программного обеспечения. В этом случае аппаратными средствами являются стандартные порты ввода/вывода (последовательный или параллельный), а в качестве программного обеспечения используется стандартная программа, имеющаяся в составе операционной системы (Пуск – Программы – Стандартные - Связь - Прямое кабельное соединение). Региональная вычислительная сеть связывает абонентов, расположенных на значительном расстоянии друг от друга (десятки и сотни километров) внутри большого города, экономического района, отдельного регион, отдельной страны. Ее абонентами обычно являются как отдельные компьютеры, так и локальные сети, в том числе и использующие различные протоколы. Глобальные вычислительные сети объединяют абонентов, расположенных в различных странах, на различных континентах. Обычно в качестве абонентов выступают региональные вычислительные сети. Взаимодействие между абонентами как региональных, так и глобальных сетей может осуществляться на базе телефонных линий связи, радиосвязи, систем спутниковой связи. Назначение всех видов компьютерных сетей определяется двумя функциями: • обеспечение совместного использования аппаратных и программных ресурсов сети; • обеспечение совместного доступа к ресурсам данных. Так, например, все участники локальной сети могут совместно использовать одно общее устройство печати (сетевой принтер) или ресурсы жестких дисков одного выделенного компьютера (файлового сервера). Это относится и к программному, и к информационному обеспечению. Если в сети имеется специальный компьютер, выделенный для совместного использования участниками сети, он называется файловым сервером. Компьютерные сети, в которых нет выделенного сервера, а все локальные компьютеры могут общаться друг с другом на “равных правах” (обычно это небольшие сети), называются одноранговыми.
37
5.2. Интернет. Основные понятия Интернет (Internet - межсеть) - это Всемирная компьютерная сеть, это несколько миллионов компьютеров, локальных, региональных и глобальных сетей, связанных друг с другом всевозможными линиями связи, что позволяет рассматривать Интернет как огромное информационное пространство. То есть Интернет не просто совокупность прямых соединений между компьютерами, а представляет собой как бы пространство, внутри которого осуществляется непрерывная циркуляция данных. Так, например, если два компьютера, находящиеся на разных континентах, обмениваются данными в Интернете, это совсем не значит, что между ними действует одно прямое или виртуальное соединение. Данные, которые они посылают друг другу, разбиваются на пакеты, и даже в одном сеансе связи разные пакеты одного сообщения могут пройти разными маршрутами. Какими бы маршрутами ни двигались пакеты данных, они все равно достигнут пункта назначения и будут собраны вместе в цельный документ. Рождением Интернет принято считать 1983 год, когда был разработан и стандартизирован протокол связи TCP/IP, который понимают все клиенты Интернет, независимо от того, какие компьютеры (IBM, UNIX, Macintosh и др.) и какой язык они используется для внутренних целей. В современном понимании ТСР/IP не один, а два протокола, лежащих на разных уровнях. Это так называемый стек протоколов. Протокол TCP (Transmission Control Protocol) - протокол транспортного уровня. Он управляет тем, как происходит передача информации. Согласно протоколу ТСР отправляемая информация “нарезается” на небольшие пакеты, после чего каждый пакет маркируется таким образом, чтобы в нем были данные, необходимые для правильной сборки документа в конце пути, и пакеты рассылаются по Интернет. При этом разные пакеты двигаются по разным, не занятым в каждый данный момент времени на данном узловом сервере каналам с тем, чтобы потом согласно маркировке соединиться на компьютере получателя. Протокол IP (Internet Protokol) - адресный. Он принадлежит сетевому уровню и определяет,куда происходит передача. Его суть состоит в том, что у каждого компьютера- участника Интернет должен быть свой уникальный адрес (IP-адрес). Без этого нельзя говорить о точной доставке ТСР-пакетов в нужное место. Для компьютера IP-адрес представляет собой 32-битовое число, т.е. занимает четыре байта, формат (класс) которого строго задан в зависимости от формата сети. Для человека IP-адрес представляет собой последовательность из четырех целых чисел (каждое в пределах 0 - 255), разделенных точками. Например, IP-адрес WWW-сервера корпорации Microsoft - 193.125.42.147. Поскольку один байт содержит до 256 различных
38
значений, то теоретически с помощью четырех байтов можно выразить более четырех миллиардов уникальных IP-адресов. Когда говорят об использовании Интернет, то на самом деле речь идет не об Интернет в целом, а только об одной или нескольких из его многочисленных служб (информационных ресурсов). Наиболее часто используемыми службами Интернет являются: - служба удаленного доступа Telnet, используемая обычно для проведения работ на более мощном компьютере, чем компьютер пользователя; - электронная почта E-Mail; - списки рассылки Mail List - служба, собирающая информацию по различным определенным темам и представляющая ее подписчикам в виде сообщений электронной почты; - телеконференции Usenet - сетевой форум, организованный для ведения дискуссий и обмена новостями; - служба Word Wide Web (WWW) - единое информационное пространство, состоящее из сотен миллионов электронных документов, хранящихся на WEB-серверах; - служба передачи файлов FTP (File Transfer Protokol); - служба имен доменов (DNS); - служба IRC (Internet Realy Chat), предназначенная для прямого общения пользователей в режиме реального времени; - служба унифицированных адресов ресурсов (URL); - служба ICQ, предназначенная для поиска сетевого IP-адреса пользователя, подключенного в данный момент к Интернет; - служба Gopher - средство для поиска текстовых и программных файлов на базе меню. Разные службы имеют разные протоколы, которые называются прикладными протоколами. Их соблюдение обеспечивается работой специальных программ. Таким образом, чтобы воспользоваться какой-то из служб Интернет, необходимо установить на компьютере программу, способную работать по протоколу данной службы. Такие программы называются клиентскими или просто клиентами. 6. Защита и резервирование информации 6.1. Понятие о компьютерной безопасности В вычислительной технике понятие безопасности является весьма широким. Оно подразумевает и надежность работы компьютера, и сохранность ценных данных, и защиту информации от внесения в нее изменений неуполномоченными лицами, и сохранение тайны переписки в электронной
39
связи. Разумеется, во всех цивилизованных странах на страже безопасности граждан стоят законы, но в сфере вычислительной техники правоприменительная практика пока развита недостаточно, а законотворческий процесс не успевает за развитием технологий, поэтому надежность работы компьютерных систем во многом опирается на меры самозащиты. 6.2. Компьютерные вирусы Компьютерный вирус — это программный код, встроенный в другую программу или в документ, или в определенные области носителя данных и предназначенный для выполнения несанкционированных действий на несущем компьютере. Основными типами компьютерных вирусов являются: • программные вирусы; • загрузочные вирусы; • макровирусы. К компьютерным вирусам примыкают и так называемые троянские кони (троянские программы, троянцы). Программные вирусы. Программные вирусы — это блоки программного кода, целенаправленно внедренные внутрь других прикладных программ. При запуске программы, несущей вирус, происходит запуск имплантированного в нее вирусного кода. Работа этого кода вызывает скрытые от пользователя изменения в файловой системе жестких дисков и/или в содержании других программ. Так, например, вирусный код может воспроизводить себя в теле других программ — этот процесс называется размножением. По прошествии определенного времени, создав достаточное количество копий, программный вирус может перейти к разрушительным действиям - нарушению работы программ и операционной системы, удалению информации, хранящейся на жестком диске. Этот процесс называется вирусной атакой. Самые разрушительные вирусы могут инициировать переформатирование жестких дисков. Загрузочные вирусы. От программных вирусов загрузочные вирусы отличаются методом распространения. Они поражают не программные файлы, а определенные системные области магнитных носителей (гибких и жестких дисков). Кроме того, на включенном компьютере они могут временно располагаться в оперативной памяти. Обычно заражение происходит при попытке загрузки компьютера с магнитного носителя, системная область которого содержит загрузочный вирус. Так, например, при попытке загрузить компьютер с гибкого диска
40
происходит сначала проникновение вируса в оперативную память, а затем в загрузочный сектор жестких дисков. Далее этот компьютер сам становится источником распространения загрузочного вируса Макровирусы. Эта особая разновидность вирусов поражает документы, выполненные в некоторых прикладных программах, имеющих средства для исполнения так называемых макрокоманд. В частности, к таким документам относятся документы текстового процессора Microsoft Word (они имеют расширение .DOC). Заражение происходит при открытии файла документа в окне программы, если в ней не отключена возможность исполнения макрокоманд. Как и для других типов вирусов, результат атаки может быть как относительно безобидным, так и разрушительным.
6.3. Методы защиты от компьютерных вирусов Существуют три метода реализации защиты: • программные методы защиты; • аппаратные методы защиты; • организационные методы защиты. Основным средством защиты информации является резервное копирование наиболее ценных данных. В случае утраты информации по любой из вышеперечисленных причин жесткие диски переформатируют и подготавливают к новой эксплуатации. На «чистый» отформатированный диск устанавливают операционную систему с дистрибутивного (дублирующего компакт-диска, затем под ее управлением устанавливают все необходимое программное обеспечение, которое тоже берут с дистрибутивных носителей. Восстановление компьютера завершается восстановлением данных, которые берут с резервных носителей При резервировании данных следует также иметь в виду и то, что надо отдельно сохранять все регистрационные и парольные данные для доступа к сетевым службам Интернета. Их не следует хранить на компьютере. Обычное место хранения — служебный дневник в сейфе руководителя подразделения. Создавая план мероприятий по резервному копированию информации, необходимо учитывать, что резервные копии должны храниться отдельно от компьютера. То есть, например, резервирование информации на отдельном жестком диске того же компьютера только создает иллюзию безопасности. Относительно новым и достаточно надежным приемом хранения ценных, но неконфиденциальных данных является их хранение в Web-папках на удаленных серверах в Интернете. Есть службы, бесплатно предоставляющие пространство (до нескольких Мбайт) для хранения данных пользователя.
41
Резервные копии конфиденциальных данных сохраняют на внешних носителях, которые хранят в сейфах, желательно в отдельных помещениях. При разработке организационного плана резервного копирования учитывают необходимость создания не менее двух резервных копий, сохраняемых в разных местах. Между копиями осуществляют ротацию. Например в течение недели ежедневно копируют данные на носители резервного комплекта А, а через неделю их заменяют комплектом Б, и т. д. Вспомогательными средствами защиты информации являются антивирусные программы и средства аппаратной защиты. Так, например, простое отключение перемычки на материнской плате не позволит осуществить стирание перепрограммируемой микросхемы ПЗУ (флэш-BIOS), независимо от того, кто будет пытаться это сделать: компьютерный вирус, злоумышленник или неаккуратный пользователь. Существует достаточно много программных средств антивирусной защиты. Они предоставляют следующие возможности. 1. Создание образа жесткого диска на внешних носителях (например, на гибких дисках) – то есть копирование всей информации с жесткого диска на дискеты. 2. Регулярное сканирование (просмотр) жестких дисков в поисках компьютерных вирусов, Сканирование обычно выполняется автоматически при каждом включении компьютера и при размещении внешнего диска в считывающем устройстве. При сканировании следует иметь в виду, что антивирусная программа ищет вирус путем сравнения кода программ с кодами известных ей вирусов, хранящимися в базе данных. Если база данных устарела, а вирус является новым, сканирующая программа его не обнаружит. Для надежной работы следует регулярно обновлять антивирусную программу. Желательная периодичность обновления — один раз в две недели; допустимая — один раз в три месяца. Для примера укажем, что разрушительные последствия атаки вируса W95.CIH.1075 («Чернобыль»), вызвавшего уничтожение информации на сотнях тысяч компьютеров 26 апреля 1999 года, были связаны не с отсутствием средств защиты от него, а с длительной задержкой (более года) в обновлении этих средств. 3. Контроль за изменением размеров и других атрибутов файлов. Поскольку некоторые компьютерные вирусы на этапе размножения изменяют параметры зараженных файлов, контролирующая программа может обнаружить их деятельность и предупредить пользователя. 4. Обязательная проверка новых носителей и программ. 5. Контроль за обращениями к жесткому диску. Поскольку наиболее опасные операции, связанные с работой компьютерных вирусов, так или иначе обращены на модификацию данных, записанных на жестком диске, антивирусные программы могут контролировать обращения к нему и предупреждать пользователя о подозрительной активности.
42
6.4. Резервирование, (сжатие) данных Характерной особенностью большинства «классических» типов данных, с которыми традиционно работают люди, является определенная избыточность. Степень избыточности зависит от типа данных. Например, у видеоданных степень избыточности обычно в несколько раз больше, чем у графических данных, а степень избыточности графических данных в несколько раз больше, чем текстовых. Кроме того, степень избыточности данных зависит от принятой системы кодирования. Так, например, можно сказать, что кодирование текстовой информации средствами русского языка (с использованием русской азбуки) дает в среднем избыточность на 20-30% больше, чем кодирование адекватной информации средствами английского языка. Для человека избыточность информации нередко связана с представлением о ее качестве, поскольку избыточность, как правило, улучшает восприятие, особенно в неблагоприятных условиях (просмотр телепередач при наличии помех, восстановление поврежденного графического материала, чтение текстов в условиях недостаточной освещенности и т. п.). Однако, когда речь заходит не об обработке, а о хранении готовых документов или их передаче, то избыточность следует уменьшить (это дает эффект сжатия данных). Если методы сжатия информации применяют к готовым документам, то нередко термин сжатие данных подменяют термином архивация данных, а программные средства, выполняющие эти операции, называют архиваторами. В зависимости от того, в каком объекте размещены данные, подвергаемые сжатию, различают: • уплотнение (архивацию) файлов; • уплотнение (архивацию) папок; • уплотнение дисков. Уплотнение файлов применяют для уменьшения их размеров при подготовке к передаче по каналам электронных сетей или к транспортировке на внешнем носителе малой емкости, например на гибком диске. Уплотнение папок используют как средство архивации данных перед длительным хранением, в частности, при резервном копировании. Уплотнение дисков служит целям повышения эффективности использования их рабочего пространства и, как правило, применяется к дискам, имеющим недостаточную емкость.
43
6.5. Обратимость сжатия Несмотря на изобилие алгоритмов сжатия данных, теоретически есть только три способа уменьшения их избыточности. Это либо изменение содержания данных, либо изменение их структуры, либо и то и другое вместе. Если при сжатии данных происходит изменение их содержания, метод сжатия необратим и при восстановлении данных из сжатого файла не происходит полного восстановления исходной последовательности. Такие методы называют также методами сжатия с регулируемой потерей информации. Они применимы только для тех типов данных, для которых формальная утрата части содержания не приводит к значительному снижению потребительских свойств. В первую очередь, это относится к мультимедийным данным: видеорядам, музыкальным записям, звукозаписям и рисункам. Методы сжатия с потерей информации обычно обеспечивают гораздо более высокую степень сжатия, чем обратимые методы, но их нельзя применять к текстовым документам, базам данных и, тем более, к программному коду. Характерными форматами сжатия с потерей информации являются: • JPG - для графических данных; • MPG - для видеоданных; • М РЗ - для звуковых данных. Если при сжатии данных происходит только изменение их структуры, то метод сжатия обратим. Из результирующего кода можно восстановить исходный массив путем применения обратного метода. Обратимые методы применяют для сжатия любых типов данных. Характерными форматами сжатия без потери информации являются: • .GIF, .TIF, .PCX и многие другие для графических данных; • .AVI для видеоданных; • .ZIP, .ARJ, .RAR, .LZH, .LH, .CAB и многие другие для любых типов данных. Классическими» форматами сжатия данных, широко используемыми в повседневной работе с компьютером, являются форматы .ZIP и .ARJ. В последнее время к ним добавился популярный формат. RAR. Программные средства, предназначенные для создания и обслуживания архивов, выполненных в данных форматах, приведены в табл. 4.
44
Таблица 4. Средства архивации файлов Операционная система MS-DOS
Windows 9x
Формат сжатия
Средство архивации
Средство разархивирования
.ZIP
PKZIP.EXE
PKUNZIP.EXE
.RAR
RAR.EXE
UNRAR.EXE
.ARJ
ARJ.EXE
.ZIP
WinZip
.RAR
WinRAR
.ARJ
WinArj
7. Базы данных 7.1. Основные понятия В широком смысле слова база данных - это совокупность сведений о конкретных объектах реального мира в какой-либо области. Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы. Структурирование - это введение соглашений о способах представления данных. Неструктурированными называют данные, записанные, например, в текстовом файле. На рис. 3 приведен пример неструктурированных данных, содержащих сведения о студентах (номер личного дела, фамилию, имя, отчество и год рождения). Понятно, что организовать поиск необходимых данных, хранящихся в неструктурированном виде сложно, а упорядочить подобную информацию практически не представляется реальным. Личное дело №16495, Сергеев Петр Михайлович, дата рождения 1 января 1976г.; Л/д №16593, Петрова Анна Владимировна, дата рожд.15 марта 1975г.; № личн. дела 16693, д.р. 14.04.76, Анохин Андрей Борисович Рис. 3. Чтобы автоматизировать поиск и систематизировать эти данные, необходимо выработать определенные соглашения о способах представления данных, т.е. дату рождения нужно записывать одинаково для каждого студента, она должна иметь одинаковую длину и определенное место среди остальной информации. Эти же замечания
45
справедливы и для остальных данных (номер личного дела, фамилия, имя, отчество). Структурированная запись данных приведена в табл. 5.
Таблица 5 № личного дела 16493 16593 16693
Фамилия
Имя
Отчество
Сергеев Петрова Анохин
Петр Анна Андрей
Михайлович Владимировна Борисович
Дата рождения 01.01.76 15.03.75 14.04.76
Итак, база данных (БД) - это поименованная совокупность структурированных данных, относящихся к определенной предметной области. Система управления базами данных (СУБД) - это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. 7.2. Модели данных В СУБД происходит процесс логического представления данных, с которыми имеет дело пользователь, в язык ЭВМ и обратно. Общая логическая структура БД называется моделью данных. Различают три основные модели данных: иерархическую, сетевую и реляционную. 7.2.1. Иерархическая модель данных Иерархическая структура представляет совокупность элементов, образующих граф (дерево) (см. рис. 4) . К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел - это совокупность атрибутов данных, описывающих некоторые объекты. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящемся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется
46
числом корневых записей. К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рис. 4, для записи С4 путь проходит через записи А и В3. Фрагмент иерархической базы данных «Структура института» приведен на рис. 5. 7.2.2. Сетевая модель данных В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом (рис. 6). Рассмотрим фрагмент сетевой БД «Курсовые работы студентов» (рис.5). Много студентов, много предметов. Любой элемент структуры может быть связан с другими.
Уровень 1
А
Уровень 2
Уровень 3
В1
С1
В2
С2
С3
В3
В4
С4
С5 С6
В5
С7
С8
47
Ректор
Декан
Декан
Кафедра
Кафедра
Преподаватель
Преподаватель
Преподаватель
Декан
48
A C
B D
E
H
G
L
Рис. 6
Студент (номер зачетной книжки, фамилия, группа) 87695 Иванов 111
85495 Петров 112
87495 Сидоров 113
Работа (руководитель, предмет) Сергеев П.И Информатика
Некрасова Г.П. Экономика
Кириллов В.П. Экология Рис. 5
Павлова И.М. История
49
7.2.3. Реляционная модель данных Понятие реляционный (англ. Relation – отношение) связано с разработками известного американского специалиста в области баз данных Е. Кодда. Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных. Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: - каждый элемент таблицы – один элемент данных; - все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьной и т.д.) и длину; - каждый столбец имеет уникальное имя; Примером реляционной БД может служить БД «Студент» (табл. 5). Особенности и возможности наиболее популярной модели реляционной системы управления БД Access подробно рассмотрены в [11], [13]. 8. Информационные системы 8.1. Понятие информационных систем В связи с применением новой информационной технологии, основанной на использовании средств связи, компьютеров, широко используется понятие «информационная система» (ИС). При этом термин «система» употребляется в основном в двух смыслах: • система как некоторое свойство, состоящее в рациональном сочетании и упорядоченности всех элементов определенного объекта во времени и пространстве так, что каждый их них содействует успеху деятельности всего объекта. С трактовкой связано понимание координации и синхронизации действий персонала управления, объединенных с целью достижения поставленных целей; • система как объект, обладающий достаточно сложной, определенным образом упорядоченной внутренней структурой (например, производственный процесс). В общем виде понятие «система» охватывает комплекс взаимосвязанных элементов, действующее как единое целое в интересах достижения поставленных целей. Каждая система включает в себя следующие компоненты:
50
• структура системы – множество элементов системы и взаимосвязей между ними. Пример: организационная и производственная структура фирмы; • функция каждого элемента системы. Пример: управленческие функции – принятие решений определенным структурным подразделением фирмы; • вход и выход каждого элемента и системы в целом. Пример: материальные или информационные потоки, поступающие в систему или выводимые ею; • цели и ограничения системы и ее отдельных элементов. Пример: достижение максимальной прибыли; финансовые ограничения. Информационная система представляет собой коммуникационную систему по сбору, передаче, переработке информации об объекте, снабжающую работников различного ранга информацией для реализации функций управления. Информационная система создается для конкретного объекта. Эффективная информационная система принимает во внимание различия между уровнями управления, сферами действия, а также внешними обстоятельствами и дает каждому уровню управления только ту информацию, которая ему необходима для эффективной функций управления. Внедрение информационных систем производится с целью повышения эффективности производственно-хозяйственной деятельности фирмы за счет не только обработки и хранения рутинной информации, автоматизации конторских работ, но и за счет принципиально новых методов управления, основанных на моделировании действий специалистов фирмы при принятии решений (методы искусственного интеллекта, экспертные системы и т.п.), использовании современных средств телекоммуникаций (электронная почта, телеконференция), глобальных и локальных вычислительных сетей и т.д. 8.2. Классификация информационных систем В зависимости от степени (уровня) автоматизации выделяют ручные, автоматизированные и автоматические информационные системы. Ручные ИС характеризуются тем, что операции по переработке информации выполняются человеком. Автоматизированные ИС – часть функций (подсистем) управления или обработки данных осуществляется автоматически, а часть – человеком.
51
Автоматические ИС – все функции управления и обработки данных осуществляется техническими средствами без участия человека (например, автоматическое управление технологическими процессами). По сфере применения можно выделить следующие классы информационных систем: • научные исследования; • автоматизированное проектирование; • организационное управление; • управление технологическими процессами. Научные ИС предназначены для автоматизации деятельности научных управление работников, анализа статистической информации, экспериментом. ИС автоматизированного проектирования предназначены для автоматизации труда инженеров-проектировщиков и разработчиков новой техники (технологий). Такие ИС помогают осуществлять: • разработку новых изделий и технологий их производства; • различные инженерные расчеты (определение технических параметров изделий, расходных норм – трудовых, материальных и т.д.); • создание графической документации (чертежей, схем, планировок); • моделирование проектируемых объектов; • создание управляющих программ для станков с числовым программным управлением. ИС организационного управления предназначены для автоматизации функций административного (управленческого) персонала. К этому классу относятся ИС управления как промышленными (предприятия), так и не промышленными объектами (банки, биржи, страховые компании, гостиницы и т.д.) и отдельными офисами (офисными системами). ИС управления технологическими процессами предназначены для автоматизации различных технологических процессов (гибкие производственные процессы, металлургия, энергетика и т.п.). 8.3. Структура и состав информационной системы Практически все рассмотренные разновидности информационных систем независимо от сферы их применения включают один и тот же набор компонентов (рис. 8): • функциональные компоненты; • компоненты системы обработки данных; • организационные компоненты.
52
Информационная система
Функциональные компоненты
Компоненты системы обработки данных (СОД)
Функциональные подсистемы (модули, бизнесприложения)
Информационное обеспечение
Функциональные задачи
Техническое обеспечение
Модели и алгоритмы
Правовое обеспечение
Организационные компоненты (персонал) Новая организационная структура фирмы
Программное обеспечение Персонал (штаты, должностные инструкции)
Лингвистическое Обеспечение При этом под функцией управления понимается специальная постоянная обязанность одного или нескольких лиц, выполнение которых приводит к достижению определенного делового результата. Под функциональными компонентами понимается система функции
53
управления – полный набор (комплекс) взаимосвязанных во времени и пространстве работ по управлению, необходимых для достижения поставленных перед предприятием целей. 9. Информатика и информационное общество 9.1. Информационное общество, его гуманитарные и правовые проблемы Этот термин возник во второй половине 60-х гг., когда человечество впервые осознало наличие "информационного взрыва". Оказалось, что нарастание информации в обществе происходит по экспоненциальному закону и справиться с такой лавиной информации человек не может. Для этого нужны специальные средства обработки информации, ее хранения и использования. А. Тоттлер ввел в научный оборот теорию трех революций, согласно которой человечество пережило уже аграрную и индустриальную революции и стоит на пороге информационной революции. Само название "информационное общество" впервые появилось в Японии. Под информационным имеется в виду общество, в котором циркулирует высокая по качеству информация, а также есть все необходимые средства для ее хранения, распределения и использования. Информация легко и быстро распространяется по требованиям заинтересованных людей и организаций и выдается им в привычной для них форме. Стоимость пользования информационными услугами настолько невысока, что они доступны каждому. К 1980 году в наиболее развитых странах мира сфера информационного бизнеса и информационных услуг резко выросла. Например, к этому времени в сельском хозяйстве США было занято 3% работающих, в промышленности - 30%, при создании средств для работы с информацией и непосредственно самой работой с ней - 48%. Переход к информационному обществу не сулит каких-либо перемен в социальных благах, останется расслоение населения на более обеспеченных и менее обеспеченных, в различной мере способных воспользоваться плодами информатизации. Сфера информационных услуг будет, конечно, дифференцирована, и ряд наиболее важных услуг по своей стоимости будет выше возможностей среднего члена общества. Проблема равного доступа к информации возникает не только внутри одной страны, но будет проявляться и на межгосударственном уровне (и уже проявляется, например, в области обмена информацией, полученной из космоса). Создание и владение большими банками данных
54
о различных отраслях промышленности и сельского хозяйства, о потенциальных продавцах и покупателях уже сейчас составляют главное богатство многих бирж. брокерских контор и других организаций, занятых перераспределением товаров. В таких ситуациях возможны даже "информационные войны". Одна из особенностей информационного общества - возрастание «удельного веса» индивидуального труда, почти исчезнувшего в индустриальном обществе. Развитая сеть позволит многим специалистам, не выходя из дома, принимать участие в общественном производстве. Большие изменения ожидаются в сфере образования, которое также станет в значительной мере индивидуальным. Предполагаются крупные изменения и в организации научной деятельности. Быстрый обмен результатами по вычислительным сетям, не связанный с задержками на полиграфическое производство, уже сейчас в развитых странах позволяет значительно ускорить темпы научных исследований. Внедрение в индустриальное производство новых информационных технологий и робототехнических систем изменит характер труда в промышленности, резко снизит число людей, занятых в этой сфере, изменит саму технологию и организацию производства. В информационном обществе информатика будет играть столь же важную роль, какую играли инженерные науки, физика и химия в индустриальном обществе. 9.2. Информатика и информатизация образования Информатизация как процесс перехода к информационному обществу касается всех сфер человеческой деятельности. Информация приобрела значимость товара, имеющего высшую потребительскую стоимость и стала базой существования рыночной экономики, основой социально-экономического развития любой территории. Объем мирового рынка информационных технологий ежегодно возрастает на 6%. Например, за 1994 год объем, поставок персональных компьютеров в мире вырос на 27% и составил 48 млн. шт. Наблюдаются высокие темпы роста сетей: телефонных - 5-6%, передачи данных - 20-25%. локальных сетей - до 50%. в год. Однако в России информационные потребности, характерные для будущего информационного общества, еще не осознаны и по многим направлениям не определены. Поэтому привитие информационной культуры является базой перехода в век информатики. Первоочередной проблемой информатизации социальной сферы является информатизация образования.
55
9.3. Правовые, экономические, гуманитарныеаспекты информатизации общества Поскольку информация стала предметом труда, программное обеспечение стало предметом купли-продажи. Возник целый круг правовых и экономических проблем: сертификация и государственная регистрация программных систем, банков и баз данных, защиты авторских и имущественных прав их разработчиков, вопросы оценки научной и коммерческой эффективности программных разработок и т.д. Передача материалов в электронном виде с дальнейшим тиражированием по традиционной технологии также ставит вопрос экономической заинтересованности для авторов продукции и создает проблемы нравственного характера перед пользователем. Защита интеллектуальной собственности и максимально открытый доступ конечных потребителей к прикладной информации - это две взаимосвязанные задачи.
56
Литература: 1. Информатика. Базовый курс. Учебник для ВУЗов. /Под ред. С.В. Симоновича. -СПб: ПИТЕР, 2000. 2. Информатика: Учебник./ Под ред. Н. В. Макаровой.- М: Финансы и статистика, 1997. 3. Экономическая информатика./ Под ред. В. В. Евдокимова.-СПб: ПИТЕР, 1997. 4. Информатика: Энциклопедический словарь для начинающих. /Под ред. Д. А. Поспелова. - М: Педагогика-Пресс, 1994. 5. Дейт К. Введение в систему баз данных. /Пер. с англ. - М: Наука, 1980. 6. Богумирский Б. Эффективная работа на IBM PC в среде Windows 95. - СПб: ПИТЕР-ПРЕСС, 1997. 7. Фигурнов А.Э. IBM PC для пользователя. Изд. 7-ое - М: ИНФРА-М, 1997. 8. Р. Левин, Д. Друнг, Б. Эделсон. Практическое введение в технологию искусственного интеллекта и экспертных систем./ Пер. с англ. - М: Финансы и статистика, 1990. 9. Боброва Л.В., Рыбакова Е.А. Информатика. Методические указания к выполнению лабораторных работ с операционной системой Windows. - СПб: СЗПИ, 2000. 10. Боброва Л.В., Рыбакова Е.А. Информатика. Методические указания к выполнению лабораторных работ с текстовым редактором Word. - СПб: СЗПИ, 2000. 11. Боброва Л.В., Петухова Н.М., Рыбакова Е.А., Сибирев В.Н. Информатика. Методические указания к выполнению курсовой работы. - СПб: СЗПИ, 2001. 12. Боброва Л.В., Петухова Н.М., Якубовская А.Г. Информатика. Методические указания к выполнению лабораторных работ с табличным процессором Excel. - СПб: СЗПИ, 2001. 13. Боброва Л.В., Быков М.Ф. Методические указания к выполнению лабораторных работ с системой управления базами данных Access. - СПб: СЗПИ, 2001.