Понятие информации, общая характеристика процессов сбора, передачи, обработки и накопления информации
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Тульский государственный университет»
Конспект лекций
по дисциплине
«Информатика»
Специальность:
Форма обучения:
заочная
Тула, 2008
Содержание
1 Введение. Понятие информации, общая характеристика процессов сбора,
передачи, обработки и накопления информации. Компьютер как универсальное
средство обработки информации. Возможности и области применения ЭВМ...................... 4
1.1 Обработка информации .................................................................................................. 5
1.2 Представление информации в ЭВМ ............................................................................... 6
1.3 Системы счислений ......................................................................................................... 6
1.3 Логические основы ЭВМ ................................................................................................ 9
2 Классификация современных ЭВМ. Место персональных ЭВМ в иерархии
вычислительной техники. Возможности и области применения ЭВМ. ............................... 10
3 Модели решения функциональных и вычислительных задач.................................................. 11
3.1 Графы, деревья, фреймы и сети, нейронные сети, генетические алгоритмы ............ 17
3.2 Экспертные системы ..................................................................................................... 21
3.3 Методы моделирования//необязательная глава .......................................................... 22
3.3.1 Метод частных целей................................................................................................ 22
3.3.2 Метод подъема........................................................................................................ 23
3.3.3 Программирование с отходом назад...................................................................... 24
3.3.4 Модели, построенные с помощью алгоритмов ветвей и границ .......................... 25
4 Алгоритмизация и программирование ...................................................................................... 26
4.1 Оптимизация алгоритмов...................................... Ошибка! Закладка не определена.
4.2 Классификация языков и способов программирования. Языки программирования
высокого уровня .......................................................... Ошибка! Закладка не определена.
4.1.1 Форматы команд машинного языка............... Ошибка! Закладка не определена.
4.3 Технологии программирования ............................ Ошибка! Закладка не определена.
4.4 Визуальные средства программирования......... Ошибка! Закладка не определена.
4.5 Разработка программного обеспечения............ Ошибка! Закладка не определена.
4.6 Базы данных. Среда визуальной разработки баз данных Microsoft Access. Ошибка!
Закладка не определена.
5 Технические и программные средства реализации информационных процессов Ошибка!
Закладка не определена.
5.1 Программное обеспечение ............................................................................................ 53
5.2 Коммерческий статус программ и виды распространения ........Ошибка! Закладка не
определена.
5.3 Тестирование программ ........................................ Ошибка! Закладка не определена.
5.4 Системное программное обеспечение. Операционная система Ошибка! Закладка не
определена.
5.5 Файловые системы, диски и тома общие сведения о файловых системах Ошибка! Закладка
не определена.
5.6 Стандартные программы Windows ....................... Ошибка! Закладка не определена.
5.7 Основы работы в Windows. Графический пользовательский интерфейс. Работа с
окнами. Обмен данными (OLE) .................................. Ошибка! Закладка не определена.
5.8 Основные элементы пользовательского интерфейса windows .......Ошибка! Закладка не
определена.
5.9 Операции над объектами ...................................... Ошибка! Закладка не определена.
5.10 Пакет программ Microsoft Office ........................ Ошибка! Закладка не определена.
5.10.1 Приложения Microsoft Office, в которых можно создавать электронные или
печатные формы ...................................................... Ошибка! Закладка не определена.
6 Методы защиты информации .............................................................................................. 79
6.1 Безопасность данных .................................................................................................... 80
6.2 Сетевая безопасность .................................................................................................... 83
6.3 Средства защиты информации Windows XP ................................................................ 85
2
6.4 Понятия о компьютерных вирусах. Меры безопасности............................................. 89
7 Локальные и глобальные электронные сети ....................................................................... 91
7.1 Основные термины........................................................................................................ 91
7.2 Локальные сети ............................................................................................................. 91
7.2.1 Топология локальных сетей ...................................................................................... 92
7.3 Глобальная информационная сеть Интернет ............................................................... 92
7.4 Спецификация универсального адреса информационного ресурса в интернет ......... 96
8 Технические средства реализации информационных процессов.................................................. 97
8.1 Системный блок ............................................................................................................ 97
8.2 Процессор, материнская плата, запоминающие устройства ПК ................................. 97
8.3 Периферийное оборудование. Средства мультимедиа. Классификация мониторов ........ 100
8.3.1 Устройства ввода информации ............................................................................... 100
8.3.2 Дополнительные устройства компьютера ............................................................... 102
3
1 Введение. Понятие информации, общая характеристика процессов
сбора, передачи, обработки и накопления информации. Компьютер как
универсальное средство обработки информации. Возможности и области
применения ЭВМ
Информатика это наука, связанная с:
разработкой вычислительных машин и систем;
разработкой математических моделей естествознания и общественных явлений;
разработкой алгоритмов решения задач управления, расчета и анализа математических моделей;
программированием алгоритмов, создание программного обеспечения ЭВМ.
Термин информация имеет множество определений. Информация – это отражение реального мира с помощью сведений (сообщений).
В информатике информация – это любые сведения, являющиеся объектом хранения, передачи и преобразования. С практической точки зрения информация представляется в виде сообщения. Информационное сообщение связано с источником сообщения, получателем сообщения и каналом связи. Сообщение – это материально-энергетическая
форма представления информации в виде речи, текста, изображения, цифровых данных,
графиков, таблиц, электрических сигналов и т.п.
Таким образом, информационное сообщение х(t) характеризует изменение во времени материально-энергетических параметров физической среды, в которой проходят информационные процессы. Функция х(t) может быть непрерывна, то есть, имеет место непрерывная или аналоговая информация, или дискретна (звуковая инф., цифровая).
В настоящее время информация обрабатывается на вычислительных машинах.
Компьютер – это устройство преобразования информации посредством выполнения управляемой программой последовательности операций (синоним вычислительная
машина – ВМ). В зависимости от вида обрабатываемой информации ВМ может быть аналоговой или цифровой. В настоящее время наибольшее распространение получили цифровые ВМ - ЭВМ.
Данные – это информация, представленная в виде, позволяющем ее хранить и обрабатывать техническими средствами. Для представления дискретной информации в ЭВМ
применяется алфавитный способ. Алфавит – это упорядоченность знаков, предназначенная для образования и передачи сообщений. Символы из набора алфавита называются
буквами, а последовательность букв – словом. Так как все процессы, происходящие в
ЭВМ, связаны с различными физическими носителями этой информации, то возникает
потребность в кодировании - представлять буквы одного алфавита посредством букв другого. Процесс обратного преобразования информации относительно ранее выполненного
называется декодированием.
Современные системы сбора информации обеспечивают ее кодирование, ввод в
ЭВМ и выполняют предварительную обработку этой информации. Сбор информации –
это процесс получения информации из внешнего мира и приведение ее к виду, стандартному для данной информации.
Обмен информацией между воспринимающей системой (ЭВМ) и окружающей
средой осуществляется посредством сигналов. На первом этапе первичный сигнал с помощью датчика преобразуется в электрический сигнал. На втором этапе происходит его
4
оцифровка с помощью аналого-цифрового преобразователя АЦП. Второй этап необязателен. Например, клавиатура не имеет АЦП (нажатие клавиш непосредственно преобразуется в цифровой код).
На третьем этапе происходит ее размещение на различных физических носителях
(магнитных, оптических, магнитооптических, полупроводниковых и т. п.). При этом необходимо обеспечить удобство хранения, поиска, манипулирования записанных данных.
Для этого каждый элемент должен строго идентифицироваться.
Чтобы учесть особенности информации, ввиду ее разнообразия по содержанию и
виду, ее изучают в процессе синтаксического, семантического и прагматического анализа.
Синтаксический анализ – устанавливает важнейшие параметры информационных
потоков: тип носителя, скорость передачи, скорость обработки, размеры кодов представления информации, надежность и точность представления этих кодов. Данные параметры
позволяют выбрать технические средства для регистрации, обработки, передачи и хранения информации.
Синтаксическая мера информации:
а) объем данных VD – количество символов (разрядов) в сообщении;
б) количество информации I – измеряется изменением неопределенности состояния системы:
I H H ,
где I - количество информации полученной в сообщении , H - первоначальная энтропия системы (неопределенность состояния), H - энтропия системы
после получения сообщения ;
I
.
VD
Семантический анализ – изучает информацию с точки зрения содержания ее отдельных элементов и устанавливает способы языкового соответствия при однозначном
распознавании вводимых в систему сообщений (соответствие между образом объекта и
объектом).
Семантическая мера информации:
I C C VD ,
где С – коэффициент содержательности.
Прагматический анализ – проводится с целью определения полезности информации, используемой для управления, выявления практической значимости сообщений,
применяемых для выработки управленческих воздействий. Для прагматического анализа
важными критериями являются оценки достоверности и своевременности информации.
Прагматическая мера носит относительный характер.
Необходимость передачи информации для различных объектов обуславливается
различными причинами, например как необходимостью донести ее до получателя, так
территориальной отдаленностью сбора и регистрации информации от ее обработки. Взаимодействие между территориально отдаленными объектами осуществляется за счет обмена данными. Доставка данных производится по заданному адресу с помощью сетей передачи данных. В настоящее время для распределенной обработки информации используются информационно-вычислительные сети (ИВС), которые являются частью автоматизированной технологии процессов ввода, передачи, обработки и выдачи информации.
Важнейшим звеном ИВС является канал связи. Элементы данных по непрерывному каналу связи передаются в виде физических сигналов. Так как ЭВМ работает с дискретной информацией, то на концах непрерывного канала связи находятся модуляторы/демодуляторы. Так же для повышения достоверности передаваемых/получаемых данных на входном конце может быть устройство подготовки данных, а на выходном устройство повышения достоверности данных.
в) коэффициент информативности: Y
5
1.1 Обработка информации
Обработка информации осуществляется последовательно-параллельным во времени решением вычислительных задач. Организация обработки информации может осуществляться централизованным, децентрализованным и смешанным способами.
При централизованном способе информация вводится с различных терминалов
(клавиатур, дисплеев, датчиков, рабочих станций, ПК), а обрабатывается одной центральной ЭВМ (например, системы заказов авиабилетов, оплаты коммунальных платежей). Децентрализованном способом информация обрабатывается в автономных пунктах ее регистрации и потребления (автоматизированные ПК рабочие места, абонентские пункты).
При смешанном способе часть информации обрабатывается автономно, а часть централизовано, при этом может иметь место иерархия доступа к данным.
Так же различают режимы взаимодействия с пользователем при обработки информации: пакетный и интерактивный (запросный, диалоговый) режимы.
Пакетный режим. Пользователь подготавливает данные для обработки, программные средства, справочные данные и т.п. Пакет вводится в ЭВМ. Дальше процесс
происходит без участия оператора (пользователя), который получает готовый результат на
выходе.
Интерактивный режим предусматривает взаимодействие пользователя (оператора) и ЭВМ в запросном или диалоговом режиме. Запросный режим используется для доступа через значительное количество терминальных устройств или при большом удалении
от центра обработки. ЭВМ при этом работает в режиме разделения времени, осуществляя
доступ для нескольких независимых абонентов.
Диалоговый режим предусматривает непосредственное взаимодействие с ЭВМ,
многократно реализуя циклы задания, получения и анализа ответов. При этом ЭВМ может
сама инициировать диалог.
1.2 Представление информации в ЭВМ
В компьютерах используется двоичная система счисления, которая основана на
двух цифрах, «0» и «1». Это объясняется тем, что электронные элементы, из которых состоит оперативная память, могут находиться, только в одном из двух устойчивых состояний («0» или «1»). Информация любого типа может быть закодирована с использованием
двух цифр и помещена в оперативную или долговременную память компьютера. Впервые
принцип двоичного счисления был сформулирован в 17 веке немецким математиком Готфридом Лейбницем.
Количество информации, которое может помещаться в один элемент памяти («0»
или «1»), называется битом (сокращение словосочетания «двоичная цифра» binary digit bit) и не несет никакой смысловой нагрузки. Однако если соединить несколько таких элементов в ячейку, то тогда можно сохранить требуемую информацию в памяти ЭВМ. Таким образом, машинное слово – это последовательность битов, рассматриваемых аппаратной частью ЭВМ как единое целое.
1.3 Системы счислений
Позиционные системы счислений. Для представления чисел в настоящее время
используются позиционные системы счислений, в которых значение каждой цифры (ее
вес) изменяется в зависимости от ее положения (позиции) в последовательности цифр,
изображающих число.
Запись числа Х в произвольной К-ичной системе основывается на представлении
этого числа в виде полинома:
Х a n К n a n 1 К n1 a1 К 1 a0 К 0 a 1 К 1 a m К m ,
6
где аi – одно из базисных чисел и изображается одной цифрой, К – основание системы счисления.
Двоичная система счислений. Для обозначения двоичных цифр применяется термин бит - сокращение словосочетания «двоичная цифра» (binary digit - bit).
Число Х в двоичной системе представляется в виде:
Х an 2 n an 1 2 n1 a1 21 a0 2 0 a1 2 1 a m 2 m ,
где аi – 0 или 1.
1
2
3
4
5
6
7
8
9
10
0,5
0,25
12
102
112
1002
1012
1102
1112
10002 10012 10102 0.12
0.012
Восьмеричная система счислений. Для передачи и хранения информации применяют 8-битовые коды - байты (byte).
Восьмеричная система – базисные числа 0, 1, 2, 3, 4, 5, 6, 7. Число 83,5 будет записано в восьмеричной системе как:
83,5 64 16 3 4 8 1 8 2 2 81 3 8 0 4 8 1 123.4 8 .
Существует 28=256 восьмибитовых чисел. Информация, содержащаяся в одном
байте, обычно достаточна для представления одной буквы алфавита или 2 десятичных
цифр. Этого достаточно для кодирования всех заглавных и строчных букв алфавита, цифр,
знаков препинания, символов национальных алфавитов, других необходимых символов и
служебных кодов, используемых при передаче информации.
Таблица кодирования символов 8-битовыми числами называется ASCII -American
Standard Code for Information Interchange (латиница). Первая, или «нижняя», половина таблицы ASCII (коды 0-126) содержит знаки препинания, арабские цифры и символы английского алфавита. Она является общепринятой во всем мире. В каждой стране используется
своя «верхняя» половина таблицы ASCII (коды 127-255, или «расширенные» ASCII-коды),
в которой находятся буквы национальных алфавитов и специальные символы.
Для поддержки русского алфавита применяют три основных варианта таблицы кодировок символов - кодовую таблицу 866 для операционной системы MS-DOS и кодовую
таблицу 1251 для операционной системы Windows и KOI-8. Русские буквы в этих кодировках расположены на совершенно разных позициях.
В основе измерения больших объемов информации лежит байт. Более крупные
единицы измерения: килобайт (1 Кбайт = 210 байт = 1024 байта), мегабайт (1 Мбайт = 1024
Кбайт = 220 байт = 1048576 байт), гигабайт (1 Гбайт = 1024 Мбайт = 230 байт = 1073741824
байт). Современные носители информации имеют емкость до нескольких терабайт.
Для работы с большими числами используются слова - 16-битовые числа, и двойные слова - 32-битовые числа.
Шестнадцатеричная система счислений. Для обозначения адресов расположения
данных в памяти компьютера и других целей удобнее пользоваться не двоичным и не десятичным, а шестнадцатеричным представлением чисел. «Цифры» от 10 до 15 в шестнадцатеричной системе изображаются символами от a до f. Двух байтов достаточно, чтобы
сформировать единую кодировку для всех современных алфавитов и основных подмножеств иероглифики, такая кодировка называется Unicode.
При написании шестнадцатеричных чисел используют суффикс «h».
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111
1
1
1
1
1
1
1
1
1
1
1
1
175,5 160 15 8 16 10 16 15 16 8 16 a 16 f 16 8 16 af .8 h .
Смешанные системы счислений. Двоично-десятичная система.
Для представления в ЭВМ десятичных чисел с помощью двоичных используется
смешанные системы счислений, в которых Р-ичное разложения числа записывается в Qичной системе. Такая система называется (Q-P) – ичной, в ней Р- старшее основание, Q7
младшее основание. Для того чтобы запись в такой системе была однозначной, для представления Р-ичной цифры отводится одно и тоже количество Q-ичных разрядов, достаточное для представления любого базисного числа Р-ичной системы.
В двоично-десятичной системе десятичные числа могут быть представлены в упакованном формате - для изображения каждой десятичной цифры отводится четыре двоичных разряда (полбайта).
84510= 8 4 5 =1000 0100 01012-10.
Знак кодируется (1100 – «+», 1101 – «-»). В общем виде, структура поля упакованного формата под число представлено:
ц
ифра
845= 8 4 5
ц
ц
ифра
ифра
нак
=1000 0100 0101 1100знак
+.
Распакованный формат – для каждой десятичной цифры отводится по байту. Полбайта – зона (0011 – для ASCII – кода) полбайта цифра. Для самого младшего на месте зоны располагается знак.
зона цифра зона цифра знак цифра
845 0011
1000
0011 0100
1100 0101
Представление числа в формате с фиксированной запятой (точкой). При представлении любого числа в формате с фиксированной запятой (точкой), число записывается в разрядную сетку в виде:
193 000193
, 00000
,
т
s
где m- число разрядов до запятой, s - число разрядов после запятой.
В ЭВМ числа с фиксированной запятой могут занимать слово (2 байта) или полуслово (байт). Если число с фиксированной запятой занимает байт, то для его представления используются разряды с 0-го по 6-й. Разряд 7 используется для знака. При размещении числа с фиксированной запятой в слове используются разряды с 0-го по 14-й. Разряд
15 используется для знака. Значение знакового разряда: 0 – для положительных, 1 – для
отрицательных.
Пример 19310 110000012
Знак
Абсолютная величина числа
N
15
14 13 12 11 10 9
8
7
6
5
4
3
2
1
-193
1
1
1
1
Диапазон представления чисел в формате с фиксированной запятой: для байта от
128 до 127 , для слова от 32768 до 32767 .
Представление числа в формате с плавающей запятой (точкой).
Х mN p ,
где m- мантисса ( m 1 ) , р- порядок числа.
Если после запятой в мантиссе первым не стоит ноль, то число называется нормализованным справа.
Нормализованное число одинарной точности записывается в память в виде двойного слова следующим образом: знак (0, 1) - 31 разряд 15 бита первого слова, порядок 24-30
разряд 7-14 бита первого слова, мантисса остальные 23 бита в двух словах. Нормализованное число двойной точности занимает четыре слова, для мантиссы отводится 55 бит.
Пример 193 0,193 104
знак
порядок
мантисса
N
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 … 1 0
1
0 0 0
1
0 0
0 1
1
0 0
0 0
1 0
0 0
8
193
Порядок числа в формате с плавающей запятой изменяется в диапазоне от 128 до
127 .
При сложении чисел представленных в формате с плавающей запятой сначала
уравнивают порядки слагаемых. При умножении (делении) порядки складываются (вычитаются), а мантиссы умножаются (делятся). После выполнения операции проводят нормализацию результата. Поэтому запись числа в таком формате называется с «плавающей запятой».
Числовая система ЭВМ//Необязательная глава
Так как слово в памяти занимает конечное число бит, то числовая система ЭВМ
является конечной и цикличной.
Пример. Пусть имеется 4-битовое слово. Процессор способен дополнять (инвертировать) или увеличивать слова. Слово 1100 в результате увеличения становится 1101, а
результате дополнения 0011. Пусть мы увеличиваем слово 1111 (15) тогда прейдем неверному к результату 0000 1111 1 .
Эту ситуацию можно избежать, если считать, что 1111 комбинация для -1. таким
образом, отрицательные числа будут начинаться с 1, а положительные с 0. Например,
1110 это -2, а 0010. Чтобы узнать, какое число представлено в виде 1101, надо его инвертировать (вычесть из 1111 – операция называется дополнение до единицы) и прибавить 1
(дополнение до двух):
1111 1101 0010 0010 1 0011 310 .
В процессоре ЭВМ содержатся два индикатора – переноса и индикатор переполнения. Каждый содержит 1 бит информации (установлен –1, сброшен – 0). Индикатор переноса указывает на перенос из знакового бита, а индикатор переполнения – на перенос в
знаковый бит. Эти индикаторы используются для определения правильности произведенных операций.
Пример операция сложения чисел.
Если машинные слова интерпретируются как числа без знаков, то результат будет
правильным, если не было переноса из знакового бита.
Если слова интерпретируются как числа со знаком, то результат будет правильным:
если два числа положительные – нет переноса в знаковый бит;
если два числа отрицательные – происходит, как перенос из знакового бита, так и
в знаковый;
если отрицательное и положительное число – всегда правильный, происходит,
как перенос из знакового бита, так и в знаковый.
Если числа без знака 0011 0101 1000 , то имеет место перенос в знаковый бит, а
из знакового нет, поэтому результат 1000 верный ( 0011 0101 1000 3 5 8 ). Индикатор переполнения - 1, а индикатор переноса – 0.
Если числа со знаком 0011 0101 1000 имеет место перенос в знаковый бит, а из
знакового нет, поэтому результат 1000 неверный ( 0011 0101 1000 3 5 8 ).
1.3 Логические основы ЭВМ
Для анализа и синтеза схем в ЭВМ при алгоритмизации и программировании используется математический аппарат алгебры логики.
Алгебра логики – раздел математической логики, оперирующий с логическими
высказываниями, значения всех элементов которой (аргументов и функций) определены в
двух элементном множестве: 0 (ЛОЖЬ) и 1 (ПРАВДА).
Высказывания – любое предположение, в отношении которого имеет смысл утверждение о его истинности или ложности. Высказывание должно удовлетворять закону
исключению третьего, т.е. каждое высказывание может быть или истинно или ложно.
9
В алгебре логики все высказывания обозначаются буквами a, b, c и т.д. (или A, B,
C).
Для логического синтеза вычислительных схем применяются таблицы истинности.
Таблица 1 – Логические операторы
№
1
2
3
Пример
а && b
аиb
a and b
а&b
а или b
а or b
a || b
!а
Математический
оператор
умножение
*
^
а xor b
Результат
Конъюнкция
Истина, если истинны оба операнда
Дизъюнкция
Истина, если истинен хотя бы один
из операндов
Отрицание
Инверсия
Истина, если значение а ложно
Ложно, если значение а истина
Исключающая
дизъюнкция
Истина, если истинен только один
из операндов
сложение
+ или v
a
not !a
не а
4
Название
вычитание
-
Пример. Равенство (а AND с) AND (b OR c) = 1 выполняется при значениях a=1,
c=1, b=1 или 0.
Единицы измерения количества информации
Представление числовой информации
1 Целые числа со знаком.
Тип
Число бит
Диапазон значений
Короткий
16
-32768...+ 32767
Средний
32
-2*109... + 2*109
Длинный
64
-9*1018... + 9*10"
2 Представление текстовой информации
При вводе документов, текстов программ и другой информации вводимые символы
(буквы, цифры, знаки) кодируются определенными комбинациями из восьми нулей и единиц
и наоборот – при выводе их для чтения человеком (на монитор или принтер) по коду символа строится изображение символа.
При двоичном кодировании текстовой информации каждому символу назначается
код – последовательность из фиксированного количества нулей и единиц со взаимно однозначным соответствием. Используя 1 двоичную цифру (один бит) можно закодировать всего 2 символа. Двухбитовых комбинаций может быть 4: 00; 01, 10, 11, т. е. 22, с
помощью трех битов можно получить восемь различных сочетаний нулей и единиц (23).
Аналогичным образом можно подсчитать, что число битов, необходимое для кодирования
32 различных символов, равно 5 ( 25). Этот код использовался в работе телеграфа в 20-е годы прошлого столетия, вместо знаков препинания ставились ТЧК и ЗПТ. Используя 7 бит,
можно закодировать 128 символов (двоичный семибитовый код обмена информацией
КОИ-7), а с помощью 24 бит – 16777216 различных символов или состояний.
Оптимальное количество символов, которые используются при наборе различных текстов, равно примерно 200 (буквы латинские и русские, заглавные и строчные, знаки препи10
нания, цифры, математические знаки, элементы псевдографики). В двоичной системе такое
количество символов может быть закодировано последовательностью из 8 бит (28=256), т.е.
1 байтом.
3 Кодирование цветовой и графической информации
Последовательностями нулей и единиц можно закодировать и графическую информацию.
Различают три вида компьютерной графики: растровую, векторную и фрактальную.
Рассмотрим наиболее часто используемую при разработке электронных (мультимедийных) и полиграфических изданий растровую графику. Основным элементом растрового изображения является точка, или пиксель.
Для кодирования любого изображения нужно разбить его на точки и цвет каждой точки закодировать. Например, черно-белую картинку можно закодировать, используя два бита: 11 – белый цвет, 10 – светло-серый, 01 – темно-серый и 00 – черный
цвет.
Для кодировки 256 различных цветов требуется 8 бит. Однако этого недостаточно для кодирования полноцветных изображений живой природы. Человеческий глаз может различать десятки миллионов цветовых оттенков. В современных компьютерах для
кодирования цвета одной точки используется 3 байта.
Каждый цвет представляет собой комбинацию трех основных цветов: красного,
зеленого и синего. Первый байт определяет интенсивность красной составляющей,
второй — зеленой, третий — синей.
Белый цвет кодируется полными тремя байтами (255, 255, 255 или в двоичной
системе 11111111, 11111111, 11111111). Черный цвет – отсутствие всех цветов – (0,0,0).
Красный цвет может быть темным – (120,0,0) или ярко-красным (255,0,0). Такая система кодирования цветной графической информации называется системой RGB (Red,
Green, Blue) и обеспечивает однозначное определение 16,5 млн. различных цветов и оттенков (224). Качество графического изображения зависит от количества точек (пикселей)
на единице площади. Этот параметр называется разрешением и измеряется в точках на
дюйм – dpi.
Расчет объема графической информации сводится к вычислению произведения
количества точек на изображении на количество разрядов, необходимых для кодирования цвета одной точки.
Например, для цветной картинки, составленной из 256 цветов в графическом режиме монитора 640х480, требуется объем видеопамяти, равный:
8 * 640 * 480 = 2457600 бит = 307200 байт = 300 Кбайт.
2 Классификация современных ЭВМ. Место персональных ЭВМ в иерархии
вычислительной техники. Возможности и области применения ЭВМ.
Существуют различные классификации компьютерной техники:
• по этапам развития (по поколениям);
• по архитектуре;
• по производительности;
• по условиям эксплуатации;
• по количеству процессоров;
• по потребительским свойствам и т.д.
Четких границ между классами компьютеров не существует. По мере совершенствования структур и технологии производства, появляются новые классы компьютеров,
границы существующих классов существенно изменяются.
11
Деление компьютерной техники на поколения - весьма условная, нестрогая классификация вычислительных систем по степени развития аппаратных и программных
средств, а также способов общения с компьютером.
Идея делить машины на поколения вызвана к жизни тем, что за время короткой истории своего развития компьютерная техника проделала большую эволюцию как в смысле
элементной базы (лампы, транзисторы, микросхемы и др.), так и в смысле изменения ее
структуры, появления новых возможностей, расширения областей применения и характера использования.
К первому поколению обычно относят машины, созданные на рубеже 50-х годов.
В их схемах использовались электронные лампы. Эти компьютеры были огромными, неудобными и слишком дорогими машинами, которые могли приобрести только крупные
корпорации и правительства. Лампы потребляли огромное количество электроэнергии и
выделяли много тепла.
Набор команд был небольшой, схема арифметико-логического устройства и устройства управления достаточно проста, программное обеспечение практически отсутствовало. Показатели объема оперативной памяти и быстродействия были низкими. Для ввода-вывода использовались перфоленты, перфокарты, магнитные ленты и печатающие устройства.
Быстродействие порядка 10-20 тысяч операций в секунду.
Но это только техническая сторона. Очень важна и другая - способы использования
компьютеров, стиль программирования, особенности математического обеспечения.
Программы для этих машин писались на языке конкретной машины. Математик,
составивший программу, садился за пульт управления машины, вводил и отлаживал программы и производил по ним счет. Процесс отладки был наиболее длительным по времени.
Несмотря на ограниченность возможностей, эти машины позволили выполнить
сложнейшие расчеты, необходимые для прогнозирования погоды, решения задач атомной
энергетики и др.
Опыт использования машин первого поколения показал, что существует огромный
разрыв между временем, затрачиваемым на разработку программ, и временем счета.
Эти проблемы начали преодолевать путем интенсивной разработки средств автоматизации программирования, создания систем обслуживающих программ, упрощающих
работу на машине и увеличивающих эффективность ее использования. Это, в свою очередь, потребовало значительных изменений в структуре компьютеров, направленных на
то, чтобы приблизить ее к требованиям, возникшим из опыта эксплуатации компьютеров.
Отечественные машины первого поколения: МЭСМ (малая электронная счетная
машина), БЭСМ, Стрела, Урал, М-20.
Второе поколение компьютерной техники - машины, сконструированные примерно в 1955-65 гг. Характеризуются использованием в них как электронных ламп, так и дискретных транзисторных логических элементов. Их оперативная память была построена на
магнитных сердечниках. В это время стал расширяться диапазон применяемого оборудования ввода-вывода, появились высокопроизводительные устройства для работы с магнитными лентами, магнитные барабаны и первые магнитные диски.
Быстродействие - до сотен тысяч операций в секунду, емкость памяти -до нескольких десятков тысяч слов.
Появились так называемые языки высокого уровня, средства которых допускают
описание всей необходимой последовательности вычислительных действий в наглядном,
легко воспринимаемом виде.
Программа, написанная на алгоритмическом языке, непонятна компьютеру, воспринимающему только язык своих собственных команд. Поэтому специальные программы, которые называются трансляторами, переводят программу с языка высокого уровня
на машинный язык.
12
Появился широкий набор библиотечных программ для решения разнообразных математических задач. Появились мониторные системы, управляющие режимом трансляции
и исполнения программ. Из мониторных
систем в дальнейшем выросли современные операционные системы.
Операционная система - это важнейшая часть программного обеспечения компьютера, предназначенная для автоматизации планирования и организации процесса обработки программ, ввода-вывода и управления данными, распределения ресурсов, подготовки и отладки программ, других вспомогательных операций обслуживания.
Таким образом, операционная система является программным расширением устройства управления компьютера.
Для некоторых машин второго поколения уже были созданы операционные системы с ограниченными возможностями.
Машинам второго поколения была свойственна программная несовместимость, которая затрудняла организацию крупных информационных систем. Поэтому в середине 60х годов наметился переход к созданию компьютеров, программно совместимых и построенных на микроэлектронной технологической базе.
Машины третьего поколения созданы примерно после 60-х годов. Поскольку процесс создания компьютерной техники шел непрерывно, и в нем участвовало множество
людей из разных стран, имеющих дело с решением различных проблем, трудно и бесполезно пытаться установить, когда «поколение» начиналось и заканчивалось. Возможно,
наиболее важным критерием различия машин второго и третьего поколений является критерий, основанный на понятии архитектуры.
Машины третьего поколения - это семейства машин с единой архитектурой, т.е.
программно совместимых. В качестве элементной базы в них используются интегральные
схемы, которые также называются микросхемами.
Машины третьего поколения имеют развитые операционные системы. Они обладают возможностями мультипрограммирования, т.е. одновременного выполнения нескольких программ. Многие задачи управления памятью, устройствами и ресурсами стала брать
на себя операционная система или же непосредственно сама машина.
Примеры машин третьего поколения — семейства IBM-360, IBM-370, ЕС ЭВМ
(Единая система ЭВМ), СМ ЭВМ (Семейство малых ЭВМ) и др.
Быстродействие машин внутри семейства изменяется от нескольких десятков
тысяч до миллионов операций в секунду. Емкость оперативной памяти достигает нескольких сотен тысяч слов.
Четвертое поколение - это теперешнее поколение компьютерной техники, разработанное после 1970 года.
Наиболее важный в концептуальном отношении критерий, по которому эти компьютеры можно отделить от машин третьего поколения, состоит в том, что машины четвертого поколения проектировались в расчете на эффективное использование современных
высокоуровневых языков и упрощение процесса программирования для конечного пользователя.
В аппаратурном отношении для них характерно широкое использование интегральных схем в качестве элементной базы, а также наличие быстродействующих запоминающих устройств с произвольной выборкой емкостью в десятки мегабайт.
С точки зрения структуры машины этого поколения представляют собой многопроцессорные и многомашинные комплексы, работающие на общую память и общее поле
внешних устройств. Быстродействие составляет до нескольких сотен миллионов операций
в секунду, емкость оперативной памяти порядка доводится до 2 Гбайт.
Для них характерны:
• применение персональных компьютеров;
• телекоммуникационная обработка данных;
• компьютерные сети;
13
• широкое применение систем управления базами данных;
• элементы интеллектуального поведения систем обработки данных и устройств.
Разработка последующих поколений компьютеров производится на основе больших интегральных схем повышенной степени интеграции, использования оптоэлектронных принципов (лазеры, голография).
Развитие идет также по пути «интеллектуализации» компьютеров, устранения
барьера между человеком и компьютером. Компьютеры будут способны воспринимать
информацию с рукописного или печатного текста, с бланков, с человеческого голоса, узнавать пользователя по голосу, осуществлять перевод с одного языка на другой.
В компьютерах пятого поколения произойдет качественный переход от обработки
данных к обработке знаний.
Архитектура компьютеров будущего поколения будет содержать два основных
блока. Один из них - это традиционный компьютер. Но теперь он лишен связи с пользователем. Эту связь осуществляет блок, называемый термином «интеллектуальный интерфейс». Его задача - понять текст, написанный на естественном языке и содержащий условие задачи, и перевести его в работающую программу для компьютера.
Будет также решаться проблема децентрализации вычислений с помощью компьютерных сетей, как больших, находящихся на значительном расстоянии друг от друга, так и
миниатюрных компьютеров, размещенных на одном кристалле полупроводника.
Классификация по условиям эксплуатации
По условиям эксплуатации компьютеры делятся на два типа:
• офисные (универсальные);
• специальные.
Офисные предназначены для решения широкого класса задач при нормальных условиях эксплуатации.
Специальные компьютеры служат для решения более узкого класса задач или даже одной задачи, требующей многократного решения, и функционируют в особых условиях эксплуатации. Машинные ресурсы специальных компьютеров часто ограничены.
Однако их узкая ориентация позволяет реализовать заданный класс задач наиболее эффективно.
Специальные компьютеры управляют технологическими установками, работают в
операционных или машинах скорой помощи, на ракетах, самолетах и вертолетах, вблизи
высоковольтных линий передач или в зоне действия радаров, радиопередатчиков, в неотапливаемых помещениях, под водой на глубине, в условиях пыли, грязи, вибраций,
взрывоопасных газов и т.п. Существует много моделей таких компьютеров. Познакомимся с одной из них.
Компьютер Ergotouch (Эрготач) исполнен в литом алюминиевом полностью герметичном корпусе, который легко открывается для обслуживания. Стенки компьютера поглощают практически все электромагнитные излучения как изнутри, так и снаружи. Машина оборудована экраном, чувствительным к прикосновениям. Компьютер можно, не
выключая, мыть из шланга, дезинфицировать, дезактивировать, обезжиривать. Высочайшая надежность позволяет использовать его как средство управления и контроля технологическими процессами в реальном времени. Компьютер легко входит в локальную сеть
предприятия.
Важное направление в создании промышленных компьютеров -разработка «операторского интерфейса» - пультов управления, дисплеев, клавиатур и указательных устройств во всевозможных исполнениях. От этих изделий напрямую зависит комфортность
и результативность труда операторов.
Классификация по производительности и характеру использования
14
По производительности и характеру использования компьютеры можно условно
подразделить на:
• микрокомпьютеры, в том числе - персональные компьютеры;
• миникомпьютеры;
• мэйнфреймы (универсальные компьютеры);
• суперкомпьютеры.
Микрокомпьютеры - это компьютеры, в которых центральный процессор выполнен в виде микропроцессора.
Продвинутые модели микрокомпьютеров имеют несколько микропроцессоров.
Производительность компьютера определяется не только характеристиками применяемого микропроцессора, но и емкостью оперативной памяти, типами периферийных устройств, качеством конструктивных решений и др.
Микрокомпьютеры представляют собой инструменты для решения разнообразных
сложных задач. Их микропроцессоры с каждым годом увеличивают мощность, а периферийные устройства - эффективность. Быстродействие - порядка 1-100 миллионов операций в сек.
Разновидность микрокомпьютера - микроконтроллер. Это основанное на микропроцессоре специализированное устройство, встраиваемое в систему управления или технологическую линию.
Персональные компьютеры (ПК) — это микрокомпьютеры универсального назначения, рассчитанные на одного пользователя и управляемые одним человеком.
В класс персональных компьютеров входят различные машины - от дешевых домашних и игровых с небольшой оперативной памятью, с памятью программы на кассетной ленте и обычным телевизором в качестве дисплея (80-е годы), до сверхсложных машин с мощным процессором, винчестерским накопителем емкостью в сотни Гигабайт, с
цветными графическими устройствами высокого разрешения, средствами мультимедиа и
другими дополнительными устройствами.
Персональный компьютер должен удовлетворять следующим требованиям:
• стоимость от нескольких сотен до 5-10 тыс. долларов;
• наличие внешних ЗУ на магнитных дисках;
• объем оперативной памяти не менее 32 Мбайт;
• наличие операционной системы;
• способность работать с программами на языках высокого уровня;
• ориентация на пользователя-непрофессионала (в простых моделях). Миникомпьютерами и суперминикомпьютерами называются машины,
конструктивно выполненные в одной стойке, т.е. занимающие объем порядка половины
кубометра. Сейчас компьютеры этого класса вымирают, уступая место микрокомпьютерам.
Мэйнфреймы предназначены для решения широкого класса научно-технических
задач и являются сложными и дорогими машинами. Их целесообразно применять в больших системах при наличии не менее 200 - 300 рабочих мест.
Централизованная обработка данных на мэйнфрейме обходится примерно в 5-6 раз
дешевле, чем распределенная обработка при клиент-серверном подходе.
Известный мэйнфрейм S/390 фирмы IBM обычно оснащается не менее чем тремя
процессорами. Максимальный объем оперативного хранения достигает 342 Терабайт.
Производительность его процессоров, пропускная способность каналов, объем оперативного хранения позволяют наращивать число рабочих мест в диапазоне от 20 до
200000 с помощью простого добавления процессорных плат, модулей оперативной памяти
и дисковых накопителей.
Десятки мэйнфреймов могут работать совместно под управлением одной операционной системы над выполнением единой задачи.
15
Суперкомпьютеры - это очень мощные компьютеры с производительностью свыше 100 мегафлопов (1 мегафлоп - миллион операций с плавающей точкой в секунду). Они
называются сверхбыстродействующими. Эти машины представляют собой многопроцессорные и (или) многомашинные комплексы, работающие на общую память и общее поле
внешних устройств. Различают суперкомпьютеры среднего класса, класса выше среднего
и переднего края (high end).
Архитектура суперкомпьютеров основана на идеях параллелизма и конвейеризации
вычислений.
В этих машинах параллельно, то есть одновременно, выполняется множество похожих операций (это называется мультипроцессорной обработкой). Таким образом,
сверхвысокое быстродействие обеспечивается не для всех задач, а только для задач, поддающихся распараллеливанию.
Что такое конвейерная обработка? Приведем сравнение - на каждом рабочем месте
конвейера выполняется один шаг производственного процесса, а на всех рабочих местах в
одно и то же время обрабатываются различные изделия на всевозможных стадиях. По такому принципу устроено арифметико-логическое устройство суперкомпьютера.
Отличительной особенностью суперкомпьютеров являются векторные процессоры,
оснащенные аппаратурой для параллельного выполнения операций с многомерными цифровыми объектами - векторами и матрицами. В них встроены векторные регистры и параллельный конвейерный механизм обработки. Если на обычном процессоре программист
выполняет операции над
каждым компонентом вектора по очереди, то на векторном - выдает сразу векторные команды.
Векторная аппаратура очень дорога, в частности, потому, что требуется много
сверхбыстродействующей памяти под векторные регистры.
Наиболее распространенные суперкомпьютеры - массово-параллельные компьютерные системы. Они имеют десятки тысяч процессоров, взаимодействующих через
сложную, иерархически организованную систему памяти.
Супер-компьютеры используются для решения сложных и больших научных задач
(метеорология, гидродинамика и т. п.), в управлении, разведке, в качестве централизованных хранилищ информации и т.д.
Элементная база — микросхемы сверхвысокой степени интеграции.
Портативные компьютеры обычно нужны руководителям предприятий, менеджерам, ученым, журналистам, которым приходится работать вне офиса -дома, на презентациях или во время командировок.
Основные разновидности портативных компьютеров:
Laptop (наколенник, от lap - колено и top - поверх). По размерам близок к обычному портфелю. По основным характеристикам (быстродействие, память) примерно соответствует настольным ПК. Сейчас компьютеры этого типа уступают место еще меньшим.
Notebook (блокнот, записная книжка). По размерам он ближе к книге крупного
формата. Имеет вес около 3 кг. Помещается в портфель-дипломат. Для связи с офисом его
обычно комплектуют модемом. Ноутбуки зачастую снабжают приводами CD-ROM.
Многие современные ноутбуки включают взаимозаменяемые блоки со стандартными разъемами. Такие модули предназначены для очень разных функций. В одно и то же
гнездо можно по мере надобности вставлять привод компакт-дисков, накопитель на магнитных дисках, запасную батарею или съемный винчестер. Ноутбук устойчив к сбоям в
энергопитании. Даже если он получает энергию от обычной электросети, в случае какоголибо сбоя он мгновенно переходит на питание от аккумуляторов.
Palmtop (наладонник) - самые маленькие современные персональные компьютеры.
Умещаются на ладони. Магнитные диски в них заменяет энергонезависимая электронная
память. Нет и накопителей на дисках - обмен информацией с обычными компьютерами
идет линиям связи. Если Palmtop дополнить набором деловых программ, записанных в его
16
постоянную память, получится персональный цифровой помощник (Personal Digital Assistant).
Возможности портативных компьютеров постоянно расширяются. Например, современный карманный компьютер iPAQ 3150 располагает всем необходимым для: ведения списка задач, хранения записок, включая аудиофайлы, работы с календарем, чтения
электронной почты, синхронизации с PC, мобильным телефоном. Помимо этого iPAQ позволяет: проигрывать видео и звуковые ролики, бродить по Интернету, просматривать и
редактировать документы и электронные таблицы, хранить файлы, искать в них слова,
просматривать картинки вести домашнюю бухгалтерию, играть в игры, читать электронные книги с помощью Microsoft Reader, полноценно работать с программным
обеспечением.
3 Модели решения функциональных и вычислительных задач
Моделирование - процесс изучение объекта (его свойств, поведения) на его модели.
Существует два основных способа моделирования:
1. Физическое моделирование. Создается физическая копия объекта, на которой изучаются свойства/поведение объекта (проводятся испытания). Эта копия может копировать как объект целиком, так и только некоторые структуры объекта, требующие изучения. Также при физическом моделировании часто используются уменьшенные копии объекта (Примеры. Макеты
зданий/объектов, Испытание моделей самолетов в аэродинамической трубе и т.п. ).
2. Информационное моделирование.
В зависимости от вида данных и способов их обработки (алгоритмов обработки) используются следующие информационные модели:
алгоритмическая модель (математическая модель) – моделирование реализуется
с помощью различных алгоритмов. Такое моделирование используется для объектов поведение/свойства, которых можно описать математически (изменение свойств, которых
происходит по известным математическим/физическим закономерностям). Примеры. Алгоритмы решения степенных уравнений, Алгоритмы построения кривых в векторной графике, Алгоритмы построения многогранных (объемных) объектов и моделирования отражения света в 3D графике, Алгоритмы расчета тока/напряжения/сопротивления в сети и
т.п.;
статистические модель – данные обрабатываются статистическими методами, такой вид моделирования используются для трудно формализуемых задач (сюда относятся
«чисто статистические» методы и методы на основе распознавания образов);
сетевая модель – моделирование производится с помощью теории графов, каждый элемент такого графа (узел) может быть связан с любым другим. Существует множество видов сетевого моделирования (нейронные сети, ассоциативные сети, семантические
сети, фреймовые сети и тп.);
иерархическая модель – объекты связанные, иерархическими отношениями образуют ориентированный граф (перевернутое дерево). Иерархическое дерево имеет только
одну вершину на самом верхнем уровне;
реляционная (табличная) модель – данные модели организуются в виде двумерных таблиц, строки которых соответствуют записям, а столбцы – полям. Для обработки
таких моделей используется алгебра отношений (реляционное исчисление).
3.1 Графы, деревья, фреймы и сети, нейронные сети, генетические алгоритмы
Фрейм - структуру данных для представления стереотипных ситуаций. Фрейм средство, которое помогло связать декларативные и процедурные знания о некоторой
сущности в структуру записей, которая состоит из слотов и наполнителей (filler). Слоты
играют ту же роль, что и поля в записи, а наполнители – это значения, хранящиеся в полях.
17
Эта структура наполнена самой разнообразной информацией: об объектах и событиях, которые следует ожидать в этой" ситуации, и о том, как использовать информацию,
имеющуюся во фрейме. Идея состоит в том, чтобы сконцентрировать все знания о данном
классе объектов или событий в единой структуре данных, а не распределять их между
множеством более мелких структур вроде логических формул или порождающих правил.
Графы. Для описания многих видов абстрактных данных в информатике вообще и
в теории искусственного интеллекта, в частности, очень широко используется терминология, заимствованная из теории графов.
Все определения сформулированы в предположении, что существуют два вида
примитивов - узлы и связи. Узлы представляют собой исходящие и целевые пункты для
связей и обычно каким-либо образом промаркированы. Связи также могут быть промар-
Рисунок 1 – Некоторые виды графов: а) обыкновенный граф; б) связный граф с петлей;
в) обыкновенный ориентированный граф - дерево
кированы, но это не обязательно. Все зависит от того, имеем ли мы дело со связями одного вида или разных. В общепринятой терминологии теории графов узлы называются
"вершинами", а связи - "ребрами графа", или "дугами".
Если N- множество узлов, то любое подмножество NxN является обобщенным
графом G. Если в парах подмножества NxN имеет значение порядок, то граф G является
ориентированным.
Граф не обязательно должен быть связным. Если задаться условием, что петли не
допускаются, т.е. в каждой паре должны присутствовать разные узлы, то такой граф называется обыкновенным. Если на графе не допускаются не только петли, но и циклы (т.е.
последовательность связей, в которой начальный и конечный узлы совпадают), то такой
граф называется лесом.
Если G- обыкновенный граф, в котором имеется п узлов и п-1 связей и отсутствуют
циклы, то такой граф является деревом.
Иными словами, дерево - это связный лес. Обычно один из узлов дерева является
его корнем. Остальные узлы образуют ветвящуюся структуру "наследников" корневого
узла, в которой отсутствуют циклы. Узлы, не имеющие наследников, являются терминальными, или "листьями" дерева, а остальные узлы называются промежуточными (нетерминальными).
Сети. В теории графов сетью называется взвешенный ориентированный граф, т.е.
граф, в котором каждой связи сопоставлено определенное число. Обычно этими числами
оценивается "стоимость" пути вдоль этой связи или длина связи, как на карте дорог. В каждом конкретном случае применения графа как формального средства описания проблемы эти числа могут трактоваться по-своему.
Связи в сети практически всегда являются ориентированными, поскольку отношения, представленные взвешенными связями, не должны быть симметричными.
18
Обыкновенные графы используются для представления взаимоотношений между
объектами в пространстве или во времени. Доступ к такой информации связан в той или
иной мере с использованием специальных средств прослеживания путей на графе, для которых разработаны самые различные алгоритмы.
Для представления иерархических классификаций и сетей применяются деревья.
Например, на рисунке 2 показано дерево классификации болезней по расположению пораженного органа. Корневой узел дерева представляет множество всех болезней, а его наследники - группы болезней, соответствующие основному пораженному органу. Каждый
Рисунок 2 – Обыкновенное дерево классификации болезней
из этих узлов будет иметь своих наследников, представляющих более узкие группы болезней, и т.д. Терминальные узлы дерева будут представлять конкретные заболевания.
Семантические сети вначале использовались для представления смысла выражений
естественного языка человека, откуда и появилось название этого класса сетей. Теперь же
они используются в качестве структуры, пригодной для представления информации общего вида, - узлы представляют некоторые концепты (понятия), а связи - отношения между
концептами.
Нейронные сети. В самом упрощенном виде нейронную сеть можно рассматривать как способ моделирования в технических системах принципов организации и механизмов функционирования головного мозга человека.
Согласно современным представлениям, кора головного мозга человека представляет собой множество взаимосвязанных простейших ячеек - нейронов, количество которых оценивается числом порядка 1010. Технические системы, в которых предпринимается
попытка воспроизвести, пусть и в ограниченных масштабах, подобную структуру (аппаратно или программно), получили наименование нейронные сети.
Нейрон головного мозга получает входные сигналы от множества других нейронов, причем сигналы имеют вид электрических импульсов. Входы нейрона делятся на две
категории - возбуждающие и тормозящие. Сигнал, поступивший на возбуждающий вход,
повышает возбудимость нейрона, которая при достижении определенного порога приводит к формированию импульса на выходе. Сигнал, поступающий на тормозящий вход, наоборот, снижает возбудимость нейрона. Каждый нейрон характеризуется внутренним состоянием и порогом возбудимости. Если сумма сигналов на возбуждающих и тормозящих
входах нейрона превышает этот порог, нейрон формирует выходной сигнал, который поступает на входы связанных с ним других нейронов, т.е. происходит распространение воз19
буждения по нейронной сети. Типичный нейрон может иметь до 10J связей с другими
нейронами.
Было обнаружено, что время переключения отдельного нейрона головного мозга
составляет порядка нескольких миллисекунд, т.е. процесс переключения идет достаточно
медленно. Поэтому исследователи пришли к заключению, что высокую производительность обработки информации в мозге человека можно объяснить только параллельной работой множества относительно медленных нейронов и большим количеством взаимных
связей между ними. Именно этим объясняется широкое распространение термина "массовый параллелизм" в литературе, касающейся нейронных сетей.
Генетические алгоритмы (ГА) представляют собой новое направление в алгоритмике. Они способны не только решать и сокращать перебор в сложных задачах, но и легко
адаптироваться к изменению проблемы.
Рисунок 3 – Фрагмент нейронной сети с возбуждающими и тормозящими связями
Генетический алгоритм - это алгоритм поиска оптимального решения, который
случайным образом выбирает начальную популяцию таких решений и затем подвергает
их процессу искусственных мутаций, скрещивания и отбора по аналогии с естественным
отбором
Вначале ГА-функция генерирует определенное количество возможных решений, а
затем вычисляет для каждого «уровень выживаемости» (fitness) - близость к истине. Эти
решения дают потомство. Те что «сильнее», то есть больше подходят, имеет больший
шанс к воспроизводству, а «слабые» постепенно отмирают. Идет эволюция.
Процесс повторяется до тех пор, пока не найдено решение, или не получено достаточное к нему приближение. Правильно запрограммированные генетические алгоритмы
могут быть просто суперэффективны.
Схема генетического алгоритма.
1.Генерация случайного начального состояния. Первое поколение создается из
произвольно выбранных решений (хромосом). Это отличается от стандартных методов, когда начальное состояние всегда одно и то же.
2.Вычисление коэффициента выживаемости (fitness). Каждому решению (хромосоме) сопоставляется некое численное значение, зависящее от его близости к ответу.
20
3.Воспроизводство. Хромосомы, имеющие большую выживаемость (fitness), попадают к потомкам (которые затем могут мутировать) с большей вероятностью. Потомок, результат слияния «отца» и «матери», является комбинаций их ген. Этот процесс
называется «кроссинговер» (crossing over).
4.Следующее поколение. Если новое поколение содержит решение, достаточно
близкое к ответу, то задача решена. В противоположном случае оно проходит через
тот же процесс. Это продолжается до достижения решения.
3.2 Экспертные системы
Экспертная система - это программа для компьютера, которая оперирует со
знаниями в определенной предметной области с целью выработки рекомендаций или
решения проблем.
Экспертная система может полностью взять на себя функции, выполнение которых
обычно требует привлечения опыта человека-специалиста, или играть роль ассистента для
человека, принимающего решение. Другими словами, система (техническая или социальная), требующая принятия решения, может получить его непосредственно от программы
или через промежуточное звено - человека, который общается с программой. Тот, кто
принимает решение, может быть экспертом со своими собственными правами, и в этом
случае программа может "оправдать" свое существование, повышая эффективность его
работы. Альтернативный вариант - человек, работающий в сотрудничестве с такой программой, может добиться с ее помощью результатов более высокого качества. Вообще говоря, правильное распределение функций между человеком и машиной является одним из
ключевых условий высокой эффективности внедрения экспертных систем.
Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта (Artificial
Intelligence - AI). Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных эмулировать (имитировать, воспроизводить) те
области деятельности человека, которые требуют мышления, определенного мастерства и
накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и
понимания человеческого языка. Эта технология уже успешно применяется в некоторых
областях техники и жизни общества - органической химии, поиске полезных ископаемых,
медицинской диагностике. Перечень типовых задач, решаемых экспертными системами, включает:
извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);
диагностика неисправностей (как в технических системах, так и в человеческом
организме);
структурный анализ сложных объектов (например, химических соединений);
выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);
планирование последовательности выполнения операций, приводящих к заданной цели (например, выполняемых промышленными роботами).
Экспертная система отличается от прочих прикладных программ наличием следующих признаков.
Моделирует не столько физическую (или иную) природу определенной проблемной области, сколько механизм мышления человека применительно к решению задач в
этой проблемной области. Это существенно отличает экспертные системы от систем математического моделирования или компьютерной анимации. Нельзя, конечно, сказать, что
программа полностью воспроизводит психологическую модель специалиста в этой предметной области (эксперта), но важно, что основное внимание все-таки уделяется воспроизведению компьютерными средствами методики решения проблем, которая применяется
21
экспертом, -т.е. выполнению некоторой части задач так же (или даже лучше), как это делает эксперт.
Система, помимо выполнения вычислительных операций, формирует определенные соображения и выводы, основываясь на тех знаниях, которыми она располагает. Знания в системе представлены, как правило, на некотором специальном языке и хранятся
отдельно от собственно программного кода, который и формирует выводы и соображения.
Этот компонент программы принято называть базой знаний.
При решении задач основными являются эвристические и приближенные методы, которые, в отличие от алгоритмических, не всегда гарантируют успех. Эвристика, по
существу, является правилом влияния (rule of thumb), которое в машинном виде представляет некоторое знание, приобретенное человеком по мере накопления практического опыта решения аналогичных проблем. Такие методы являются приблизительными в том
смысле, что, во-первых, они не требуют исчерпывающей исходной информации, и, вовторых, существует определенная степень уверенности (или неуверенности) в том, что
предлагаемое решение является верным.
3.3 Методы моделирования//необязательная глава
Существует большое количество всевозможных приемов и методов решения функциональных и вычислительных задач. Однако среди имеющегося разнообразия этих методов можно
выделить небольшой набор основных, в том смысле, что методы из такого набора применяются часто и лежат в основе многих процедур и алгоритмов. Все обсуждаемые ниже методы рассматриваются на примере решения комбинаторных задач, но сфера их применения, безусловно, намного шире.
3.3.1 Метод частных целей
Этот метод имеет следующую общую формулировку: «Необходимо свести трудную
задачу к последовательности более простых задач».
Приведенная рекомендация выглядит столь естественной и разумной, что вряд ли вызовет у кого-нибудь возражения. Более того, любой человек очень часто использует этот метод
решения стоящих перед ним задач, при этом, даже не догадываясь (или не отдавая себе отчета)
об имеющемся для него (метода) названии. С другой стороны, в конкретной сложной задаче часто очень трудно указать способ ее разбиения на набор более простых задач. Здесь большое
значение имеет опыт и искусство специалиста. Тем не менее, несмотря на общность метода и отсутствие «точного рецепта» его применения очень важно освоить этот метод, так как
он лежит в основе решения многих задач и по своей сути составляет основу алгоритмизации
и программирования. Именно с вопроса «Можно ли данную задачу разбить на последовательность (набор) более простых?» и нужно начинать разработку простого алгоритма.
Неплохой иллюстрацией к применению этого метода является одна из задач сетевого
планирования. Подобного рода задачи очень часто приходится решать в системах управления,
и их решение является важнейшей функцией АСУ (автоматизированных систем управления).
Пример. Имеется комплекс N=6 взаимосвязанных работ. Для каждой из N работ
задана ее трудоемкость в человеко-часах. Необходимо расставить К=10 имеющихся в распоряжении рабочих так, чтобы длительность выполнения всего комплекса работ была минимальной. При этом не разрешается динамически (в ходе выполнения комплекса) перемещать рабочих с одной работы на другую.
22
Взаимосвязанность работ задается с помощью сетевого графика рис. 1. Он представляет собой ориентированный граф без петель
2
1
3
и контуров, состоящий из конечного множества
4
1
элементов: вершин и попарно соединяющих их
2
5
дуг.
Вершины графа представляют собой собы2
1
2
4
3
тия, а дуги - работы.
Рисунок 1 – Сетевой график работ
Числа над дугами (работами) графа представляют собой трудоемкости работ. Множество полных путей для нашего графика:
L0,5 I 1 , I 2 , I 3 где
I 1 0,1, 1,3, 3,5;
I 2 0,1, 1,4 , 4,5;
I 3 0, 2, 2,4 , 4,5.
Общее количество вариантов расстановки рабочих в нашем случае равно
K N
N
64 .
Одним из самых простых путей решения задачи, который позволяет получить
пусть не самое лучшее, но «достаточно хорошее» решение, состоит в следующем. Разбить
задачу на 4 шага. На первом шаге решить вопрос, куда поставить 7-го работника, на втором - считая расстановку, полученную на предыдущем шаге, фиксированной (т.е. уже расставленных рабочих полагаем закрепленными за определенными работами), решаем задачу, куда поставить 8-го работника и т.д. Очевидно, что сложную задачу мы разбили на четыре последовательные, более простые задачи. В общем случае количество таких простых
задач будет равно K N . Каждая из этих однотипных задач может быть сформулирована следующим образом.
Необходимо принять решение о добавлении одного работника на одну из работ
комплекса так, чтобы время выполнения всего комплекса по получающейся расстановке
было минимальным.
В нашей задаче при исходной расстановке шести работников по одному на каждую
работу времена на выполнение численно равны трудоемкостям, а длительности полных
путей
T I 1 t 01 t13 t 35 1 2 4 7;
T I 2 t 01 t14 t 45 1 2 1 4;
T I 3 t 02 t 24 t 45 2 3 1 6.
Продолжительность выполнения всего комплекса работ, таким образом, получается равной 7 часам и определяется продолжительностью самого длинного из полных путей
критическому пути I1.
Очевидно, что для того, чтобы снизить длительность выполнения всего комплекса,
необходимо поместить имеющегося рабочего на одну из работ этого пути.
Путь I1 состоит из работ (0,1), (1,3) и (3,5). Рассматривая постановку одного рабочего на одну из этих работ и сравнивая получающиеся варианты, выбираем из них вариант
с наименьшей продолжительностью выполнения всего комплекса работ в нашем случае
это будет постановка рабочего на работу (3,5). Таким образом, задача на добавление одного работника решена, и можно переходить к следующей задаче последовательности.
В общем случае, при поиске решения по данному методу придется проанализировать не более K N N вариантов.
3.3.2 Метод подъема
Этот метод, как и предыдущий, можно отнести к одному из общих «рецептов» построения модели. Его суть заключается в следующей процедуре. Построение модели на23
чинается с принятия начального предположения или построения начального решения задачи. Затем начинается (насколько возможно) быстрое движение «вверх» от начального
уровня по направлению к лучшим решениям. Когда достигается точка, из которой больше
невозможно двигаться «наверх», процесс останавливается.
Пример. Имеется предыдущая задача о расстановке рабочих.
Первым шагом является построение начального решения. В нашей задаче о расстановке рабочих начальным решением идет какая-либо расстановка рабочих по работам
комплекса. Можно предположить много разных вариантов процедуры начальной расстановки. Рассмотрим одну из простейших. На первом шаге начальной расстановки примем
k i j K N , для любых i,j ([ ] - означает целую часть числа).
На втором шаге оставшееся количество рабочих К mod N распределяется так. Ставится один рабочий на работу с наибольшей трудоемкостью и, если резерв рабочих еще не
исчерпан, ищется следующая по трудоемкости работа и проводится постановка очередного рабочего и т.д. Процесс заканчивается, когда резерв рабочих исчерпан. В рассматривавшемся примере расстановка может быть такой:
T I1 t 01 t13 t 35 1 / 1 2 / 1 4 / 2 5;
T I 2 t 01 t14 t 45 1 / 1 2 / 1 1 / 1 4;
T I 3 t 02 t 24 t 45 2 / 2 3 / 2 1 / 1 3,5.
Как видим, путь I1 оказался критическим путем. Второй элемент алгоритма подъема - процедура восхождения от худшего к лучшему - в нашей задаче может быть определена так. Надо взять одного рабочего с работы, не лежащей на критическом пути, и переместить на одну из работ критического пути. Если результат - длительность выполнения
комплекса работ - улучшен, то повторить процесс, если нет, то попробовать переместить
рабочего с другой работы и т.д. Если ни одно из возможных перемещений не приводит к
улучшению результата, то метод подъема завершает свою работу.
3.3.3 Программирование с отходом назад
Основой программ искусственного интеллекта, независимо от то-го, к чему он
прилагается – программированию игр, выбору решений, распознаванию образов и т.п., –
является программирование перебора вариантов. Программирование перебора вариантов это сложная задача, так как алгоритмы перебора ищут решения не по заданным правилам
вычислений, а путем проб и ошибок, и схема не укладывается в схемы циклов, имеющихся в языках программирования. Ситуация зачастую осложняется тем, что прямыми методами перебор всех возможных вариантов невозможно осуществить из-за их огромного количества.
Метод программирования с отходом назад позволяет осуществить организованный
исчерпывающий поиск требуемого решения задачи. При этом часто удается избежать перебора всех возможных вариантов.
Пример. Рассмотрим пример, который демонстрирует основные свойства, общие
для всех алгоритмов с отходом назад. Задача о восьми ферзях. Найти все способы расстановки на шахматной доске 8 ферзей так, чтобы они не угрожали друг другу, т.е. чтобы на
доске 8x8 никакие два ферзя не стояли на одной вертикали, горизонтали или диагонали.
Очевидно, что больше 8 ферзей на доске 8x8 расставить нельзя, так как все ферзи
должны стоять на разных горизонталях (или вертикалях), а их всего 8. Однако значительно труднее подсчитать общее число таких расстановок, в чем собственно и состоит задача.
24
Множество всех возможных расстановок ферзей, среди которых надо отыскать
требуемые, удобно представить с помощью ориентированного дерева и по нему осуществлять поиск нужного варианта (рис. 2). Ориентированное дерево - это связный граф без
циклов с выделенной вершиной (корнем), в котором между корнем и любой другой вершиной существует единственный путь. У дерева будет 9 уровней, номер уровня I определяет номер вертикали, на которую устанавливается 1-й ферзь. Восемь ветвей, выходящих
из каждой вершины 1-го уровня, соответствует восьми возможным горизонтальным позиКорень
циям ферзя, устанавливаемого
на (i+1)-й вертикали.
Уровень1
По услоУровень2
вию задачи ферзи не должны
бить друг друга.
Уровень N
Поэтому из расРисунок 2
смотрения исключаем вершины дерева, которые соответствуют уже занятым горизонталям и диагоналям. Тогда алгоритм перебора возможных вариантов сводится к прохождению всех связанных вершин дерева: двигаемся вниз по дереву (начиная, например, с левой ветви) до
тех пор, пока не достигнем вершины последнего уровня. Если попытка установить (i+1)го ферзя оказывается неудачной, то отходим назад на один уровень и проверяем, можем
ли спуститься опять по другой ветви. Если такой спуск возможен, то опять по самой левой
из непройденных ветвей спускаемся вниз (отход в бок), иначе отходим назад еще на один
уровень и пытаемся спуститься по следующей из пройденных ветвей и т.д., пока не переберем все 8 горизонтальных полей для (i+1)-й вертикали. Если успешно достигнута вершина последнего уровня, то значит найден очередной требуемый вариант расстановки
ферзей. Тогда возвращаемся к корню и начинаем движение вниз по следующей из непройденных ветвей и т.д. до тех пор, пока не останется не-пройденных ветвей. При такой
организации перебора вариантов возможно не больше 88 =224 вариантов, что приблизительно равно 106 вариантов. На самом деле их будет гораздо меньше, так как должно выполняться условие, что ферзи не бьют друг друга.
3.3.4 Модели, построенные с помощью алгоритмов ветвей и границ
Алгоритмы ветвей и границ, как и большая часть алгоритмов, описанных ранее,
применяются для решения переборных задач. Как и алгоритм с отходами, они исследуют
древовидную модель пространства решений и ориентированы на поиск в некотором
смысле оптимального решения (из конечного множества возможных решений-вариантов).
На первом этапе при решении таким методом, определяется полный перебор вариантов (описывается ветвление). Выбирается база ветвления и от неё производится само
ветвление (разбиение задачи на подзадачи).
На втором этапе для полученного дерева ветвления определяем нижние границы
(термин «нижние границы» относителен), для каждой из возникающих в дереве подзадач.
Ветвь не имеет смысл исследовать, если нижняя граница для подзадач в данной ветви
превышает значение решения найденного в данный момент.
25
Пример. В некой файловой системе справочник организован в виде двоичного дерева. Каждой вершине соответствует некий файл, в котором содержится имя файла и d –
дата последнего обращения к нему. Требуется удалить все файлы, последнее обращение к
которым происходило до некоторой даты D.
При решении задачи, на каждом уровне проверяется соответствие вершины ветвления условию dij>D. Файлы – вершины ветвления, которые не удовлетворяют условию,
удаляются. На нижнем уровне удаляются файлы, не удовлетворяющие условию dij>D
(рис.3.).
Рисунок 3
4 Алгоритмизация и программирование
Понятие алгоритма и его свойства
Каждый из нас постоянно решает множество задач: как быстрее добраться на работу, как лучше спланировать дела текущего дня и многие другие. Некоторые задачи мы
решаем автоматически, так как на протяжении многих лет привыкли к их выполнению,
другие требуют длительного размышления над решением, но в любом случае, решение
каждой задачи всегда делится на простые действия.
Алгоритм – описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи. Понятие алгоритма, являющееся
фундаментальным в математике и информатике, возникло задолго до появления средств
вычислительной техники. Слово «алгоритм» появилось в средние века, когда европейцы познакомились со способами выполнения арифметических действий в десятичной
системе счисления, описанными узбекским математиком Муххамедом бен Аль-Хорезми
(«аль-Хорезми» – человек из города Хорезм и, в настоящее время город Хива в Хорезмской
области Узбекистана). Слово алгоритм – есть результат европейского произношения слов
аль-Хорезми. Первоначально под алгоритмом понимали способ выполнения арифметических действий над десятичными числами. В дальнейшем это понятие стали использовать для обозначения любой последовательности действий, приводящей к решению поставленной задачи.
Любой алгоритм существует не сам по себе, а предназначен для определенного
исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять,
называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может со26
вершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Значение слова «алгоритм» очень схоже со значениями слов «рецепт», «метод», «процесс», Однако, в отличие от рецепта или процесса, алгоритм характеризуется следующими
свойствами: дискретностью, массовостью, определенностью, результативностью, формальность.
Дискретность (разрывность – противоположно непрерывности) – это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных
действий, говорят: «Делится на шаги».
Массовость – применимость алгоритма ко всем задачам рассматриваемого типа, при
любых исходных данных. Например, алгоритм решения квадратного уравнения в области
действительных чисел должен содержать все возможные исходы решения, т.е., рассмотрев
значения дискриминанта, алгоритм находит либо два различных корня уравнения, либо два
равных, либо делает вывод о том, что действительных корней нет.
Определенность (детерминированность, точность) – свойство алгоритма, указывающее
на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных
толкований; также строго должен быть определен порядок выполнения отдельных шагов.
Помните сказку про Ивана-царевича? «Шел Иван-царевич по дороге, дошел до развилки.
Видит большой камень, на нем надпись: «Прямо пойдешь - голову потеряешь, направо пойдешь - жену найдешь, налево пойдешь – разбогатеешь». Стоит Иван и думает, что дальше делать». Таких инструкций алгоритм содержать не может.
Результативность – свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (может быть очень большое) число шагов. Вопрос о рассмотрении бесконечных алгоритмов остается за рамками теории алгоритмов.
Формальность – это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т.е. отвлекается от содержания поставленной задачи и лишь строго выполняет инструкции. Рассуждать «что, как
и почему?» должен разработчик алгоритма, а исполнитель формально (не думая) поочередно исполняет предложенные команды и получает необходимый результат.
Как правило, для любого заданного алгоритма можно выделить семь характеризующих его независимых параметров:
1.совокупность возможных исходных данных;
2.совокупность возможных промежуточных результатов;
3.совокупность результатов;
4.правило начала;
5.правило непосредственной переработки;
6.правило окончания;
7.правило извлечения результата.
Пример. Алгоритм вычисления корней квадратного уравнения а x 2 b x c 0 .
Исходные данные – коэффициенты уравнения: а – при второй степени неизвестного; b
– при первой степени неизвестного; с – при нулевой степени неизвестного.
Искомый результат – значения корней уравнения х1 и х2.
Предписание:
1. Вычислить значение дискриминанта по формуле d b 2 4a c .
2. Если d 0 , то вычислить значения корней уравнения по формулам:
b d
b d
x1
; x2
.
2a
2a
3. Если d 0 , то уравнение не имеет корней.
Приведенное предписание обладает всеми свойствами алгоритма:
дискретностью – предписание разбито на этапы (шаги выполнения);
27
однозначностью – однозначно указано как обозначаются коэффициенты, дискриминант, корни, приведены формулы для вычисления дискриминанта и корней уравнения;
результативностью – при выполнении предписания получается результат – значения
корней уравнения или заключение, что уравнение не имеет решения;
массовостью – в предписании составлено для общего случая (указаны не конкретные значения коэффициентов).
Способы описания алгоритмов
Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.
Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг, электропила, дрель и т.п.) имеет инструкцию
по эксплуатации, т.е. словесное описания алгоритма, в соответствии которому данный
прибор должен использоваться.
Никаких правил составления словесного описания не существует. Запись алгоритма
осуществляется в произвольной форме на естественном, например, русском языке. Этот
способ описания не имеет широкого распространения, так как строго не формализуем (под
«формальным» понимается то, что описание абсолютно полное и учитывает все возможные
ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.
Псевдокод – описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика.
Строгих синтаксических правил для записи псевдокода не существует. Это облегчает
запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие
формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому
возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.
Блок-схема – описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ
имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость» алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой
формальной конструкции соответствует определенная геометрическая фигура или связанная
линиями совокупность фигур.
Рассмотрим некоторые основные конструкции, использующиеся для построения
блок-схем.
Блок,
характеризующий
начало/конец алгоритма (для подпрограмм вызов/возврат)
начало
конец
Блок – процесс, предназначенный для
описания отдельных действий
Действие
28
Блок – предопределенный, процесс,
предназначенный для обращения к вспомогательным алгоритмам (подпрограммам)
Блок – ввода/вывода с неопределенного носителя
Блок – ввод с клавиатуры
Блок – решение (проверка условия
или условный блок)
нет
да
Блок, описывающий цикл с параметром
Тело цикла
Блок – границы цикла, описывающий
циклические процессы типа: «цикл с предусловием», «цикл с постусловием»:
Блок – вывод не монитор
Соединительные блоки
А
А
Описания алгоритма в словесной форме, на псевдокоде или в виде блок-схемы допускают некоторый произвол при изображении команд, Вместе с тем она настолько достаточна, что позволяет человеку понять суть дела и исполнить алгоритм. На практике исполнителями алгоритмов выступают компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке, такой формализованный язык называют языком программирования.
Программа – описание структуры алгоритма на языке алгоритмического программирования.
Основные алгоритмические конструкции
29
Элементарные шаги алгоритма можно объединить в следующие алгоритмические
конструкции: линейные (последовательные), разветвляющиеся, циклические и рекурсивные.
Линейная алгоритмическая конструкция
Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется
ровно один раз, причем после каждого i-го действия (шага) выполняется (i +1)-е
действие (шаг), если i -е действие - не конец алгоритма.
Пример: опишем алгоритм сложения двух чисел на псевдокоде в виде блоксхемы.
Псевдокод:
1. Ввод двух чисел а, b.
2. Вычисляем сумму S = а + b.
3. Вывод S.
4. Конец.
начало
Ввод
a,b
S=a+b
S
конец
Рисунок – блок-схема к примеру
Разветвляющаяся алгоритмическая конструкция
Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных.
При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают неполное (если - то) и полное (если - то - иначе) ветвления. Полное
ветвление позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых
ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо
оттого, какой путь был выбран (рис).
Ложь (нет)
условие
Истина (да)
Действия
1
Действия 2
30
Рисунок – Полное ветвление
Неполное ветвление предполагает наличие некоторых действий алгоритма только
на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис).
условие
действия
Рисунок – неполное ветвление
Пример: вывести значение наибольшего из двух чисел.
Псевдокод:
1. Ввод двух чисел а, b.
2. ЕСЛИ а > b, ТО «выводим а»,
ИНАЧЕ «выводим b»,
3. Конец.
начало
Ввод
a,b
a>b
b
a
конец
Рисунок – Блок-схема к примеру
В данном примере реализовано полное ветвление. ЕСЛИ значения входных данных
таковы, что а >b, ТО выполняется линейный алгоритм:
1. Ввод двух чисел а, b.
2. Вывод a,
ИНАЧЕ, когда а (аргументы)
procedure <имя_процедуры> (аргументы);
……………………………………….
……………………………………….
тело процедуры
begin
……………………………………….
тело процедуры
End Sub
……………………………………….
end;
В языках программирования высокого уровня определены следующие типы данных: логический тип; целые числа; числа с плавающей точкой; строки, символы (char), массивы (array).
Целые числа, числа с плавающей точкой и строки, как правило, могут быть представлены в разных форматах (таблица 2). Для массивов используется любой встроенный тип данных.
Пример. Объявление одномерного массива.
Имя_массива: array [Нижний_Индекс… Верхний_Индекс] of Тип_Элементов
Таблица – Основные типы данных для языков программирования Pascal и Basic
Диапазон, (диапазон значащих цифр)
Тип данных
Basic
Boolean
ShortInt
Integer
Long, LongInt
Int64
Byte
Word
-
-
Размер
(в байтах)
Pascal
Логический тип
True, False
Целые числа
- 128…127
-32768…32767
- 2147483648…2147483647
-263…263
0…255
0…65535
46
2
1(со зн.)
2 (со зн.)
4 (со зн.)
8 (со зн.)
1
2
Long Word
Real48
Real
Single
Double
Extended
Comp
Currency
-
0…4294967295
Числа с плавающей точкой
2.9 10-39 .. 1.7 1038 (11-12)
5.0 10-324 .. 1.7 10308 (15-16)
-45
1.5 10 .. 3.4 1038 (7-8)
5.0 10-324 .. 1.7 10308 (15-16)
3.6 10-4951 .. 1.1 104932 (1920)
-263+1 .. 263 -1 (19-20)
-922337203685477.5808.. 922337203685477.5807 (1920)
4
6
8
4
8
10
8
8
Строки
String
ShortString
AnsiString
WideString
255 символов (ASII)
-
2
255 символов (ASII)
231 символов (ANSI)
230 символов (Unicode)
2…256
4…2 GB
4…2 GB
Для обработки данных в языках программирования высокого уровня определены
различные операторы:
операторы присваивания;
математические (деление, умножения, сложения, вычитания, целочисленное деление, остаток от деления, циклический сдвиг вправо, циклический сдвиг влево и др.);
логические (логическое и поразрядное «НЕ», логическое и поразрядное «И», логическое и поразрядное «ИЛИ», логическое и поразрядное исключающее «ИЛИ», вхождение во множество и др.);
сравнения (больше, меньше, равно, не равно, больше или равно, меньше или равно и др.)
получения адреса;
операций над строками.
Кроме операторов для обработки данных в языках программирования высокого
уровня имеются различные встроенные функции и процедуры, которые можно разбить на
следующие категории:
математические (функции возвращающие: абсолютное значение числа, косинуса,
синуса, случайное число и др.);
строковые (преобразование в строчные буквы строки символов, выделение стоки,
преобразование строчных букв в прописные, операции поиска, копирования и др.);
даты и времени (возврат текущей даты, номера года, месяца, дня недели и др.);
преобразования типов данных (числовых данных в строковые, действительного в
целое (с округлением));
операций над файлами (создания, открытия, перезаписи, добавления записи и
др.).
Технологии программирования
Для написания программ можно использовать следующие способы программирования:
1.Нисходящее, линейное, «непосредственное» программирование или программирование сверху вниз. При программировании данным методом пишут программу без
использования процедур и функций. Данный метод подходит для написания простых программ, в противном случае можно получить программу с запутанной последовательностью операторов, которую сложно будет модифицировать.
47
2.Структурное программирование. Глобальные задачи разбиваются на более мелкие (локальные) задачи, решаемые процедурами и функциями. Процедуры и функции –
это специальным образом оформленная последовательность команд подпрограмм. Доступ
к такой подпрограмме осуществляется из любого места основного блока программы, а
также из любой процедуры и функции, описание которых следует ниже. Процедуры и
функции, как и программа, имеют имена. После имени процедуры/функции указывается
список используемых параметров, а для функции и тип возвращаемого результата. После
заголовка, как правило, идет тело процедуры/функции. Основное отличие процедуры от
функции, что имя процедуры используется только для ее вызова, а с именем функции связывается ее значение.
Пример. Процедура, вычисляющая сумму двух чисел a и b:
procedure Summing (var sum: integer; a, b: integer);
begin
sum:=a+b;
end;
Функция, вычисляющая сумму двух чисел a и b:
function Sum (a, b: integer): integer;
begin
Sum:=a+b;
end;
Вызов процедуры Summing производится следующим образом:
Summing (Sum_a_b, a, b);
Вызов функции Sum:
Sum_a_b:= Sum (a, b);
В случае если подпрограмма направлена на выполнение некоторого действия, ее следует оформлять как процедуру, если же ожидается некоторый результат работы подпрограммы как в приведенном примере, то ее следует оформлять как функцию.
3.Модульное программирование. Созданные программы помещаются в некоторый
блок – модуль (UNIT), а затем его подключают к основной программе. Модуль – это программная единица, текст которой компилируется независимо (автономно). Модуль характеризуют:
принцип IPO (Input – Process – Output) – один вход – один выход;
функциональная завершенность;
логическая независимость.
Каждый модуль состоит из спецификации (правила использования модуля) и тела
(способ реализации процесса обработки). Данный вид программирования позволяет отдельно отлаживать программы-модули и создавать из них библиотеки.
4.Объектно-ориентированное программирование. Является самым современным
способом программирования. В отличие от выше приведенных способов программирования, в основе которых лежит алгоритм (процедура обработки данных), объектноориентированное программирование – это методика разработки программ, в основе которой лежит понятие объекта, как некой структуры, описывающей объект реального мира,
его поведение. Задача, решаемая с использованием методики объектно-ориентированного
программирования, в терминах объектов и операций над ними, а программа при таком
подходе представляет собой набор объектов и связей между ними. Программирование основывается на:
модели построения системы как совокупности объектов абстрактного типа данных;
модульной структуре программ;
нисходящим проектированием.
Базовые понятия объектно-ориентированного программирования:
48
объект – совокупность свойств (параметров) определенных сущностей и методов
их обработки;
свойство объекта – характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества
других объектов;
метод обработки – программа действия над объектом или его свойствами;
событие – изменение состояния объекта;
класс объектов – совокупность объектов, характеризующих общность применяемых методов обработки или свойств;
инкапсуляция – скрытие полей объекта с целью обеспечения доступа к ним посредством методов класса;
наследование – определение объекта и дальнейшее использование всех его
свойств для построения иерархии порожденных объектов с возможностью для каждого
порожденного объекта доступа к коду и данным всех порождающих объектов;
полиморфизм – присваивание определенного действию одного имени, которое
затем используется по всей иерархии объектов сверху донизу, причем каждый объект иерархии выполняет это действие характерным именно для него способом.
Пример. Персоны университета делятся на категории: студенты и преподаватели.
Класс персоны будет базовым (родительским) для двух других:
type
{базовый класс персоны}
TPerson=class
fname: string; {личное имя персоны}
constructor Create(name: string); {выделение памяти при помощи специального
метода класса - constructor (конструктора) с именем Create
(создать)}
function info: string; virtual; {метод класса info объявлен виртуальным, чтобы дочерний класс смог заменить его своим}
end;
{класс студенты - производный от базового класса TPerson}
TStud=class(TPerson)
fgroup: integer; {номер группы}
constructor Create(name: string; group: integer);
function info: string; override; {метод порожденного класса, замещающий виртуальный метод родительского класса (помечен директивой override}
end;
{класс преподаватели - производный от базового класса TPerson}
TPrep=class(TPerson)
fdep: string; {название кафедры}
constructor Create(name: string; dep: string);
function info: string; override;
end;
Выше приведенная часть программы дает представление о классах, объектах,
наследовании. Свойства полиморфизма поясняет определение метода info для каждого
класса.
function TPerson.info: string;
begin
result:=’’;
end;
49
function TStud.info: string;
begin
result:=fname+’ гр. ’+IntToStr(fgroup); {функция IntToStr превращает номер группы
заданный числом в строку}
end;
function TPrep.info: string;
begin
result:=fname+’ каф. ’+fdep;
end;
Визуальные средства программирования
Системы визуального программирования являются системами быстрой разработки
приложений RAD (Rapid Application Development) на объектно-ориентированных языках
программирования. В настоящее время представлены различными версиями программных
продуктов фирмы Borland (для разработки приложений для Windows – Delphi, C++, C++ Builder,
для разработки приложений предназначенных для работы в сети Internet на языке Java - IntraBuilder, Visual dBASE для визуальной разработки приложений баз данных), версиями программных продуктов фирмы Microsoft (для разработки приложений для Windows, а также для прикладных программ в среде Microsoft Office - Visual Basic, Visual Basic for Application, для визуальной разработки приложений баз данных MS Access), Mat LAB (фирмы MathWork) , MathCAD
(фирмы MathSoft), и др. Все они имеют схожий интерфейс и структуру.
Основные характеристики систем визуального программирования:
1. Интегрированная среда разработки (IDE, рис.6.) объединяет: редактор форм, редактор кода, инспектор объектов, палитру компонент, администратора проектов и отладчик.
2. Конструирование по способу drag-and-drop (хватай и тащи) позволяет создавать
приложения простым перетаскиванием мышью визуальных компонент из Палитры на
форму приложения. Инспектор объектов позволяет оперировать свойствами и событиями
компонент, автоматически создавая заготовку функций/процедуры обработки событий.
3. Механизм двухнапраленной разработки two-way-tools. При изменении компонент изменяется программный код в редакторе кода, а при изменении программного кода
изменяются компоненты.
4. Объектно-ориентированное программирование (свойство, методы, события).
5. Библиотека визуальных компонент (VCL) включает свыше 100 компонент расположенных на более чем 20 палитр компонент в современных средах программирования.
50
Рисунок 6 – Основные визуальные инструменты интегрированной
среды программирования
6. Поддержка промышленных стандартов: ActivX (стандарты приложений предназначенные для работы в сети Internet), OLE (объектное связывание и внедрение – проток
обмена данными между приложениями), MAPI (стандарт интерфейса приложений для сообщений), Unicodе (двух байтова кодировка символов). ODBC (стандарт взаимодействия
базы данных открытой архитектуры), Windows Sockets TCP/IP и другие стандарты
ANSI/ISO.
7. Поддержка баз данных и SQL – языка обмена данными.
8. Расширенная математическая библиотека (главным образом статистическими и
финансовыми функциями и процедурами).
9. Наследование форм приложений.
10. Отладчики низкого уровня, которые дают представление о работе вашего приложения на уровне машинных кодов.
Базы данных. Среда визуальной разработки баз данных Microsoft Access
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная таким образом, чтобы обеспечить удобное представление этой совокупности, как в целом,
так и любой ее части.
51
Реляционная база данных представляет собой множество взаимосвязанных таблиц двухмерных таблиц, каждая из которых содержит информацию об объектах определенного типа.
Каждая строка таблицы включает данные об одном объекте (например, клиенте,
автомобиле, документе), а столбцы таблицы содержат различные характеристики этих
объектов – атрибуты (например, наименования и адреса клиентов, марки и цены автомобилей). Строки таблицы называются записями; все записи имеют одинаковую структуру
– они состоят из полей, в которых хранятся атрибуты объекта.
Поле – это элементарная единица логической организации данных. Для описания
поля служит имя, тип, длинна, точность. Каждое поле записи содержит одну характеристику объекта и имеет строго определенный тип данных (например, текстовая строка,
число, дата). Все записи имеют одни и те же поля, только в них содержатся разные значения атрибутов.
Содержание реляционной таблицы заключено в ее строках. Каждая строка называется записью.
Для однозначности каждая запись уникальный ключ (первичный ключ), который состоит из одного или нескольких полей. По значению ключа отыскивается единственная запись. Связи между таблицами базы данных дают возможность совместно использовать данные из разных таблиц (рис.7.).
Отношения баз данных могут быть один к одному 1:1 или один ко многим 1:М.
Связь каждой пары таблиц обеспечивается одинаковыми полями в них – ключом связи. В
главной таблице это уникальный ключ, в подчиненных внешний. Такая связь обеспечивает однозначность ввода данных.
Рисунок 7 – Свямежду таблицами данMS Access
зи
ных
Для работы с
ными
используются
темы управления баданных (СУБД). Осные функции СУБД –
определение
данных
(описание
структуры
баз
данных),
обработка
данных и управление данными.
По технологии
обработки данных СУБД
(Системы управления
базой данных) делятся на:
централизованные – данные хранятся в памяти одной ЭВМ;
распределенные – база данных состоит из нескольких частей (иногда дублирующих друг друга) хранимых на различных ЭВМ.
По способу доступа: с локальным или удаленным (сетевым) доступом.
Системы с централизованных баз данных с сетевым доступом делятся по архитектуре на:
дансисзами
новэто
52
файл-серверные - выделение одной машины в качестве файл-сервера. На такой
машине хранится совместно обрабатываемая рабочими станциями база данных (иногда на
рабочих станциях имеются локальные базы данных);
клиент-серверные – кроме хранения централизованной базы данных, сервер должен обеспечивать и основную обработку данных.
Любая СУБД позволяет выполнять четыре простейшие операции с данными:
добавлять в таблицу одну или несколько записей;
удалять из таблицы одну или несколько записей;
обновлять значения некоторых полей в одной или нескольких записях;
находить одну или несколько записей, удовлетворяющих заданному условию.
Для выполнения этих операций используется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном
для этого языке, который так и называется язык структурированных запросов (SQL –
Structured Query Language).
И последняя функция СУБД – это управление данными. Под управлением данными обычно понимают защиту данных от несанкционированного доступа, поддержку
многопользовательского режима работы с данными и обеспечение целостности и согласованности данных.
Защита от несанкционированного доступа обычно позволяет каждому пользователю видеть и изменять только те данные, которые ему разрешено видеть или менять.
Средства, обеспечивающие многопользовательскую работу, не позволяют нескольким
пользователям одновременно изменять одни и те же данные. Средства обеспечения целостности и согласованности данных не дают выполнять такие изменения, после которых данные могут оказаться несогласованными. Например, когда две таблицы связаны
отношением "один-ко-многим", нельзя внести запись в таблицу на стороне "многие" (ее
обычно называют подчиненной), если в таблице на стороне "один" (главной) отсутствует
соответствующая запись.
5 Технические и программные средства реализации информационных
процессов
5.1 Программное обеспечение
Программное обеспечение (software) – совокупность программ обработки данных
и необходимых для их эксплуатации документов.
Приложения (application) – программы реализации на компьютере решения конкретной задачи.
Классификация программного обеспечения
Программное обеспечение делится на три класса:
системное программное обеспечение;
инструментарий технологии программирования;
пакеты прикладных программ.
1. Системное программное обеспечение – совокупность программ и программных комплексов для обеспечения работы компьютера и компьютерных сетей (system software).
2. Инструментарий технологии программирования – совокупность программ и
программных комплексов, обеспечивающих технологию разработки, отладки и внедрения
создаваемых продуктов.
3. Пакеты прикладных программ (application program package) – комплекс взаимосвязанных программ для решения задач определенного класса конкретной области.
53
Проблемно-ориентированные пакеты
Проблемно-ориентированные пакеты прикладных программ используются для: автоматизированного бухгалтерского учета, финансовой деятельности, кадрового учета,
управления складами, управления производства и др.
Пакеты прикладных программ для бухгалтерского учета – «1С: Бухгалтерия»,
«Турбо бухгалтер»; банковские системы – RS Bank, RS Balance; Юридические базы данных: Гарант, Кодекс, Консультант Плюс; пакеты прикладных программ для планирования
– Microsoft Project, Time Line.
Фирмы-производители пакетов прикладных программ: Парус, Инфософт, Инфин,
Атлант-Информ, КомТех+, Microsoft, Symantec.
Текстовые редакторы
Текстовые редакторы используются для составления и редактирования текстовых
документов. Вместе с Windows поставляются текстовые редакторы WordPad, Блокнот, которые позволяют составлять тестовые документы, вставлять дату, выводить на печать и
др. Современные текстовые редакторы – Microsoft Word, Corel Word Perfect мало чем уступают издательским системам. Они позволяют создавать брошюры, заполнять бланки по
шаблонам, создавать Web-страницы, создавать документы рассылки (регулярные письма,
конверты, сообщения), включают редакторы формул, позволяют создавать графические
объекты (диаграммы, графики, рисунки) и многое другое.
Табличные процессоры
Табличные процессоры позволяют хранить данные, строить графики, работать с
базами данных, производить различные вычисления и др.
Табличные процессоры представлены различными версиями Microsoft Excel; Lotus
1-2-3, 5.0; Quattro Pro.
Издательские системы
Издательские системы используются для создания и оформления (верстки) книг,
брошюр, журналов, газет. Тексты для издательских систем обычно подготавливаются в
текстовых редакторах, а затем верстаются.
На рынке в настоящее время получили распространение следующие издательские
системы:
Page Maker фирмы Adobe – самая легкая в освоении издательская система;
QuarkXPress фирмы Quark – включает наибольшее число различных возможностей;
Corel Ventura – позволяет создавать очень объемные книги;
Frame Maker.
Программы подготовки презентаций
Программы подготовки презентаций позволяют создавать слайды презентаций
включающих текст, графики, диаграммы, таблицы, рисунки, применять к ним различные
эффекты анимации, задавать скорость просмотра, выбирать звуковое сопровождение, а
также их демонстрировать с помощью компьютера.
Программы, предназначенные для создания презентаций:
Power Point (Microsoft);
Freelance Graphics (Lotus);
Charisma (Micrographs);
Harvard Graphics (Software Publishing).
Графические редакторы
54
Растровые (точечные) графические редакторы используются, как для обработки
фотографий, так и для создания собственных рисунков. Изображения, с которыми работают такие редакторы, представляют собой сетку (растр) ячейки которой называются пикселями. Поэтому возможны сложности при редактировании созданных изображений и
текста (например, при увеличении растрового изображения получаются неровные края).
Качество таких изображений зависит от разрешения (dpi – количество пикселей на дюйм).
Популярные программы для работы с растровыми изображениями:
Fractal Design Painter;
Adobe Photoshop;
Corel PHOTO-PAINT.
Векторные графические редакторы. Изображения в таких редакторах основывается на математических описаниях, это позволяет легко масштабировать, перемещать и
трансформировать объекты. Используются такие редакторы для создания схем, научной
графики, плакатов и пр. Популярные графические редакторы:
Corel Draw;
Adobe Illustrator;
Macromedia Freehand.
Для перевода растровых изображений в векторные существуют специальные программы трассировки: Corel TRACE, Adobe Streamline. Кроме программ для создания плоских изображения, существуют программы для трехмерного моделирования, такие как 3D
Studio AutoDesk, Lightwave 3D, а также множество программ позволяющих создавать текстуры, шрифты, небольшие объемные изображения (например, программы для создания
изображения управляющих элементов для Web-страниц).
Программы для распознавания текстов
Программы для распознавания текстов предназначены для преобразования отсканированных изображений содержащих текст в электронный текстовый документ. Современные программы также распознают таблицы, и помечают указанные пользователем области как картинки, что позволяет получать в электронном виде документ, не отличающийся от оригинала. Распространены такие программы как FineReader, Cuneiform.
Файловые менеджеры
С момента появления программы Norton Commander файловые менеджеры стали
необходимым приложением на любом компьютере. Все они предназначены для разнообразной работы с файлами: копирования, переноса, удаления, редактирования текстовых
файлов, гибкого запуска программ.
Самыми популярными файл-менеджерами сегодня в России являются Total Commander (бывший Windows Commander) и FAR Manager. Все программы работают под
управлением: Windows 98/Me/NT/ 2000/ХР.
Программы сжатия информации
Вследствие неуклонно растущих объемов обрабатываемой информации особое
значение приобретает сжатие данных. Избыточность информации предоставляет широкое поле деятельности в этой области. Так, измерение избыточности естественных языков
(тех, на которых мы говорим) показывает, что практически 80 % передаваемой с помощью
языка информации является избыточной, т.е. лишней. Показатели избыточности разных
языков очень близки. Данная цифра примерно определяет теоретические пределы сжатия
текстовых файлов. Наличие избыточности допускает переход на иную систему кодирования, которая бы уменьшила ее. Говоря о переходе на коды, которые позволяют уменьшить
размер сообщения, вводят понятие коды сжатия. При этом различают понятия сжатие
без потерь и сжатие с потерями. Очевидно, что когда мы имеем дело с информацией
типа «номер телефона», то сжатие за счет потери части символов не ведет ни к чему хо55
рошему. Однако можно представить целый ряд ситуаций, когда потеря части информации
не приводит к потере полезности оставшейся. Сжатие с потерями применяется в основном
для графики, звука и видео, т.е. там, где в силу огромных размеров файлов степень сжатия
очень важна, и можно пожертвовать деталями, несущественными для восприятия этой
информации человеком. Особые возможности для сжатия информации имеются при компрессии видео. В ряде случаев большая часть изображения передается из кадра в кадр без
изменений, что позволяет строить алгоритмы сжатия на основе выборочного отслеживания только части «картинки». В частном случае изображение говорящего человека, не меняющего своего положения, может обновляться только в области лица или даже рта, т.е. в
той части, где происходят наиболее быстрые изменения от кадра к кадру. Обычно сжатие
графики с потерями, обеспечивая очень высокие степени компрессии, практически незаметно для человека.
Однако методы сжатия с потерями обладают и рядом недостатков. Первый недостаток заключается в том, что компрессия с потерями применима не для всех случаев анализа графической информации. Например, если в результате сжатия изображения на лице
изменится форма родинки (но лицо при этом останется полностью узнаваемо), то эта фотография окажется вполне приемлемой, чтобы послать ее по почте знакомым. Однако если пересылается фотоснимок легких на медэкспертизу для анализа формы затемнения, то
в этом случае искажения недопустимы. Кроме того, в случае машинных методов анализа
графической информации результаты кодирования с потерей (незаметные для глаз) могут
быть «заметны» для машинного анализатора. Второй недостаток заключается в том, что
повторная компрессия и декомпрессия с потерями приводят к эффекту накопления погрешностей.
Кодирование без потерь может применяться для сжатия любой информации, поскольку обеспечивает абсолютно точное восстановление данных после кодирования и декодирования. Сжатие без потерь основано на простом принципе преобразования данных
из одной группы символов в другую, более компактную. Наиболее известны два алгоритма сжатия без потерь: это кодирование Хаффмена и LZW-кодирование (по начальным буквам имен создателей Lempel, Ziv, Welch), которые представляют основные подходы при
сжатии информации. Принцип кодирования Хаффмена заключается в уменьшении количества битов, используемых для представления часто встречающихся символов, и, соответственно, в увеличении количества битов, используемых для редко встречающихся символов. Метод LZW кодирует строки символов, анализируя входной поток для построения
расширенного алфавита, что позволяет использовать дополнительные символы для представления строк обычных символов. Используя, например, вместо 8-битовых ASCII-кодов
9-битовые, получают дополнительные 256 символов. Работа компрессора сводится к построению таблицы, состоящей из строк и соответствующих им кодов. Алгоритм сжатия
сводится к следующему: программа прочитывает очередной символ и добавляет его к
строке. Если строка уже находится в таблице, чтение продолжается, если нет, данная
строка добавляется к таблице строк. Чем больше будет повторяющихся строк, тем сильнее
будут сжаты данные. Возвращаясь к примеру с телефоном, можно, проведя упрощенную
аналогию, сказать, что, сжимая запись 233 34 44 по LZW-методу, мы придем к введению
новых строк — 333 и 444 и, выражая их дополнительными символами, сможем уменьшить
длину записи.
Все архиваторы используют в какой-либо модификации эти два метода кодирования информации. Самым популярным архиватором является WinZip. Объясняется это тем,
что формат ZIP считается мировым стандартом архивирования и имеет самую длительную
историю развития. Большинство архивов в Internet также имеют формат ZIP. За ним следуют WinRAR и набирающий обороты WinAce. Все эти архиваторы работают под управлением Windows 98/Me/NT/ 2000/XPПрограммы резервирования данных
56
Самое важное в любой компьютерной системе – это хранящаяся в ней информация.
К сожалению, ни надежное оборудование, ни лицензионное ПО не гарантируют стопроцентной сохранности данных. Всегда существует вероятность потери информации. Поэтому нужно не только беречь информацию, но и уметь оперативно восстановить ее в
случае необходимости, для чего требуется резервное копирование данных, подразумевающее периодическое создание копий нужной информации. На резервирование файлов
вручную путем, например, копирования на CD-RW требуется много времени и терпения лучше автоматизировать данный процесс с помощью специализированного ПО.
В Windows 2000 имеются средства резервного копирования и восстановления данных – Backup And Recovery Tools (Средства архивации и восстановления). В ее состав
входит Backup Wizard (Мастер архивации) – служебная программа, облегчающая архивирование и восстановление данных. Однако специализированные программы сторонних
производителей во многих случаях предоставляют более удобную и быструю возможность выполнения этих процедур.
Общепризнанными лидерами разработки соответствующего ПО являются компании Hewlett-Packard, Computer Associates, Seagate Software, но их продукты требуют
сложного администрирования, рассчитаны на корпоративный бизнес и поэтому дороги.
Для рядового пользователя лучше выбрать более простые и дешевые программы, например, Handy Backup или BackUp32, которые работают под управлением Windows
9x/NT/2000/ Ме/ХР.
Программы записи компакт-дисков
Среди продуктов этого класса есть свои фавориты. Это пакеты от Nero (Nero 6 или
более ранние версии) и Roxio (Easy Media Creator 7, WmOnCD 6 или более ранние их модификации). Все они универсальны, позволяют записать любой диск на CD или DVD, содержат много дополнительных приложений для обработки разнообразной информации и
могут снабдить записанный диск профессиональной наклейкой. Однако существует целый
ряд более дешевых и компактных утилит, способных справиться с этой задачей ничуть не
хуже своих более дорогих аналогов. Все программы работают под управлением Wmdows
95/ 98/NT 4/ Ме/2000/ХР.
Программы просмотра и конвертации
Сегодня вся техническая документация поставляется в формате *.pdf. Для работы с
этим форматом существует бесплатная утилита Acrobat Reader от компании Adobe. Однако часто необходимо не только просмотреть документ, но и извлечь из него текст и/ или
изображение. С этой целью проще всего воспользоваться соответствующей утилитой, например PDF2Word.
Кроме того, в настоящее время практически каждый пользователь работает с медиаинформацией, для просмотра которой чаще всего необходим целый набор просмотрщиков: для картинок один, для видео - другой, для прослушивания музыки — третий. Однако все эти программы удобнее заменить на одну универсальную, или в качестве альтернативы выбрать какое-нибудь бесплатное приложение. Все эти программы работают
под управлением Windows 98/NT/Me/2000/XP.
Adobe Reader 6.0 (известный как Acrobat Reader) – популярная программа для просмотра и печати PDF-документов, которая совершенно необходима, поскольку значительное количество файлов, скачиваемых из Internet, представлены сегодня в формате PDF.
Версия 6.0 поддерживает проигрывание встроенных в документы файлов QuickTime, Macromedia Flash, Real и Windows Media, распечатку документов через беспроводные сети и
ряд других усовершенствований.
Программы сравнения файлов
Сравнивать различные модификации файлов пользователям приходится очень часто. Причем выясняется не то, какая версия файла является более свежей, а то, что именно
57
изменилось в файлах в плане содержимого и есть ли файлы-дубликаты. Приходится сравнивать текстовые документы и документы Excel. Многим необходимо разобраться в хранящихся на диске изображениях, пытаясь найти нужную картинку. А есть еще HTMLстраницы, PDF-файлы и пр. Самой универсальной в этой области, охватывающей большое
количество типов файлов, является программа Compare Suite, выпущенная компанией
AKS-LABS в конце 2003 г.
Кроме перечисленных выше программ существуют множество программ для других различных целей: программы – переводчики (Stylus, Сократ); системы автоматизированного проектирования (AutoCAD, Компас); программы для создания Web – приложений
(FrontPage, Dreameweaver) и др.
5.2 Коммерческий статус программ и виды распространения
Коммерческий статус программ
1. Бесплатное программное обеспечение (freeware). Такие программы можно
найти в FТР – архивах Интернета. Свободно распространяются, как программы разработанные частными лицами, так и крупными корпорациями (растровый графический редактор
Paint Shop Pro, редактор для создания анимированных фильмов Animation Shop, интерпретаторы PHP, СУБД MySQL, офисные пакеты StarOffice компании Sun, OpenOffice, операционные системы семейства Linux и программы созданные под Linux и др.).
2. Условно-бесплатное программное обеспечение (shareware). Shareware – программы чаще всего представляют собой программы ограниченного времени действия, либо
ограниченного количества запусков. По истечению срока отведенного вам на использовании
(около 15…45 дней) программа либо престает запускаться, либо время работы в программе
становится ограниченным (например, 5…10 минут), либо превращается в менее функциональную (freeware), либо постоянно напоминает вам, что пора заплатить. Так же имеют бесплатное распространение версии известных коммерческих программ, либо устаревшие (Windows 95), либо пробные Trial версии (например, полнофункциональные пробные версии популярных коммерческих программ Trial ware) и демо-версии (с неполным набором функций).
По истечению оговоренного в использовании срока вам надо заплатить автору и
получить либо цифровой ключ, либо файл-ключ, устанавливаемый в папку программы,
либо полнофункциональную версию. Среди этого ресурса большое распространение имеют утилиты: файловые менеджеры (например, Windows Commander); антивирусные программы (программы поставляются бесплатно, а обновление баз платно или наоборот).
Так же к условно-бесплатному программному обеспечению можно отнести donation ware – когда автор предлагает программу бесплатно, но если вы хотите заплатить, то
он не откажется; а также программы с внедренной рекламой adware – программа поставляется бесплатно, но вы смотрите на внедренную рекламу (разновидностью такого вида
программ являются homepageware – программы делающие свой Web-сайт стартовой
страницей в вашем Web-браузере).
3. Коммерческое программное обеспечение (commercial ware). Полностью оплачиваемое программное обеспечение. У разработчиков такого программного обеспечения,
как правило, в начале можно приобрести демо-версию, или Share или Trial - версию, а затем уже купить полнофункциональную коммерческую версию. Trial и share версии с помощью ключа можно превратить в полнофункциональные (демо-версии превратить в полнофункциональные нельзя).
Версии программного обеспечения
Альфа-версия – первая рабочая версия программы. Статус рабочей гарантирует
установку и запуск программы, статус альфа указывает, что программа проходит тестиро-
58
вание на выполнение базовых задач (альфа тестирование) и может иметь много ошибок и
не выполнять базовых задач.
Бета-версия – программа выполняет базовые задачи, но может иметь маленькие
недоделки (проходит всестороннее тестирование).
RC (Release Candidate) – программа кандидат на окончательную версию. Такая
программа используется для выявления наиболее скрытых ошибок.
Релиз (Release) – окончательная готовая версия программы.
Виды распространения программ
Распространение программ осуществляется в основном двумя способами (легальными): электронные версии (через Интернет) и дисковыми версиями.
Через Интернет можно скачать, как правило, пробные и демо-версии программ (к
ним может поставляться и документация в виде doc или pdf файлов), а при покупке через
Интернет Release-версии программа будет доставлена вам по почте наложенным платежом или курьером вместе с документацией.
Дисковые версии могут распространяться в следующих видах:
«Коробочные версии» – кроме диска с программами в коробке имеется техническая документация и полное руководство (иногда в поставку, как для 1С, входит и USBключ, для защиты лицензионной версии и ваших данных).
«OEM-soft» – версии, поставляемые вместе с компьютером (при покупке компьютера). Таким образом, как правило, поставляется операционная система (MS Windows),
антивирусы (например, Антивирус Касперского) и офисные пакеты (MS Office). OEMверсии в разы дешевле «коробочных». Как правило, дается только диск и тоненькая книжечка.
«Slim-версии» – только диск с программой. Как slim-продаются большинство программ российских производителей в основном утилиты и программы для дома .
«Bundle версии» – пакеты программ. Такие версии содержат комплект программ с
документацией (примеры: наборы утилит Norton, комплект графических редакторов
Adobe (векторный редактор + растровый редактор + набор утилит для трассировки, созданий заливок и пр.), комплекты фирмы Macromedia и др.). Как правило, в наборе программы стоят значительно дешевле, чем в сумме по отдельности.
«Upgrade-версии» комплект для обновления программы, который ставится поверх
новой (например, если первая версия была 5.1 и не имела русской версии, то вторая будет
5.2 и иметь русскую версию). Стоимость таких программ может составлять 30% от стоимости программы (тогда ее часто используют для легализации, устанавливая поверх пиратской версии), а могут стоить и столько, сколько новая программа.
5.3 Тестирование программ
Тестирование программ – этап разработки компьютерной программы, в процессе
которого проверяется работоспособность программы, не содержащей явных ошибок.
Тестирование – процесс выполнения программ с целью обнаружения факта наличия ошибок.
Альфа-тестирование – тестирование готового программного продукта на специально созданных задачах.
Бета-версия – версия программного продукта, предшествующая выпуску коммерческого программного продукта. Предоставляется на льготных условиях с целью обкатки
и выявления ошибок в новой системе.
Бета-тестирование – опробование программного продукта, бесплатно разосланного потенциальным пользователям, на реальных задачах. О найденных ошибках и замечаниях пользователь сообщают разработчику.
Детерминированное тестирование – тестирование программ, при котором контролируется каждая комбинация исходных эталонных данных и соответствующая ей ком59
бинация результатов функционирования программ. Полное детерминированное тестирование практически нереализуемо.
Ручное тестирование – тестирование, которое проводится без исполнения тестируемой программы на компьютере.
Стохастическое тестирование – тестирование программ, при котором исходные
тестовые данные берутся случайным образом (с использованием статистического распределения).
Тест – совокупность входных данных для программы, а также точное описание
всех результатов, которые должна выработать программа на этих данных.
Тестирование программы как прозрачного (белого) ящика – тестирование, подразумевающее знание исходного кода программы и полный доступ к нему.
Тестирование программы как черного ящика – тестирование, при котором программа рассматривается как объект, внутренняя структура которого неизвестна.
Тестовое покрытие – набор тестов, покрывающих все линейные участки программы.
5.4 Базовое программное обеспечение
Базовое ПО, или BIOS, представляет программа, которая отвечает за управление
всеми компонентами, установленными на материнской плате. Фактически BIOS является
неотъемлемой составляющей системной платы и поэтому может быть отнесена к особой
категории компьютерных компонентов, занимая, промежуточное положение между аппаратурой и программным обеспечением.
Аббревиатура BIOS расшифровывается как Basic Input/Output System – базовая система ввода/вывода. Раньше в системе IBM PC основным назначением BIOS была поддержка функций ввода-вывода за счет предоставления операционной системе (ОС) интерфейса для взаимодействия с аппаратурой. В последнее время ее назначение и функции
значительно расширились.
Второй важной функцией BIOS является процедура тестирования (POST – Power
On Self Test) всего установленного на материнской плате оборудования (за исключением
дополнительных плат расширения), проводимая после каждого включения компьютера. В
процедуру тестирования входят:
• проверка работоспособности системы управления электропитанием;
• инициализация системных ресурсов и регистров микросхем;
• тестирование оперативной памяти;
• подключение клавиатуры;
• тестирование портов;
• инициализация контроллеров, определение и подключение жестких дисков.
В процессе инициализации и тестирования оборудования BIOS сравнивает данные
системной конфигурации с информацией, хранящейся в CMOS – специальной энергозависимой памяти, расположенной на системной плате. Хранение данных в CMOS поддерживается специальной батарейкой, а информация обновляется всякий раз при изменении каких-либо настроек BIOS. Таким образом, именно эта память хранит последние сведения о
системных компонентах, текущую дату и время, а также пароль на вход в BIOS или загрузку операционной системы (если он установлен). При выходе из строя, повреждении
или удалении батарейки все данные в CMOS-памяти обнуляются.
Третьей важной функцией, которую BIOS выполняет, является загрузка ОС. Современные BIOS позволяют загружать операционную систему не только с гибкого или
жесткого диска, но и с приводов CD-ROM, ZIP, LS-120, SCSI-контроллеров. Определив
тип устройства загрузки, BIOS приступает к поиску программы – загрузчика ОС на носителе или переадресует запрос на загрузку на BIOS другого устройства. Когда ответ получен, программа загрузки помещается в оперативную память, откуда и происходит загрузка
системной конфигурации и драйверов устройств операционной системы.
60
С появлением процессоров Pentium, BIOS стала выполнять еще одну функцию –
управление потребляемой мощностью, а с появлением материнских плат форм-фактора
(стандартизированный размер) ATX (Advanced Technology extended – расширенная продвинутая технология) – и функцию включения и выключения источника питания в соответствии со спецификацией ACPI (Advanced Configuration and Power Interface – продвинутый интерфейс конфигурирования и управления потребляемой мощностью). Существует
также спецификация АРМ (Advanced Power Management – продвинутое управление потребляемой мощностью). Отличие их состоит в том, что ACPI выполняется в основном
средствами ОС, а АРМ – средствами BIOS.
Фирм, занимающихся разработкой программного обеспечения для BIOS, очень мало. Из наиболее известных можно выделить три: Award Software (Award BIOS), American
Megatrends, Inc. (AMI BIOS) и Microid Research (MR BIOS). На подавляющем большинстве компьютеров сегодня применяются различные версии BIOS компании Award Software.
Пользовательский интерфейс разных версий и разных производителей BIOS может сильно
отличаться, но системные вызовы строго стандартизированы.
Физически BIOS находится в энергонезависимой перепрограммируемой флэшпамяти, которая вставляется в специальную колодку на материнской плате (на этой микросхеме есть яркая голографическая наклейка с логотипом фирмы — разработчика ПО
для BIOS).
5.5 Системное программное обеспечение. Операционная система
Системное программное обеспечение предназначено для обеспечения работы компьютера и компьютерных сетей (system software).
Работа системного программного обеспечения направлена:
на создание операционной среды функционирования других программ.
на обеспечение надежной работы самого компьютера и вычислительных сетей.
на проведения диагностики и профилактики аппаратуры компьютера и компьютерных сетей.
на обслуживание технологических процессов (регламентация доступа, архивация,
копирование, восстановление файлов и др.).
Системное программное обеспечение делится на:
1.Базовое (base software) – минимальный набор программных средств, обеспечивающих работу компьютера. Это операционная система, операционная оболочка, сетевая
операционная система.
2.Сервисное программное обеспечение. Это программы диагностики работоспособности компьютера, антивирусные программы, программы архивации данных, программы обслуживания дисков, программы обслуживания сети и др.
Операционная система
Операционная система предназначена для выполнения управлением пользовательских программ и управления вычислительными ресурсами ЭВМ.
Операционные системы для персональных компьютеров делятся на:
одно- и многозадачные (в зависимости от числа выполняемых параллельно прикладных программ);
одно- и многопользовательские (в зависимости от числа пользователей, одновременно работающих с системой);
несетевые и сетевые, обеспечивающие работу в локальной сети.
Основные производители операционных систем: IBM, Microsoft, Novell, UNISYS.
В настоящее время получили распространение 32-разрядные операционные системы:
Windows XP (Microsoft), Windows Vista;
Unix;
61
Solaris (SunSoft);
Linux
Операционные оболочки
Операционная оболочка – специальная программа, предназначенная для облегчения общения пользователя с командами операционной системы.
Текстовые оболочки МS-Dos: Norton Commander, Norton Navigator, Volcov Commander и др.
Графические оболочки Windows XP, Windows Vista слиты с операционной системой.
Назначение операционной системы
Место операционной системы в структуре аппаратно-программных средств
(АПС) компьютера показано на рисунке 2. Нижний уровень структуры составляют интегральные микросхемы, источники питания, дисководы и другие физические устройства.
Прикладные программы
Интерпретаторы команд Компиляторы
Операционная система
Система команд
Функциональные средства
Аппаратные средства
Редакторы
Рисунок 2 – Структура аппаратно-программных средств компьютера
Выше расположен уровень, на котором физические устройства рассматриваются с
точки зрения функционально-логических связей. На этом уровне находятся внутренние
регистры центрального процессора (ЦП) и арифметическо-логическое устройство
(АЛУ). Операции над данными выполняются в соответствии с тактовой частотой ЦП. В
некоторых машинах эти операции осуществляются под управлением специальных
средств, называемых микропрограммами. В других – с помощью аппаратуры. Некоторые
операции выполняются за один такт работы ЦП, другие требуют нескольких тактов. Все
операции составляют систему команд машины, а все данные имеют абсолютные значения
адресов, по которым они хранятся в памяти. Система команд компьютера образует машинный язык.
Машинный язык содержит от 50 до 300 команд, по которым осуществляются преобразование, модификация и перемещения данных между устройствами. Управление устройствами на этом уровне осуществляется с помощью загрузки определенных данных в
специальные регистры устройств. Например, при программировании ввода/вывода диску
можно дать команду чтения, записав в его регистры адрес места на диске, адрес в основной памяти, число байтов для чтения и направление действия (чтение или запись). В действительности диску следует передавать большее количество параметров, а структура
операции, возвращаемой диском, достаточно сложна. При этом очень важную роль играют временные соотношения.
Операционная система предназначена для того, чтобы скрыть от пользователя все
эти сложности. Этот уровень АПС (рисунок 2) избавляет его от необходимости непосредственного общения с аппаратурой, предоставляя вместо этого более удобную систему команд. Действие чтения файла в этом случае становится намного более простым, чем когда
нужно заботиться о перемещении головок диска, ждать, пока они установятся на нужное
место, и т. д.
Над ОС в структуре аппаратно-программных средств компьютера расположены остальные системные программы. Здесь находятся интерпретатор команд (оболочка), систе62
мы окон, компиляторы, редакторы и т. д. Очень важно понимать, что такие программы не
являются частью ОС. Под операционной системой обычно понимается то программное
обеспечение, которое запускается в режиме ядра и защищается от вмешательства пользователя с помощью аппаратных средств. А компиляторы и редакторы запускаются в пользовательском режиме. Если пользователю не нравится какой-либо компилятор, он может
выбрать другой или написать свой собственный, но он не может написать свой собственный обработчик прерываний, являющийся частью операционной системы и защищенный
аппаратно от попыток его модифицировать.
Во многих ОС есть программы, которые работают в пользовательском режиме.
Они помогают операционной системе выполнять специализированные функции. Например, программы, позволяющие пользователям изменять свои пароли. Эти программы не
являются частью ОС и запускаются не в режиме ядра, но выполняемые ими функции
влияют на работу системы. Такие программы также защищаются от воздействия пользователя.
И, наконец, над системными программами (рисунок 2) расположены прикладные
программы. Обычно они покупаются или пишутся пользователем для решения собственных задач – обработки текста, работы с графикой, технических расчетов или создания
системы управления базой данных.
Операционные системы выполняют две основные функции – расширение возможностей машины и управление ее ресурсами.
Отсюда ясно, что обыкновенный пользователь не захочет сталкиваться необходимостью программирования для работы с дискетой или жестким диском. Ему нужны простые высокоуровневые операции. В случае работы с дисками типичной операцией является выбор файла из списка файлов, содержащихся на диске. Каждый файл может быть открыт для чтения или записи, прочитан или записан, а потом закрыт. А детали этих операций должны быть скрыты от пользователя.
Программа, скрывающая истину об аппаратном обеспечении и представляющая
простой список файлов, которые можно читать и записывать, называется операционной
системой. Операционная система не только устраняет необходимость работы непосредственно с дисками и предоставляет простой, ориентированный на работу с файлами интерфейс, но и скрывает множество неприятной работы с прерываниями, счетчиками времени,
организацией памяти и другими низкоуровневыми элементами. В каждом случае процедура, предлагаемая ОС, намного проще и удобнее в обращении, чем те действия, которые
требует выполнить оборудование.
Концепция, рассматривающая ОС прежде всего как удобный интерфейс пользователя, – это взгляд сверху вниз. Альтернативный взгляд снизу вверх дает представление об
ОС как о механизме управления всеми частями компьютера. Современные компьютеры
состоят из процессоров, памяти, дисков, сетевого оборудования, принтеров и огромного
количества других устройств. В соответствии со вторым подходом работа ОС заключается
в обеспечении организованного и контролируемого распределения процессоров, памяти и
устройств ввода/вывода между различными программами, состязающимися за право их
использовать.
Виды операционных систем
История развития ОС насчитывает уже много лет. Операционные системы появились и развивались в процессе совершенствования аппаратного обеспечения компьютеров, поэтому эти события исторически тесно связаны. Развитие компьютеров привело к
появлению огромного количества различных ОС, из которых далеко не все широко известны.
На самом верхнем уровне находятся ОС для мейнфреймов. Эти огромные машины
еще можно встретить в больших организациях. Мейнфреймы отличаются от персональных компьютеров по своим возможностям ввода/вывода. Довольно часто встречаются
мейнфреймы с тысячью дисков и терабайтами данных. Мейнфреймы выступают в виде
63
мощных web-серверов и серверов крупных предприятий и корпораций. Операционные
системы для мейнфреймов в основном ориентированы на обработку множества одновременных заданий, большинству из которых требуется огромное количество операций ввода-вывода. Обычно они выполняют три вида операций: пакетную обработку, обработку
транзакций (групповые операции) и разделение времени. При пакетной обработке выполняются стандартные задания пользователей, работающих в интерактивном режиме. Системы обработки транзакций управляют очень большим количеством запросов, например
бронирование авиабилетов. Каждый отдельный запрос невелик, но система должна отвечать на сотни и тысячи запросов в секунду. Системы, работающие в режиме разделения
времени, позволяют множеству удаленных пользователей одновременно выполнять свои
задания на одной машине, например, работать с большой базой данных. Все эти функции
тесно связаны между собой, и операционная система мейнфрейма выполняет их все. Примером операционной системы для мейнфрейма является OS/390.
Уровнем ниже находятся серверные ОС. Серверы представляют собой или очень
большие персональные компьютеры, или даже мейнфреймы. Эти ОС одновременно обслуживают множество пользователей и позволяют им делить между собой программноаппаратные ресурсы. Серверы также предоставляют возможность работы с печатающими
устройствами, файлами или Internet. У Internet-провайдеров обычно работают несколько
серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входящие запросы.
UNIX и Windows 2003 являются типичными серверными ОС. Теперь для этой цели стала
использоваться и операционная система Linux.
Для увеличения мощности компьютеров соединяют нескольких центральных процессоров в одной системе. Такие системы называются многопроцессорными. Для них требуются специальные операционные системы; но зачастую такие ОС представляют собой
варианты серверных операционных систем со специальными возможностями связи.
Следующую категорию составляют ОС для персональных компьютеров. Их работа
заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются в повседневной работе. Основными ОС в этой категории являются Windows ХР, Windows Vista, операционная система компьютера Macintosh и Linux.
Еще один вид ОС – это системы реального времени. Главным параметром таких
систем является время. Например, в системах управления производством компьютеры,
работающие в режиме реального времени, собирают данные о промышленном процессе и
используют их для управления оборудованием. Такие процессы должны удовлетворять
жестким временным требованиям. Если, например, по конвейеру передвигается автомобиль, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано или слишком поздно, то нанесет
непоправимый вред изделию. Системы VxWorks и QNX являются операционными системами реального времени.
Встроенные операционные системы используются в карманных компьютерах и
бытовой технике. Карманный компьютера – это маленький компьютер, помещающийся в
кармане и выполняющий небольшой набор функций, например, телефонной книжки и
блокнота. Встроенные системы, управляющие работой устройств бытовой техники, не
считаются компьютерами, но обладают теми же характеристиками, что и системы реального времени, и при этом имеют особые размер, память и ограничения мощности, что выделяет их в отдельный класс. Примерами таких операционных систем являются PalmOS и
Windows CE (Consumer Electronics – бытовая техника).
Самые маленькие операционные системы работают на смарт-картах, представляющих собой устройство размером с кредитную карту и содержащих центральный процессор. На такие операционные системы накладываются очень жесткие ограничения по
мощности процессора и памяти. Некоторые из них могут управлять только одной опера64
цией, например электронным платежом, но другие ОС выполняют более сложные функции.
Операционная система Windows XP
Система Windows XP является развитием операционной системой Windows 2000.
Система выпущена в трех версиях:
Windows XP Professional;
Windows XP Home Edition;
Windows XP 64-bit Edition.
Система Windows XP Professional ориентирована на корпоративных пользователей, т.е. на работу в больших и средних сетях. Этой системой могут пользоваться и дома.
По сравнению с Windows 2000 в ней имеются следующие изменения:
улучшена совместимость с аппаратными и программными средствами;
новый, более удобный интерфейс;
встроенная защита (брандмауэр) от атак из Интернета;
упрощенная настройка безопасности и входа в систему;
быстрое переключение пользователей;
поддержка DirectX 9 для компьютерных игр;
улучшена поддержка мультимедиа и цифровых фотографий.
Система Windows XP Home Edition ориентирована только на домашнее применение. В ней отсутствуют функции, обеспечивающие корпоративное использование (работа
в составе домена, настройка групповых политик и локальной безопасности, шифрования
данных, автономные папки и др.).
Требования к аппаратным ресурсам
Процессор с тактовой частотой 233 МГц и выше. Поддерживается одно- и двухпроцессорные системы.
Оперативная память 64 Мбайт (для комфортной работы от 128 Мбайт до 4 Гбайт).
Жесткие диски свободное место не менее 1,5 Гбайт, плюс по 100 Мбайт на каждые
64 Мбайт оперативной памяти.
Система Windows XP 64-bit Edition предназначена для профессиональных пользователей работающих с огромными объемами данных. Требования к аппаратным ресурсам: двухядерные процессоры Intel Itanium или AMD Athlon 64, оперативная память 1
Гбайт и выше. Система не имеет многих домашних пользовательских функций, не поддерживает устаревшие протоколы, не имеет русский версии.
5.6 Файловые системы, диски и тома общие сведения о файловых системах
Всем компьютерным приложениям нужно хранить и получать информацию. Наиболее удобной для доступа к долговременным устройствам хранения информации оказалась система, при которой пользователь назначает для той или иной совокупности данных
некоторое имя. Определенный участок диска, занятый информацией, имеющей собственное имя, называется файлом. Часть ОС, работающая с файлами и обеспечивающая хранение данных на дисках и доступ к ним, называется файловой системой (ФС).
С точки зрения пользователя наиболее важным аспектом файловой системы является ее внешнее представление, т.е. именование и защита файлов, операции с файлами и
т.д. Компьютеру безразлично, какое имя имеет любая программа или документ, так как он
получает от ОС инструкцию подобно такой: «прочитай столько-то байт с такого-то места
на диске». При этом пользователь не обязан знать, в каком физическом порядке и где
именно находятся его данные. Ему достаточно потребовать от ОС прочитать документ
или загрузить необходимую программу.
65
Одной из важнейших характеристик ОС, помимо управления памятью, ресурсами
компьютера и задачами, является поддержка файловой системы – основного хранилища
системной и пользовательской информации.
Файлы относятся к абстрактному механизму. Они предоставляют способ сохранить
информацию на диске и считывать ее снова по мере необходимости. Пользователю не
нужны такие подробности, как способ и место хранения информации, детали работы дисков. Важной характеристикой любого механизма абстракции являются принципы именования управляемых объектов, поэтому вкратце рассмотрим правила именования файлов.
Точные правила именования файлов варьируются от системы к системе, но все современные операционные системы поддерживают использование в качестве имен файлов
8-символьные текстовые строки. Так, книга, страница, карандаш являются допустимыми
именами файлов. Часто в именах файлов также разрешается использование цифр и специальных символов, поэтому могут применяться и такие имена файлов, как 2 (лучше _2),
срочный!. Многие файловые системы поддерживают имена файлов длиной до 255 символов.
В некоторых ФС различаются прописные и строчные символы, в других, таких как
MS-DOS, нет. Операционные системы Windows 95 и Windows 98 используют файловую
систему MS-DOS и наследуют многие ее свойства, включая именование файлов. Операционная система Windows XP также поддерживают файловую систему MS-DOS и наследуют ее свойства. Однако у нее имеется своя файловая система NTFS, обладающая отличными свойствами.
Во многих ОС имя файла может состоять из двух частей, разделенных точкой, например progr.exe. Часть имени файла после точки называется расширением файла и обычно означает тип файла. Так, в MS-DOS имя файла может содержать от 1 до 8 символов
плюс через точку расширение от 0 до 3 символов. В некоторых ОС, например в UNIX,
расширения файлов являются просто соглашениями, и ОС не заставляет пользователя их
строго придерживаться. Так, файл file.txt может быть текстовым файлом, но это скорее
памятка пользователю, а не руководство к действию для операционной системы. Система
Windows, напротив, знает о расширениях файлов и назначает каждому расширению определенное значение. Пользователи или процессы могут регистрировать расширения в ОС,
указывая программу, создающую данное расширение. При двойном щелчке мышью на
имени файла запускается программа, назначенная этому расширению, с именем файла в
качестве параметра. Например, двойной щелчок мышью на имени file.doc запускает MS
Word, который открывает файл file.doc.
Обычно пользователям бывает необходимо логически группировать свои файлы,
поэтому требуется некий гибкий способ, позволяющий объединять файлы в группы. Следовательно, нужна некая общая иерархия, т.е. дерево каталогов. При таком подходе каждый пользователь может сам создать себе столько каталогов и подкаталогов, сколько ему
нужно, группируя свои файлы естественным образом. В корневом каталоге могут быть
также созданы каталоги и подкаталоги, принадлежащие различным пользователям. Возможность создавать произвольное количество подкаталогов является мощным структурирующим инструментом, позволяющим пользователям организовать свою работу. По этой
причине почти все современные файловые системы организованы подобным образом.
При организации ФС в виде дерева каталогов требуется некоторый способ указания файла. Для этого обычно используются два различных метода. В первом случае каждому файлу дается абсолютное имя пути, состоящее из имен всех каталогов от корневого
до того, в котором содержится файл, и имени самого файла. Например, путь
\user\abc\myfile.doc означает, что корневой каталог содержит каталог user, который, в
свою очередь, содержит подкаталог abc, где находится файл myfile.doc. Абсолютные имена путей всегда начинаются от корневого каталога и являются уникальными. Если первым
символом имени пути является разделитель, это означает, что путь абсолютный. Применяется и относительное имя пути. Оно используется вместе с понятием текущего ката66
лога. Пользователь может назначить один из каталогов текущим рабочим каталогом. В
этом случае все имена путей, не начинающиеся с символа разделителя, считаются относительными и отсчитываются относительно текущего каталога. Например, если текущим
каталогом является \user\abc, тогда к файлу с абсолютным путем \user\abc\myfile.doc можно обратиться просто как к myfile.doc.
Любая файловая система предназначена для хранения информации о физическом
размещении частей файла. В ФС существует минимальная единица информации – кластер, размер которого является нижним пределом размера записываемой на носитель информации в рамках ФС. Не следует путать понятие кластера с понятием сектора, который
является минимальной единицей информации со стороны аппаратного обеспечения. От
ФС требуется четкое выполнение следующих действий:
• определение физического расположения частей файла;
• определение наличия свободного места и выделение его для вновь создаваемых
файлов.
Скорость выполнения этих операций напрямую зависит от самой ФС. Разные файловые системы используют различные механизмы для реализации указанных задач и
имеют свои преимущества и недостатки. ФС типа FAT (File Allocation Table) представляют собой образ носителя в миниатюре, где детализация ведется до кластерного уровня.
Поэтому операция поиска физических координат файла при его большой фрагментации
будет затруднительна. ФС FAT16 занимает объем 128 Кб. И это позволяет легко кэшировать ее информацию. Для FAT32 эта величина для больших дисков составит около 1 Мб,
что еще более затрудняет поиск физических координат фрагментированного файла. Еще
хуже обстоит дело с поиском свободного места для больших файлов. Приходится просматривать практически всю таблицу, быстродействие падает. NTFS (New Technology File
System) использует более компактную форму записи, что ускоряет поиск файла. Операции
с выделением места проходят быстрее. Ключевое преимущество NTFS – возможность ограничения доступа к файлам и папкам.
Важный параметр – размер кластера. Больший размер кластера гарантирует более
высокую производительность за счет уменьшения самой ФС.
Windows XP поддерживает следующие файловые системы: FAT12, FAT16, FAT32 и
NTFS. Кроме того, две файловые системы поддерживаются на устройствах CD-ROM и
DVD: Compact Disc File System (CDFS) и Universal Disk Format (UDF). В данном разделе содержатся краткие обзорные сведения об этих файловых системах. На выбор файловой системы оказывают влияние следующие факторы:
цель, для которой предполагается использовать компьютер;
аппаратная платформа;
количество жестких дисков и их объем;
требования к безопасности;
используемые в системе приложения.
Файл – это именованная область внешней памяти, выделенная для хранения массива данных.
Windows XP поддерживает распределенную файловую систему (Distributed File System,
DFS) и шифрующую файловую систему (Encrypting File System, EFS). Хотя DFS и EFS и названы "файловыми системами", они не являются таковыми в строгом понимании этого
термина. Так, DFS представляет собой расширение сетевого сервиса, позволяющее объединить в единый логический том сетевые ресурсы, расположенные на разных компьютерах в разделах, которые могут иметь различные файловые системы. (DFS относится к
серверным технологиям и в этой книге не рассматривается.) Что касается EFS, то это –
надстройка над NTFS, которая дополняет NTFS возможностями шифрования данных.
Файловые системы FAT
67
FAT (чаще всего в главе подразумевается FAT 16) представляет собой простую
файловую систему, разработанную для небольших дисков и простых структур каталогов.
Ее название происходит от названия метода, применяемого для организации файлов – таблица размещения файлов (File Allocation Table, FAT). Эта таблица размещается в начале
тома. В целях защиты тома на нем хранятся две копии FAT. В случае повреждения первой
копии FA дисковые утилиты (например, Scandisk) могут воспользоваться второй копией
для восстановления тома. Таблица размещения файлов и корневой ката лог должны располагаться по строго фиксированным адресам, чтобы файлы, необходимые для запуска
системы, были размещены корректно.
По принципу построения FAT похожа на оглавление книги, т.к. операционная система использует ее для поиска файла и определения кластеров, которые этот файл занимает на жестком диске. Изначально компания Microsoft разработала FAT для управления файлами на дискетах, и только затем приняла ее в качестве стандарта для управления
дисками в MS-DOS. Сначала, для дискет и небольших жестких дисков (менее 16 Мбайт)
использовалась 12-разрядная версия FAT (так называемая FAT12). В MS-DOS v. 3.1 была
введена 16-разрядная версия FAT для более крупных дисков. В Windows ХР система FAT
12 применяется только на гибких дисках и томах размером менее 16 Мбайт. Например,
все 3,5-дюймовые дискеты емкостью 1,44 Мбайт форматируются для FAT16, а все 5,25дюймовые - для FAT12.
В Windows NT/2000 FAT 16 может применяться точно так же, как и в MS-DOS,
Windows 3.1 и Windows 9x/ME. Поддержка этой файловой системы включена в Windows XP,
поскольку она совместима с большинством операционных систем других фирмпоставщиков программного обеспечения. Помимо этого, применение FAT16 обеспечивает
возможность обновления более ранних версий операционных систем семейства Windows.
Нельзя использовать Windows NT/2000/XP совместно с программными средствами,
осуществляющими разбиение диска на тома и сжатие дисков при помощи драйверов устройств, которые загружаются из MS-DOS. Например, ели требуется иметь доступ к разделу или логическому диску FAT, работая под управлением Windows NT/2000/XP, не следует
применять для них такие средства сжатия, как DoubleSpace (MS-DOS 6.0) или DriveSpace
(MS-DOS 6.22). Для сканирования и восстановления томов FAT, используемых Windows
NT/2000/XP рекомендуется ввести в командной строке команду Chkdsk. Эта программ;
объединяет функциональные возможности, присущие программам MS-DOS Chkdsk и
Scandisk, включая сканирование поверхности жесткого диска.
Файловая система FAT32
32-разрядная файловая система FAT32 появилась в Windows 95 OSR2 и поддерживается в Windows 98/ME и Windows 2000/XP. Она обеспечивает оптимальный доступ к
жестким дискам, повышая скорость и производительность всех операций ввода/вывода.
FAT32 представляет собой усовершенствованную версию FAT, предназначенную для использования на томах, объем которых превышает 2 Гбайт.
Для обеспечения максимальной совместимости с существующими прикладными
программами, сетями и драйверами устройств, FAT32 была реализована с минимумом
возможных изменений в архитектуре и внутренних структурах данных. Все утилиты Microsoft, предназначенные для работы с дисками (Format, Fdisk, Defrag и ScanDisk), были переработаны для обеспечения поддержки FAT32. Кроме того, Microsoft проводит большую
работу по поддержке ведущих фирм-производителей драйверов устройств и утилит для работы с диском, чтобы помочь и в обеспечении поддержки FAT32 в их продуктах. В табл. 3
представлены сравнительные характеристики FAT16 и FAT32.
Таблица 3 – Сравнение характеристик FAT16 и FAT32 в системах Windows XP
FAT16
FAT32
68
Поддерживается большинством операци- На текущий момент поддерживается только
онных систем, в числе которых MS-DOS, операционными системами Windows 98 (и
Windows 9л/МЕ, Windows NT, OS/2 и UNIX Windows 98 Second Edition), Windows 95
OSR2, Windows ME и Windows 2000/XP
Эффективна только на логических дисках, Не поддерживаются диски, размер которых
размер которых не превышает 256 Мбайт
менее 32 Мбайт
Поддерживает сжатие диска с помощью Не поддерживает сжатие диска
таких утилит, как Drvspace
Ограничена по размеру до 65 524 класте- Максимальный размер кластера - 32 Кбайт.
ров. Каждый кластер имеет фиксирован- Минимальное число в зависимости от разный размер в зависимости от размера ло- мера логического диска, кластеров в томе гического диска. Ограничения по количе- 65 527. Максимальный размер форматиству кластеров и их размеру (32 Кбайт) руемого диска - 32 Гбайт
приводят к общему ограничению по размеру диска (не более 2 Гбайт). Помимо
этого, FAT12/16 обычно имеет ограничения по количеству файлов и папок, которые могут содержаться в корневом каталоге (в зависимости от диска максимальное значение колеблется от 200 до 400)
Поскольку с увеличением размера диска Для дисков размером менее 8 Гбайт размер
размер кластера FAT16 увеличивается, хра- кластера - 4 Кбайт
нение файлов на таких дисках становится
неэффективным. Например, если файл размером 10 Кбайт хранится в кластере размером
32 Кбайт, то 22 Кбайт дискового пространства не используются
FAT32 обеспечивает следующие преимущества по сравнению с прежними реализациями FAT:
Поддержка дисков размером до 8 Тбайт. Следует, правда, отметить, что команда FORMAT, включенная в Windows XP, не позволяет форматировать для использования
FAT32 тома, размер которых превышает 32 Гбайт. Поэтому при форматировании томов
объемом более 32 Гбайт следует использовать файловую систему NTFS.
Более эффективное расходование дискового пространства. FAT32 использует более
мелкие кластеры, что позволяет повысить эффективность использования дискового пространства на 10-15% по сравнению с FAT.
Повышенная надежность и более быстрая загрузка программ. В отличие от FAT12
и FAT16, FAT32 обладает возможностью перемещать корневой каталог и использовать резервную копию FAT, если первая копия получила повреждения. Кроме того, загрузочный
сектор FAT32 был расширен по сравнению с FAT16 и содержит резервные копии
жизненно важных структур данных. Повышенная устойчивость FAT32 обусловлена
именно этими факторами.
Файловая система NTFS
Файловая система Windows NT (NTFS) обеспечивает такое сочетание производительности, надежности и эффективности, которого невозможно добиться с помощью любой из реализаций FAT (как FAT16, так и FAT32). Основными целями разработки NTFS
являлись обеспечение скоростного выполнения стандартных операций над файлами
(включая чтение, запись, поиск) и предоставление дополнительных возможностей (включая сжатие и восстановление поврежденной файловой системы на больших дисках).
69
NTFS обладает характеристиками защищенности, поддерживая контроль доступа
к данным и привилегии владельца, играющие исключительно важную роль в обеспечении
целостности жизненно важных конфиденциальных данных. Папки и файлы NTFS могут
иметь назначенные им права доступа (permissions) вне зависимости от того, являются
они общими или нет. NTFS – единственная файловая система в Windows 2000/XP, которая позволяет назначать права доступа к отдельным файлам. Однако, если файл будет
скопирован из раздела или тома NTFS в раздел или на том FAT, все права доступа и другие уникальные атрибуты, присущие NTFS, будут утрачены.
Форматирование тома для NTFS приводит к созданию нескольких системных
файлов и главной таблицы файлов (Master File Table, MFT). MFT содержит информацию
обо всех файлах и папках, имеющихся на томе NTFS.
NTFS – это объектно-ориентированная файловая система, которая обрабатывает все
файлы как объекты с атрибутами. Практически все объекты, существующие на томе, представляют собой файлы, а все что имеется в файле, представляет собой атрибуты - включая атрибуты данных, атрибуты системы безопасности, атрибуты имени файла. Каждый
занятый сектор на томе NTFS принадлежит какому-нибудь файлу. Частью файла являются даже метаданные файловой системы (информация, которая представляет собой описание самой файловой системы).
В Windows 2000 была введена новая версия NTFS – NTFS 5.0. Новые структуры
данных, появившиеся в составе этой реализации, позволяют использовать оригинальные
возможности Windows 2000, например, квоты на использование диска для каждого пользователя, шифрование файлов, отслеживание ссылок. Кроме того, добавлять дополнительное дисковое пространство к томам NTFS 5.0 можно без перезагрузки. Windows ХР не
предлагает принципиальных новшеств для этой файловой системы, однако некоторые
улучшения все же появились.
NTFS – наилучший выбор для работы с томами большого объема. При этом следует учесть, что если к системе предъявляются повышенные требования (к числу которых
относятся обеспечение безопасности и применение эффективного алгоритма сжатия), то
часть из них можно реализовать только с помощью NTFS. Поэтому в ряде случаев нужно
использовать NTFS даже на небольших томах.
Базовый режим хранения информации
Разделом является часть базового диска, функционирующая как физически автономная единица. Основной раздел (primary partition) зарезервирован да использования операционной системой. Каждый физический диск может: иметь до четырех основных разделов (или до трех, если создан дополнительный раздел). Дополнительный раздел (extended
partition) создается с использованием оставшегося свободного пространства диска и может быть также разделен на логические устройства. На каждом физическом диск может
быть только один дополнительный раздел.
В Windows XP с базовыми дисками возможны следующие операции:
создание основных разделов и дополнительного раздела (4 основных или 3 основных и дополнительных на каждом диске);
создание логических дисков (в дополнительном разделе);
расширение базового тома.
Динамический режим хранения информации
Динамический диск подразделяется на тома, а не на разделы. Том состоит одного
или нескольких физических дисков в одной из следующих конфигураций: простой том,
составной том, зеркальный том, чередующийся том и том RAID-5. Базовый диск в любой
момент может быть превращен в динамический диск без потери информации.
70
Динамические диски недоступны для компьютеров под управлением MS-DOS,
Windows 95, Windows 98, Windows ME, Windows NT 4.0 и Windows XP Home Edition.
Динамические диски не поддерживаются на портативных компьютерах.
Том – это единица хранения, состоящая из свободного пространства на одном или
нескольких дисках. Он может быть отформатирован средствами файловой системы с присвоением ему имени. Тома на динамических дисках могут иметь одну из нескольких
структур: простой, составной, зеркальный, чередующийся том и том RAID-5.
Простой том использует пространство одного диска. Это может быть один участок
на диске или несколько участков, соединенных друг с другом. Простой том может быть
расширен в пределах одного диска или на дополнительный диск. Если простой том распространен на несколько дисков, он становится составным томом. Простой том не обеспечивает отказоустойчивости.
Составной том состоит из связанного вместе пространства нескольких дисков (до
32 дисков). Он может быть распространен на дополнительные диски и не может принимать участие в зеркальных системах. Составные тома создаются, когда ни на одном жестком диске нет достаточного свободного пространства. Кроме того, создавая составные
тома, можно распределять нагрузку на дисковые системы. Составные тома не обеспечивают отказоустойчивости. Поскольку тома такого типа расположены на нескольких жестких дисках, возрастает вероятность их отказа, связанного с выходом из строя одного из
дисков.
Зеркальный том – это средство обеспечения отказоустойчивости, где данные дублируются на двух физических дисках. Все данные одного диска копируются на дополнительный диск, что обеспечивает возможность получения избыточности данных. Если
один из дисков отказывает, данные могут быть доступны на уцелевшем диске зеркала.
Зеркальный том не может быть расширен. Зеркало также известно как RAID-1.
Данные на чередующемся томе разбиваются при записи и помещаются на несколько
физических дисков, причем информация равномерно распределяется среди всех дисков,
входящих в состав такого тома. Такой подход удобен при необходимости быстрой записи
или считывании с физических дисков большого объема информации. Скорость работы с
дисковой системой увеличивается за счет распараллеливания потоков данных и одновременной записи или считывания информации с дисков тома. "Расщепление" информации
также полезно при балансировке нагрузки ввода/вывода в многопользовательских приложениях. Тома с чередованием записываемой информации не обеспечивают отказоустойчивость. Том такого типа не может входить в зеркальный набор и его нельзя расширить.
Чередование данных известно как RAID-0.
Том RAID-5 является средством обеспечения отказоустойчивости дисковой системы, поскольку данные тома расщепляются при записи на три или большее количество
дисков. Том RAID-5 обеспечивает избыточность информации, подсчитывая контрольную
сумму информации, расположенной на каждом диске. Контрольная сумма (вычисляемая
величина, которая может быть использована для восстановления данных в случае их разрушения) также расщепляется и записывается на все диски массива. Если отказывает один
из дисков массива, то информация, которая на нем находилась, может быть восстановлена с использованием данных работоспособных дисков и контрольной суммы. Том
RAID-5 не может входить в зеркальный набор и его нельзя расширить.
Свободное пространство – это неиспользованная и неформатированная часть жесткого
диска, которая может быть задействована при создании томов.
Системный том содержит файлы, жестко привязанные к оборудованию (Ntldr, Osloader.exe, Boot.ini, Ntdetect.com), необходимые для загрузки Windows XP.
Загрузочный том содержит файлы операционной системы Windows XP, расположенные в папках %SystemRoot% и %SystemRoot%\system32.
71
5.7 Стандартные программы Windows
Операционная система Windows имеет много стандартных приложений, которые
предназначены как для обеспечения удобства работы пользователя, так и для обслуживания операционной системы.
Все стандартные приложения можно условно разделить на шесть основных групп:
приложения, предназначенные для работы с документами различных типов;
системные утилиты, предназначенные для обслуживания и настройки компонентов системы Windows;
приложения, предназначенные для организации работы со средствами мультимедиа;
коммуникационные приложения, предназначенные для организации обмена информацией между компьютерами, которые соединены между собой непосредственно либо
с помощью модема;
вспомогательные приложения;
игры.
Для запуска любой из этих программ следует нажать кнопку ПУСК, выбрать команду меню ПРОГРАММЫСтандартные, а затем указать имя нужной программы.
В меню Стандартные имеется несколько подменю, в частности подменю Служебные, Связь, Развлечения, Игры. В подменю Служебные в основном находятся команды запуска утилит для работы с дисками. С помощью подменю Связь можно запустить программы, позволяющие осуществлять обмен данными с удаленным компьютером.
Подменю Развлечения и Игры служат соответственно для запуска различных мультимедийных и игровых программ.
Блокнот
Программа Блокнот – это достаточно простой текстовый редактор для работы с
небольшими файлами, как правило, в формате *.txt.
Блокнот предназначен для создания, редактирования и просмотра текстовых документов, не требующих форматирования и не превышающих по размеру 64 Кбайт. Блокнот
работает только с файлами в формате ASCII (Аббревиатура для American Standard Code
for Information Interchange). ASCII представляет собой формат файлов, которые не содержат форматирования текста, и поэтому являются переносимыми между различными операционными системами и программами.
Текстовый редактор Блокнот занимает мало оперативной памяти, и поэтому его
удобно использовать для ведения коротких записей, пометок, редактирования командных
файлов, а также для обмена фрагментами текста между отдельными приложениями с помощью буфера и для обмена сведениями между компьютерами.
Блокнот предоставляет ограниченные средства для оформления документа; например, в этой программе нельзя применять различные шрифты для отдельных частей текстового документа, но можно изменять тип шрифта, его размер и начертание целиком во
всем документе. В отличие от текстового редактора Word в программе Блокнот не происходит автоматического переноса слов в конец строки. Программу Блокнот удобно использовать для протоколирования записей с автоматическим указанием даты их создания. Для
этого в начало документа (в первую позицию первой строки) нужно ввести с клавиатуры
команду .LOG. После сохранения этого документа при каждом его последующем открытии в конце файла всегда будет автоматически проставляться текущая дата.
Если файл требует форматирования текста или превышает по размеру 64 Кбайт,
следует использовать WordPad.
WordPad
Программа WordPad – это относительно простой текстовый процессор. Текстовый
процессор WordPad имеет больше возможностей, чем редактор Блокнот.
72
Текстовые процессоры, кроме выполнения основных функций текстовых редакторов по созданию и редактированию текстовых документов, выполняют еще одну функцию
– форматирование документов.
Форматирование – обработка документов с применением нескольких шрифтовых
наборов, использованием методов выравнивания текста и т.д.
Программа WordPad поддерживает технологию вставки и внедрения объектов,
причем при обмене данными между приложениями WordPad может быть как сервером
(источником), так и клиентом (приемником).
Хотя WordPad заметно уступает более мощному текстовому процессору Word, он
может использоваться для создания документов, содержащих отформатированный текст,
вставленные с помощью буфера обмена графические фрагменты, электронные таблицы и
диаграммы, созданные в Excel.
Кроме того, WordPad позволяет разрабатывать презентации с элементами мультимедиа, включая подключение звука, показ слайдов и даже небольших видеофильмов.
Строка меню редактора WordPad содержит типичные пункты: ФАЙЛ, ПРАВКА,
ВИД, ВСТАВКА, ФОРМАТ, ?.
Важнейшие команды меню продублированы кнопками-пиктограммами на панелях
инструментов.
В отличие от текстового процессора Word в WordPad можно одновременно открыть только одно окно документа. Текстовый процессор WordPad является однооконным
приложением.
Калькулятор
Калькулятор Windows используется для выполнения сравнительно простых вычислений и работает почти так же, как обычный микрокалькулятор. Калькулятор Windows
имеет память для размещения промежуточных результатов вычислений.
В Windows имеется два варианта калькулятора: Обычный и Инженерный. Переключение между этими режимами осуществляется с помощью команд меню ВИД в окне
программы Калькулятор.
Обычный калькулятор выполняет в основном простые арифметические операции,
вычисляет проценты, извлекает квадратные корни.
Инженерный калькулятор, кроме этого, позволяет вычислять типовые математические функции и выполнять достаточно сложные, например статистические, расчеты.
Результаты вычислений калькулятора можно копировать в буфер обмена. Кроме
того, в строку табло калькулятора можно вставлять из буфера обмена числовые данные
для использования их в последующих вычислениях с помощью калькулятора.
Выполнять вычисления можно с помощью мыши, щелкая по соответствующим
кнопкам на панели калькулятора – цифрам, операторам и т.п., или с помощью клавиатуры,
нажимая на клавиши, которые совпадают с изображенными на экране кнопками калькулятора.
Подробную справку обо всех функциях обычного и инженерного калькуляторов
можно получить с помощью пункта “?” в строке горизонтального меню окна калькулятора.
Графический редактор Paint
Программа Paint –простой графический редактор, который позволяет создавать и
редактировать рисунки, схемы, чертежи, диаграммы, надписи, вставлять и редактировать
готовые объекты, созданные в других приложениях. Объекты, созданные в Paint, можно
сохранять в виде обоев Рабочего стола.
Программа Paint является редактором растрового типа: графическое изображение
в нем строится из отдельных точек – пикселей.
Кроме растровых редакторов, для создания графических объектов используются
также графические редакторы векторного типа. Векторные изображения существуют в
73
виде набора математических формул (графических примитивов), которые описывают отдельные элементы рисунка.
Векторная графика легко масштабируется без потери качества изображения, тогда
как при увеличении растрового рисунка его очертания могут принять грубый ступенчатый
характер из-за увеличения размеров составляющих его точек.
К редакторам векторного типа относится графический редактор CorelDraw. Некоторые программы, например Adobe Photoshop, при обработке изображений позволяют
комбинировать растровые и векторные методы.
Главное меню программы Paint содержит следующие пункты: ФАЙЛ, ПРАВКА,
ВИД, РИСУНОК, ПАРАМЕТРЫ и СПРАВКА.
В самом низу окна в Строке состояния выдаются подсказки о назначении выбранного инструмента или команды, текущие координаты курсора, а также размеры текстового поля или выделяемого фрагмента (в пикселях).
Процесс рисования в программе Paint осуществляется с помощью специального
Набора инструментов и цветовой Палитры.
При необходимости Набор инструментов, Палитру и Строку состояния можно убрать с экрана снятием переключателей у соответствующих команд меню ВИД.
При создании рисунка в программе Paint указатель мыши изменяет свою форму в
зависимости от выбранного инструмента и характера выполняемой операции, принимая
вид карандаша, пипетки, лупы, распылителя, квадрата, перекрестия, двойной стрелки и т.
п.
Выбор инструмента и цвета символа осуществляется щелчком левой кнопки
мыши. Для выбора цвета фона и окраски цветом фона используется правая кнопка мыши.
Рисование правильных фигур осуществляется при нажатой клавише Shift.
При выборе некоторых инструментов в нижней части панели инструментов появляются дополнительные панели Варианты использования (табло с альтернативами).
Панель Варианты использования для каждого инструмента выглядит по-разному
и позволяет установить:
Ширину линии;
Размер ластика. Для выбора простого ластика следует нажимать левую кнопку мыши,
а цветного ластика – правую кнопку;
Форму кисти;
Размер “мазка” распылителя;
Тип заполнения фигуры цветом (полная фигура с контуром, фигура, заполненная цветом с контуром и без контура);
Тип фона (прозрачный или непрозрачный);
Масштаб – обычный, с увеличением в 2, 6 и 8 раз для детальной проработки рисунка
(по точкам).
Для детальной проработки рисунка по точкам (пикселям) можно использовать также команды меню ВИДМасштабКрупный, Выбрать, Показать сетку.
Приступая к созданию документа в графическом редакторе Paint, нужно в самом
начале работы установить необходимый размер поля для рисования (с помощью команды
меню РисунокАтрибуты). Это связано с тем, что при уменьшении размеров поля рисунок может быть обрезан и утраченная часть не может быть восстановлена даже при последующем увеличении размера поля.
В самом верху панели инструментов находятся две кнопки, с помощью которых в
рисунке можно выделять прямоугольные или произвольные области, обводя их линией
при нажатой левой кнопке мыши.
Как и в любом другом приложении Windows, выделенные фрагменты можно вырезать или копировать в буфер обмена, перемещать и копировать в пределах рабочего поля,
изменять его размеры (мышью или с помощью соответствующих команд меню Рисунок).
74
Изменение размеров фрагмента внутри границ рисунка с помощью мыши осуществляется перетаскиванием маркеров, которые появляются по углам и на сторонах рамки,
ограничивающей объект, после его выделения.
Перемещение выделенных объектов внутри документа производится перетаскиванием их с помощью мыши при нажатой левой кнопке (методом “Drag-and-Drop”).
Копирование выделенных фрагментов в пределах рабочего поля производится перетаскиванием их с помощью мыши при одновременно нажа
Работа с дисками и томами
Данный раздел содержит сведения об диалоговых средствах, позволяющих управлять дисковыми ресурсами систем Windows XP и обслуживать их. В Windows XP для
управления дисками и файловыми системами можно также использовать новые утилиты
командной строки - DiskPart.exe и Fsu-til.exe, соответственно. Кроме того, имеется утилита
Defrag.exe для дефраг-ментации дисков. Эти утилиты в книге рассматриваться не будут,
информацию о них легко можно получить в справочной системе.
Оснастка Управление дисками
Оснастка Управление дисками (Disk Management), появившаяся в Windows
2000 и выполняющая те же функции, что и утилита Администратор дисков (Disk Administrator) в Windows NT, позволяет управлять локальными дисками. В данном окне обратите внимание на цветовые выделения разделов и логических дисков. Темно-синим помечаются основные разделы (SYSTEM DISK, С:). Синим обозначены логические диски (с
D: по Н:). Свободное пространство (free space) на диске имеет ярко-зеленый цвет.
Все логические диски, как и свободное пространство, в этом примере располагаются в дополнительном (extended) разделе; они обведены рамкой зеленого цвета. Оснастка
Управление дисками (Disk Management) обладает следующими средствами:
Поддержка разделов и логических дисков Windows NT 4.0 и томов дисковых систем Windows 2000/XP. Применяя подход, предполагающий создание томов, вы избавитесь от ограничений, связанных с количеством основных разделов на одном диске
(равное 4).
Управление дисковой системой в реальном времени. Административные функции могут быть выполнены без отключения сервера и прерывания работы пользователей. Например, вы можете создать, расширить том или установить его зеркальное отображение
без перезагрузки системы. Большинство выполняемых при конфигурации дисковой системы изменений начинает действовать незамедлительно.
Удаленное и локальное управление дисковой системой. Вы можете управлять любым
удаленным компьютером, на котором работает Windows NT 4.0 или Windows 2000/XP,
где вы являетесь администратором.
Понятный и простой в работе интерфейс пользователя. С помощью контекстных
меню
вы
всегда
можете
узнать,
какие
задачи
может
выполнить
оснастка в отношении некоторого объекта.
Для запуска оснастки Управление дисками (Disk Management) необходимо: обладать правами администратора.
В общем случае, работая при помощи оснастки Управление дисками (Disk Management) с динамическими дисками, можно выполнять следующие функции:
создавать и удалять простые (simple), составные (spanned), чередующиеся
(stripped), зеркальные (mirrored) тома, а также тома RAID-5 (RAID-5 volume);
отформатировать тома для файловой системы FAT или NTFS;
расширять том на дополнительные диски;
восстанавливать зеркальные тома и тома RAID-5; П повторно инициализировать
отключенный диск;
изменять динамический режим хранения на базовый.
75
Работая с помощью оснастки Управление дисками (Disk Management) с базовыми
томами, можно выполнять следующие функции:
создавать и удалять основной (primary) и дополнительный (extended) разделы;
создавать и удалять логические устройства внутри дополнительного раздела;
форматировать разделы, присваивать им метки, а также помечать раздел как активные;
инициализировать диски;
изменять базовый режим хранения на динамический.
Таким образом, работая с оснасткой Управление дисками (Disk Management),
можно использовать ее средства, ориентированные на управление динамическими томами, и одновременно осуществлять поддержку и управление дисками, созданными до появления Windows XP.
Для базовых и динамических дисков можно:
контролировать информацию о дисках, такую как объем, доступное свободное
пространство и текущий статус;
просматривать свойства томов и разделов;
устанавливать и изменять назначение имен томам жестких дисков или разделам, а также устройствам CD-ROM;
устанавливать и проверять назначения общего доступа к тому или разделу.
Оснастку Управление дисками (Disk Management) можно использовать как автономную оснастку или в составе основного инструмента администрирования Windows XP - оснастки Управление компьютером (Computer Management). В первом случае при подключении оснастки к консоли управления можно в диалоговом окне Выбор компьютера
(Choose Target Machine) выбрать положение переключателя Локальный компьютер (Local Computer), если вы хотите управлять локальным компьютером, либо положение Другой
компьютер (Another Computer), если вы хотите управлять другим компьютером сети. В последнем случае в окне ввода следует указать имя компьютера (либо найти его, нажав
кнопку Обзор (Browser).,
Дефрагментация дисков
Операционная система не всегда располагает информацию файлов и папок в одном непрерывном пространстве. Фрагменты данных могут находиться в различных кластерах жесткого диска. В результате при удалении файлов освобождающееся дисковое
пространство также становится фрагментированным. (Не следует думать, что при использовании системы NTFS проблема фрагментации файлов исчезает!) Чем выше степень
фрагментации жесткого диска, тем ниже производительность при выполнении операций
чтения или записи на диск.
Для решения этой проблемы в состав операционной системы Windows XP включена оснастка Дефрагментация диска (Disk Defragmenter)
Windows XP располагает утилитой дефрагментации Defrag.exe, запускаемой из командной строки. Параметры команды можно получить, введя строку defrag. Наконец-то администраторы получили возможность запускать дефрагментацию дисков по расписанию.
В процессе дефрагментации кластеры диска организуются таким образом, чтобы
файлы, папки и свободное пространство по возможности располагались непрерывно. В
результате значительно повышается производительность файловой системы, поскольку
сокращается количество операций ввода/вывода, необходимое для чтения определенного
объема информации. Следует отметить, что при дефрагментации свободное пространство
не объединяется в одну непрерывную область, а располагается в нескольких областях. Это
значительно сокращает время выполнения дефрагментации и практически не уменьшает
производительность файловой системы, получаемую после дефрагментации.
Поскольку операционная система Windows XP резервирует в начале жесткого
диска пространство для системных файлов, оснастка Дефрагментация диска (Disk De76
fragmenter) не помещает файлы в зарезервированную область диска, а переносит их за ее
пределы.
Оснастка Дефрагментация диска (Disk Defragmenter) работает с томами жесткого диска, отформатированными для файловых систем FAT, FAT32 и NTFS. Она осуществляет выполнение двух отдельных операций анализ и дефрагментацию. В процессе
анализа на томе жесткого диска не выполняются никакие изменения. Все необходимые
перемещения информации изводятся при дефрагментации. В определенный момент времени дефрагментации может быть подвергнут только один том. В Windows XP улучшены
возможности дефрагментации томов NTFS:
можно работать с томами, имеющими кластеры любого размера (в Windows
2000 кластеры не должны превышать 4 Кбайт);
обрабатываются файлы, занимающие любое количество кластеров;
возможна дефрагментация Master File Table (MFT, главная таблица файлов).
5.8 Обмен данными (OLE)
Обмен данными (OLE)
OLE – способ обмена и совместного использования данных приложениями посредством вставки объекта, созданного одним приложением, в документ, созданный другим
приложением, такой как электронная таблица или файл текстового процессора.
Исходный документ – документ, в котором был создан связанный или внедренный объект.
Упакованный объект - значок, представляющий внедренный или связанный объект. Эти данные могут состоять как из документа целиком (например, точечного рисунка),
так и его части (например, диапазона ячеек Excel). Когда пользователь выбирает упакованный объект, приложение, в котором был создан объект, либо воспроизводит объект
(например, файл звукозаписи) или открывает объект и отображает его на экране. При изменении исходных данных автоматически обновляются связанные данные. Внедренные
данные необходимо обновлять вручную.
Внедренный объект - представление вставленных в документ данных, созданных
в другом приложении. Механизм внедрения позволяет изменять внедренные данные с помощью меню и панелей инструментов программы, в которой они были созданы.
Чтобы изменить внедренные данные, укажите на них и дважды нажмите кнопку
мыши. На экране появятся меню и панели инструментов программы, в которой они были
созданы. При внедрении данных из одного документа в другой связь между документами
не устанавливается. Это означает, что изменения данных в исходном документе не отображаются автоматически в новом документе.
Связанный объект – объект, вставленный в документ, но остающийся в исходном
файле. Связанные данные автоматически обновляются при их изменении в исходном документе. Если требуется изменить связанные данные, дважды щелкните их. На экране
появятся меню и панели инструментов программы, в которой эти данные были созданы.
Если оба документа находятся на одном компьютере, то изменения, вносимые в связанные
данные, будут также отражаться в исходном документе.
5.9 Работа с диалоговыми окнами MS Windows
Диалоговые окна, как и меню, являются важнейшим элементом интерфейса операционной системы и любой программы (приложения).
Диалоговое окно – окно, появляющееся на экране при вводе команды, выполнение
которой требует указания дополнительных сведений. С помощью диалогового окна пользователь вводит данные, необходимые для дальнейшей работы программы.
Название диалогового окна обычно совпадает с названием команды, которая его
открывает. Диалоговое окно можно перемещать по экрану обычным способом, но менять
его размеры нельзя.
77
Диалоговые окна, как и другие окна Windows, содержат строку заголовка, иногда –
строку меню, кнопки, полосы прокрутки, а также элементы, характерные только для диалоговых окон. Графические элементы диалогового окна (флажки, командные кнопки, поля
ввода и т.п.) называют элементами управления.
Многие диалоговые окна содержат вкладки (карточки) – «страницы», на которых
можно изменять значения различных настроек.
Вкладки (карточки) характерны для диалоговых окон с несколькими функциями.
Щелкнув мышью по такой вкладке (корешку карточки), можно открыть (активизировать)
спрятанное под ней подокно.
Демонстрационное подокно служит для наглядного отображения результатов выбора.
Элементы управления в диалоговых окнах:
командные кнопки, при вводе которых (щелчком мыши или с помощью клавиатуры) сразу же выполняется соответствующая команда;
поля ввода (текстовые поля);
счетчики;
списки;
кнопки выбора (радиокнопки)
переключатели (флажки);
ползунки.
В диалоговых окнах могут встречаться следующие командные кнопки:
ОК – Ввод или Enter;
Отмена (Cancel) или Esc;
По умолчанию (Default);
Применить (Applay) и др.
Текстовое поле или поле редактирования – место для ввода текстовой информации. Это может быть дата, имя файла (при открытии, поиске или сохранении файла), параметры страницы и т.п. Для того чтобы в текстовое поле ввести информацию, необходимо сделать по нему щелчок мышью, после чего в поле появится мигающая вертикальная
черта – текстовый курсор, показывающий место для ввода символов.
Существуют комбинированные поля ввода, которые имеют список и полосу прокрутки или числовые значения, которые можно менять с определенным шагом.
Счетчики представляют собой пару стрелок, которые позволяют увеличивать или
уменьшать значения в связанном с ними текстовом поле
.
Наличие стрелок рядом с текстовым полем совсем не означает, что в это поле нельзя ввести нужное значение обычным способом (с помощью клавиатуры).
Список – перечень объектов для выбора. Выбор из списка осуществляется щелчком мыши по нужному элементу. В большинстве списков можно выбрать только одно
значение, однако некоторые списки позволяют отметить два значения и более. В этом
случае выбор из списка нужно делать при нажатой клавише Ctrl.
Раскрывающийся список выглядит как текстовое поле, снабженное кнопкой с направленной вниз стрелкой
. Для раскрытия списка нужно щелкнуть по находящейся
справа кнопке со стрелкой. Используя клавиши управления курсором , можно перемещаться по элементам раскрывающегося списка.
Поля выбора (радиокнопки) служат для выбора одного из взаимоисключающих вариантов. Обычно переключатели обозначаются кружками, Переключение режимов осуществляется щелчком мыши. При этом в кружке активизированного переключателя появляется точка .
Переключатели (флажки) могут располагаться как группами, так и отдельно,
причем каждый параметр является независимым. Их можно выбрать как несколько, так и
ни одного. Флажки обозначаются квадратиками , стоящими рядом с названием режима,
78
функции или параметра. Для того чтобы установить (выбрать) флажок, необходимо щелкнуть по его квадратику или по стоящей рядом текстовой строке. Чтобы сбросить флажок
(отменить выбор), нужно сделать повторный щелчок. Когда флажок установлен, в квадратике стоит крестик или «галочка» .
Ползунки используются в некоторых диалоговых окнах для увеличения или
уменьшения параметров
.
После открытия диалогового окна в окне программы (приложения) дальнейшая работа может идти по-разному:
открытое диалоговое окно заблокирует (остановит) работу в окне приложения;
в окне приложения можно производить работу и при открытом диалоговом окне.
В соответствии с этим диалоговые окна подразделяются на два типа:
модальные:
немодальные.
Модальные диалоговые окна блокируют работу приложения. Для того чтобы вернуться в окно приложения (документа) и продолжить работу, нужно завершить все операции с таким окном и закрыть его. Наличие кнопки ОК является признаком модального
окна. Примерами модальных диалоговых окон могут служить окна Открытие документа,
Печать, Сохранение документа и др.
Немодальные диалоговые окна (например, Символ, Найти и Заменить, Перейти
и др.) не останавливают работу приложения. Можно, не закрывая окна, переходить в окно
приложения (документа), работать с ним, а затем возвращаться в диалоговое окно. В немодальных окнах кнопка ОК, как правило, отсутствует, зато для их закрытия имеется
кнопка Отмена или кнопка Закрыть. Переключаться в документ и обратно можно щелчком мыши.
6 Методы защиты информации
Изучение систем безопасности включает три аспекта:
спецификация/политика;
реализация/механизм
корректность/гарантия.
Описать свои требования к информационной безопасности можно в рамках следующих четырех категорий: секретность - регулирование доступа к данным по чтению;
целостность - регулирование изменений используемых ресурсов; готовность - обеспечение быстрого доступа к ресурсам; идентифицируемость - обеспечение данных о том,
кто имел доступ к ресурсам.
Наиболее важные опасности таковы: повреждение информации (целостность);
разрушение сервиса (готовность); кража денег (целостность); кража информации (секретность); утрата конфиденциальности (секретность).
Выделяется пять стратегий защиты.
Изолировать - никого не допускать. Обеспечивает наилучшую защиту, но не дает
возможности совместного использования информации и услуг. Годится лишь для небольшой части приложений.
Исключать - не допускать потенциальных злоумышленников. Все права имеются
у программ, которые входят в сферу доверия системы защиты. На этом подходе основаны
системы цифровой подписи и межсетевые экраны.
Ограничивать - допустить доступ потенциальных злоумышленников, но не дать
им возможности наносить вред. Эту стратегию обычно называют «стратегией песочницы»
(sandboxing): при доступе программы из песочницы к ресурсам осуществляется специальный контроль, гарантирующий отсутствие «дыр в ограде».
Восстанавливать - ликвидировать последствия злоумышленного поведения.
Примерами являются системы резервного копирования и точки восстановления. Страте79
гия не помогает по части секретности, но приносит пользу при поддержке целостности и
готовности.
Наказывать - ловить злоумышленников и преследовать их в судебном порядке.
Для этого служат аудит и полиция.
Имеются две модели, на которых можно основывать эти стратегии - модель контроля доступа (access control model) и модель контроля потока информации
(information-flow control model), предложенная Дороти Деннинг и развитая в конце 90-х
Барбарой Лисков. В обеих моделях реализация безопасности основывается на трех механизмах, которые принято называть «золотым стандартом», поскольку все они начинаются
с Au:
Аутентификация принципала (authenticating principal) - определяет личность того, кто делает запрос. Обычно принципалами являются люди, но они могут быть и группами, каналами или программами.
Авторизация доступа (authorizing access) определяет, кому и какие операции над
объектом доверено выполнять.
Аудит защитных решений (auditing guard’s decisions) позволяет впоследствии определить, что и почему произошло.
6.1 Безопасность данных
Защита данных от несанкционированного доступа состоит из нескольких ступеней:
- авторизация пользователя;
- идентификация системы;
- шифрование данных;
- защита каналов передачи данных.
В большинстве случаев для обычного пользователя достаточно грамотно использовать обычные методы авторизации, чтобы надежно защитить свою информацию. Пароли
на включение и жесткий диск, также пароль на ОС - это все, что нужно, чтобы посторонний человек не смог воспользоваться вашим ПК. (Правильный пароль должен иметь длину не меньше определенного числа символов и состоять из букв разных регистров, цифр и
других знаков.)
80
При защите корпоративной информации гарантии безопасности должны быть более высокими. Здесь используются более сложные и надежные системы идентификации,
и, следовательно, более дорогие: смарт-карты, USB-ключи, биометрические сенсоры
(например, считыватели отпечатков пальцев).Смарт-карта или USB-ключ - это предмет,
который должен быть с вами всякий раз, когда вы пользуетесь ПК. При таких методах защиты возникает проблема хранения и потери ключа, а также необходимость наличия и
хранения дубликата.
Биометрические сенсоры. За последнее время появилось очень много моделей
устройств к ПК со считывателями отпечатков пальцев. По большей части это корпоративные модели таких брендов, как IBM, HP/Compaq, Toshiba, Fujitsu и т.д. В случае использования биометрической идентификации появляются дополнительные преимущества - отпечаток пальца невозможно украсть и очень сложно подделать, кроме того, он всегда с вами.
К одной из наиболее важных характеристик подобных систем, основанных на
идентификации биометрических данных, относится вероятность ложного срабатывания
(используется также термин False Match Rate - кол-во фальшивых распознаваний эта характеристика оценивается цифрой порядка 0,0001%). Также существует такой параметр,
Безопасность
данных
Защита данных от
несанкционированного доступа
Резервное копирование и
восстановление системы
Идентификация и авторизация пользователей
Идентификация системы
Защита каналов передачи
данных
Шифрование данных
Резервное копирование
Безопасное хранение резервной копии
Восстановление данных
Рисунок 1 – Основные способы обеспечение безопасности данных
как False Reject Rate - вероятность того, что устройство не распознает ваш отпечаток. Для
предотвращения такой проблемы можно понизить порог чувствительности сенсора, но
этим самым снижается и безопасность.
За последние несколько лет произошел серьезный скачок в развитии биометрических сенсоров и их миниатюризации. Очевидно, что производители подобных устройств
активно ищут новые рыночные ниши, предлагая эти устройства на рынок ноутбуков, сотовых телефонов, КПК и другой техники.
Одним из важнейших вопросов является хранение паролей и идентификационной информации на компьютере. В обычной системе пароли в зашифрованном виде хра81
нятся на жестком диске пользователя. Однако наиболее безопасным является способ независимого аппаратного хранения этих данных и по проведению операций над ними, так
чтобы доступ средствами ПК к ним был невозможен. Идентификация пользователя должна выполняться до загрузки ОС.
В ПК в последнее время активно внедряются так называемые TPM-модули
(Trusted Platform Module). Разработкой этой концепции занимается международная организация Trusted Computing Group, объединяющая такие компании, как Microsoft,
Toshiba, HP, IBM, Intel, AMD и др.
В связи с принятием в США закона DMCA о защите авторских прав, компанииразработчики и компании-правообладатели стали продвигать идею "хардварного" контроля за соблюдением прав пользования цифровым контентом и ПО. Таким образом, основная идея использования TPM-модуля состояла в аппаратной криптографической защите
цифрового компонента и проверке ваших прав на его воспроизведение. Иными словами, в
установке контроля над вашей машиной со стороны соответствующего владельца копирайта. Эта инициатива встретила решительный отпор со стороны общественных организаций; позже к ней было привлечено внимание государственных структур. В 2003 году
деятельность этой группы изучала комиссия Евросоюза, и сейчас основной упор в предназначении TPM-модуля перенесен на обеспечение безопасности данных пользователя.
ТPM-модуль представляет собой микросхему, установленную на материнскую плату ноутбука или компьютера (см. рисунок 2).
Рисунок 2 – Структура ТРМ модуля
В TPM-модуле могут храниться ваши пароли, цифровые сертификаты и ключи, с
его помощью можно шифровать отдельные папки и файлы, а также можно создать логический зашифрованный диск размером до 2 Гб. Основные производители этих устройств это компании Infineon, National semiconductor, Broadcom, Atmel. Фирма Microsoft, один из
членов Trusted Computing Group, заявила о поддержке TPM-модулей в будущих версиях
Windows.
На данный момент есть мнение, что целесообразность использования TPMмодулей несколько сомнительна: на деле шифрование данных пользователя происходит
программным способом, обращение к TPM-модулю также осуществляется программно.
Все, что это устройство пока может - это хранить криптографические ключи в зашифрованном виде.
Следующий метод обеспечения безопасности данных - шифрование. Если информация строго конфиденциальна, то шифрование не позволит злоумышленнику воспользоваться хранящимися данными.
Шифрование данных относится к методам профессиональной защиты информации. Однако вместе с увеличением уровня безопасности данных, которое оно дает, шиф82
рование имеет ряд недостатков.
К недостаткам шифрования данных можно отнести то, что оно использует системные ресурсы и место на накопителях, увеличивает вероятность потери данных, а также
ставит проблему хранения ключа (как программного, так и в виде USB-брелка или смарткарты).
Для обычного пользователя имеет смысл применять шифрование только в частных
случаях, например, при пересылке корреспонденции по электронной почте.
Одна из обязательных операций, которые должен проводить любой пользователь
ПК это резервное копирование данных или "бэкап". Это средство максимально эффективно позволяет избежать безвозвратной потери данных, как в случае утери или кражи
ноутбука, так и в случае его повреждения. Термин "бэкап" является калькой с английского
"back up", дословно "запас".
В зависимости от интенсивности накопления данных, требующих "бэкапа", следует
установить периодичность процедуры. Проводить "бэкап" следует только на другой носитель, а возможность восстановления данных со скрытого раздела на жестком диске в значительной степени уменьшает полезный эффект от этой процедуры и исключает ее наиболее важную возможность - восстановление данных при потере/краже ПК или его окончательной поломке.
Обычному пользователю стоит потратить некоторое время на изучение процедуры
бэкапа и настроить ее под себя: выбрать файлы или каталоги, которые должны регулярно
сохраняться (если вместо этого каждый раз "бэкапить" весь жесткий диск, это займет
слишком много времени и ресурсов) и установить периодичность этой процедуры, например, один раз в три дня, и делать полный архив жесткого диска раз в месяц.
Стоит также учитывать, что данные бэкапа необходимо хранить с той же степенью
безопасности, что и основные, чтобы злоумышленник не смог получить к ним доступ.
6.2 Сетевая безопасность
Подавляющее большинство персональных компьютеров и ноутбуков в настоящее
время подключены к локальным сетям (как проводным, так и беспроводным). Также зачастую они используются для выхода в Интернет. Основные средства защиты ПК при работе в сетях и Интернете:
- сетевые экраны firewall;
- VPN - виртуальные защищенные сетевые соединения;
- Network Intrusion Prevention – системы обнаружения вторжения;
- антивирусы;
- АntiSpyWare;
- антиспам;
- использование шифрования при WiFi соединениях;
- Интернет эксплоер и переключение между профилями;
Рассмотрим эти пункты более подробно.
Сегодняшние средства защиты безопасности имеют слоистую природу, защищая
как Internet в целом, так и индивидуальные компьютеры. Важнейшими являются сканеры
вирусов, устанавливаемые на персональных компьютерах, серверах, прокси-серверах и
шлюзах и обеспечивающие защиту от многих известных вирусов. Для обеспечения эффективной защиты требуется постоянное обновление баз данных определений вирусов,
причем некоторые исследователи утверждают, что для проведения единообразной политики безопасности следует переместить ближе к Internet-провайдерам решения обеспечения безопасности, а для этого требуются технологии, обеспечивающие защиту «на лету»,
со скоростью работы Internet.
В состав применяемых средств защиты входят сетевые экраны, инспектирующие
сетевые пакеты на основе списков контроля доступа (access control list, ACL). Такие списки позволяют осуществлять простую фильтрацию пакетов на основе номеров портов или
83
IP-адресов. Сетевые экраны, сохраняющие информацию о соединениях и сессиях, обеспечивают более строгую проверку, в особенности, на стадии установления соединений. Системы выявления вторжений (intrusion detection system, IDS) опознают предпринимаемые атаки на основе базы данных сигнатур распространенных атак. Активные системы такого рода часто называют системами предотвращения вторжений (intrusion
prevention system, IPS); они понимают протоколы и обеспечивают повторную сборку, очистку и нормализацию пакетов без прерывания соединений. Сетевые экраны и IPS производят глубокое зондирование сетевых пакетов, устраняя известные угрозы; их часто используют в связке с технологиями виртуальных частных сетей (virtual private network,
VPN). Для каждого соединения между сайтами или пользователями в VPN обеспечивается
аутентификация и шифрование. С учетом предсказываемого увеличения скорости передачи данных в Internet с 10 Гбит/с до терабит в секунду и взрывного роста электронной коммерции, эксперты в области безопасности должны произвести переоценку текущих решений - от шифрования до доверительных связей.
"Антиспамы". При работе с электронной почтой можно использовать специальные фильтры, или "антиспамы". При этом стоит помнить, что подобные программы всегда
имеют определенный процент ложных срабатываний - среди отфильтрованных писем может оказаться важное сообщение. Кроме того, антиспамы могут блокировать всплывающие окна в браузере, не пропускать рекламные баннеры и т.д.
Антивирус. Наличие любого, даже работающего "на автомате", антивируса дает
положительный результат, при учете, что антивирусные базы регулярно обновляются.
Беспроводные соединения. Для WLAN-сетей очень актуальны вопросы безопасности и защиты передаваемых данных, так как для их перехвата в общем случае достаточно
просто оказаться в зоне действия сети. Защитить беспроводную сеть от утечки информации можно только с помощью шифрования.
Изначально стандарт 802.11 предусматривал аппаратный протокол шифрования
данных WEP (Wired Equivalent Privacy - защищенность, эквивалентная беспроводным сетям), основанный на алгоритме шифрования RC4. Однако в скором времени было обнаружено, что защищенную с его помощью сеть довольно легко взломать. Основная слабость данной технологии заключалась в статичности ключа шифрования, поэтому даже
увеличение длины ключа (64, 128 или 256 битное) не решало проблему.
На смену WEP пришла новая технология WPA (Wi-Fi Protected Access), главной
особенностью которой является шифрование данных с динамическими изменяемыми
ключами. Однако и она подвержена взломам. На сегодняшний день самыми надежными
считаются устройства, поддерживающие стандарт 802.11i (WPA2) - их пока взломать не
удалось.
Таблица 1 – Современные средства для обеспечения безопасности данных
Физический уровень безопасности (для портативных ПК)
Трос безопасности для ноутбука с замком и обычным ключем
< $20
Трос безопасности для ноутбука с цифровым замком 3 разряда ~ $20-$60
Трос безопасности с цифровым замком 4 разряда ~ $30-$90
Замки
Шнур безопасности для двух устройств ~ $100-$120
Соленоидный замок ~ $55
Цена зависит от производителя (замки Kensington дороже!),
материла кабеля, длины троса, сложности запирающего
устройства, его размеров и некоторых других характериск.
Датчики
движения, Система защиты от краж со встроенной сигнализацией (сочезамки с сигнализаци- тает замок и звуковое оповещение от безопасности) ~ $50-$60
84
Датчик движения, подающий звуковой сигнал при попытке
сдвинуть компьютер с места или при приближении к ноутбуку на определенное состояние $50-$90
Фирменные сумки производителей редко стоят менее $50.
Стоимость нефирменной сумки - от $30 (нейлон, маленькая
Сумки
матрица) до $300 (кожа) и дороже.
Защита данных
Система ограничения доступа к компьютеру по отпечаткам
Биометрические сиспальцев ~ $120-$195
темы защиты данных
Устройство доступа, сканирующее сетчатку глаза ~ $150
Адаптер для устройства чтения смарт-карт ~ $10-$20
Доступ с помощью
Устройство для считывания карт Smart Card ~ $150-$550
смарт-карт
Упаковка смарт-карт - от $30
Система защиты конфиденциальной информации при помощи
Доступ с помощью
секретных дисков, защищенных паролем и кодом, хранящимсекретных дисков
ся на электронном USB-ключе ~ $155
Радио ключи для блоРадио ключ для доступа к системе ~ $20-$40
кирования
1 диск CD-RW ~ 10р.
Болванки для "бека1 диск DVD-RW ~20р.
па"
внешний USB-винчестер от $100
Защита при доступе в сеть
Программы можно скачать бесплатно или купить на "пиратском" диске, но такая версия прослужит недолго.
Персональная версия антивируса Касперского стоит ~ $40
Антивирус Касперского Personal Pro (защита класса "Премиум" для продвинутых пользователей) ~ $70
Kaspersky Personal Security Suite (анонсируется как защита от
вирусов, хакеров и спама для домашних пользователей) ~ $90
Kaspersky Anti-Spam Enterprise Edition (спам-фильтр для корАнтивирусные паке- поративных почтовых серверов) ~ $110
Norton AntiVirus 2005 ~ $55-$115 (3 пользователя)
ты, анти-спам
Norton Internet Security 2005 ~ $70-$155 (3 пользователя)
Symantec Antivirus 9.0 SmallBusiness ~ $395-$1825 (5-25 пользователей)
Norton AntiSpam 2005 ~ $35
Norton™ Password Manager (безопасность и управление паролями) ~ $45
Решения для корпоративных пользователей по обеспечению
безопасности работы с сетью стоят единицы тысяч долларов.
Norton Personal Firewall 2005 ~ $55
Можно пользоваться бесплатным Firewall или встроенным в
Firewall
Windows XP.
ей
6.3 Средства защиты информации Windows XP
Встроенные средства защиты информации Windows XP базируются на разграничении доступа к дисковым ресурсам, создании учетной записи пользователя, создании надежных паролей и др.
Учетная запись пользователя определяет, какие действия пользователь может
производить в Windows. На автономном компьютере или на компьютере, входящем в рабочую группу, учетная запись пользователя устанавливает полномочия каждого пользова85
теля. На компьютере, являющимся частью сетевого домена пользователь должен входить
по крайней мере в одну группу. Разрешения и права, предоставленные группе, распространяются и на ее членов.
Учетная запись администратора компьютера предназначена для тех, кто может
вносить изменения на уровне системы, устанавливать программы и иметь доступ ко всем
файлам на компьютере. Пользователь с учетной записью администратора компьютера
имеет полный доступ к другим учетным записям пользователей на компьютере. Пользователь с учетной записью администратора компьютера:
может создавать и удалять учетные записи пользователей на компьютере;
может создавать пароли для других пользователей на компьютере;
может изменять в учетной записи имена пользователей, рисунки, пароли и типы
учетных записей;
не может изменить тип своей учетной записи на ограниченную в случае, когда на
компьютере больше нет пользователей с учетной записью администратора компьютера. Таким образом обеспечивается наличие на компьютере по крайней мере
одного пользователя с учетной записью администратора.
Учетная запись с ограниченными правами предназначается для пользователей,
которым должно быть запрещено, изменять большинство настроек компьютера и удалять
важные файлы. Пользователь с учетной записью с ограниченными правами:
не может устанавливать программы и оборудование, но имеет доступ к уже установленным на компьютере программам;
может изменять собственный рисунок, назначенный учетной записи, а также создавать, изменять или удалять собственный пароль;
не может изменять имя или тип собственной учетной записи. Такие изменения
должны выполняться пользователем с учетной записью администратора компьютера.
Некоторые программы могут работать неправильно для пользователей с ограниченными правами. В таком случае следует изменить тип учетной записи на администратора компьютера, временно или на совсем.
Учетная запись гостя предназначается для пользователей, не имеющих собственных учетных записей на компьютере. У учетной записи гостя нет пароля. Это позволяет
быстро входить на компьютер для проверки электронной почты или просмотра Интернета. Пользователь, вошедший с учетной записью гостя:
не может устанавливать программы и оборудование, но имеет доступ к уже установленным на компьютере программам;
не может изменить тип учетной записи гостя;
может изменить рисунок учетной записи гостя.
Учетная запись под названием «Администратор» создается в процессе установки
системы. Эта учетная запись с полномочиями администратора компьютера использует пароль администратора, который был введен во время установки.
Компонент «Учетные записи пользователей» находится на панели управления.
Чтобы открыть компонент «Учетные записи», нажмите кнопку Пуск, выберите команду
Панель управления, затем дважды щелкните значок Учетные записи пользователей.
Управление общими дисковыми ресурсами
Работа с общими папками в Windows XP Professional и Windows XP Home Edition
достаточно сильно отличается, поскольку во второй системе возможности конфигурирования общих ресурсов упрощены. Рассмотрим в общих чертах организацию общих ресурсов
в обеих системах.
Типовые способы создания общих дисковых ресурсов
86
В версиях Windows XP Professional и Windows XP Home Edition для создания и администрирования общих ресурсов (в том числе и дисковых) может использоваться Проводник - достаточно выбрать папку и в контекстном меню выполнить команду Общий
доступ и безопасность (Sharing and Security).
В Windows XP Professional на вкладке Доступ (Sharing) для разрешения/запрета
на доступ к папке используются переключатели Открыть общий доступ к этой папке (Share
this folder) и Отменить общий доступ к этой папке
(Do not share this folder). Нажав кнопку Разрешения (Permissions), можно установить
разрешения на доступ к общему ресурсу. (Не путайте эти разрешения с разрешениями файловой системы, устанавливаемыми на вкладке Безопасность (Security)!)
В Windows XP Home Edition вкладка Доступ (Sharing) используется иначе. Кроме
того, в обеих версиях можно использовать традиционную команду net share, выполняющуюся в окне консоли. Могут быть применены и другие инструменты, использующие Win32 API, а также сценарии. Однако для централизованного и удаленного администрирования общих ресурсов более удобна оснастка Общие папки (Shared Folders).
Windows XP Professional
Для локального и удаленного администрирования общих ресурсов в Windows XP
служит оснастка Общие папки (Shared Folders). (В Windows 4.0 аналогичные функции выполняла утилита Server панели управления.) С ее помощью можно также управлять сеансами и открытыми файлами. Она входит в стандартный инструмент администрирования Управление компьютером; (Computer Management) (рис. 3.9).
С помощью узла Ресурсы (Shares) оснастки Общие папки (Shared Folders) можно
разрешать и запрещать общий доступ к локальным папкам, а также видеть количество
пользователей, подключенных к той или иной папке. В версии Windows XP Home Edition эта оснастка также имеется, однако она обеспечивает только мониторинг и не позволяет
управлять общими папками.
Windows XP Home Edition
В верхней половине вкладки Доступ (Sharing) для локальных пользователей предлагается перенести выбранную папку в папку Общие документы (Shared Documents) (эта
операция выполняется с помощью Проводника). В результате данной операции переноса
(moving) папки разрешения на доступ к ней получат все пользователи компьютера (т. к.
после переноса папка унаследует все разрешения папки Общие документы). Возможна и
обратная операция: папку можно "вернуть на место".
В нижней половине вкладки настраивается доступ и параметры безопасности для
сетевых пользователей. В первую очередь система предлагает воспользоваться Мастером
настройки сети (Network Setup Wizard), позволяющим настроить множество параметров
небольшой локальной сети. Воспользуйтесь им, если вы не уверены, что хорошо понимаете все механизмы организации сети.
Если вы не испугаетесь трудностей (а их, по существу-то, и нет) и нажмете самую
нижнюю ссылку на этой вкладке, то система еще раз попытается выяснить серьезность и
осмысленность ваших намерений - появится окно. Определенный "риск" в выполняемых
действиях есть, поскольку, выбрав переключатель Просто включить общий доступ к
файлам (Just enable file sharing), вы уже никогда не вернетесь к тому виду вкладки Доступ (Sharing), который был представлен до этого.
Если вы разрешаете общий доступ к файлам, то вкладка Доступ (Sharing) становится
похожей на аналогичную вкладку в системе Windows XP Professional (или даже Windows
9x): с помощью флажка Открыть общий доступк этой папке (Share this folder on the network) можно разрешать/запрещать доступ к папке; в поле Общий ресурс (Share name) вы
должны ввести общее имя, а устанавливаемый по умолчанию флажок Разрешить изменение
файлов по сети (Allow network users to change my files) разрешает/запрещает другим пользователям изменения ваших файлов.
87
Использование паролей
Чтобы повысить уровень безопасности на компьютере, следует использовать надежные пароли. Крайне важно применять надежные пароли для всех учетных записей
компьютера как при входе в сеть, так и для учетных записей администратора на локальном компьютере.
Надежный пароль должен отвечать следующим требованиям.
Пароль должен состоять не менее чем из семи знаков. Наиболее надежные пароли состоят из 7 или 14 знаков. Причиной надежности таких паролей является
способ кодировки.
Пароль должен сдержать знаки, относящиеся к каждой из следующих трех групп
(см. таблицу 2).
Таблица 3 – Знаки, использующиеся в паролях
Группа
Примеры
Буквы (прописные и строчные)
A, B, C... (или a, b, c...)
Цифры
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Символы (все знаки, не являющиеся буква- ` ~ ! @ # $ % ^ & * ( ) _ + - = { } | [ ] \ :
ми или цифрами)
";'<>?,./
Пароль должен содержать не менее одного символа в позициях со второй по шес-
тую.
Пароль должен значительно отличаться от паролей, использовавшихся ранее.
Пароль не должен содержать фамилии или имени пользователя.
В качестве пароля нельзя использовать распространенное слово или имя.
Пароли могут быть самым слабым звеном в системе безопасности компьютера. Использование надежных паролей необходимо в связи с применением пользователями новейших средств и компьютеров для расшифровки паролей. Сетевой пароль, для взлома
которого раньше потребовались бы недели, теперь может быть раскрыт в течение нескольких часов.
В программном обеспечении для взлома паролей применяются следующие методы:
интеллектуальный взлом, словарные атаки, а также системы автоматического подбора всех возможных комбинаций знаков. Имея достаточное количество времени можно взломать любой пароль методом автоматического перебора. Однако для взлома надежного пароля по-прежнему требуются месяцы.
Пароли Windows могут содержать до 127 символов. Однако если Windows XP используется в сети, где имеются также компьютеры с Windows 95 или Windows 98, не используйте пароли, длина которых превышает 14 символов. Windows 95 и Windows 98 поддерживают пароли длиной до 14 знаков. Если пароль имеет большую длину, войти в сеть
с этих компьютеров не удастся.
Чтобы сделать папку частной
1.Откройте папку Мой компьютер.
2.Дважды щелкните диск, на котором установлена система Windows (обычно это
диск C:, если только на компьютере не создано более одного диска).
Если содержимое диска скрыто, щелкните в группе Типичные системные задачи
ссылку Отображать содержимое этого устройства.
3.Дважды щелкните папку Documents and Settings.
4.Дважды щелкните свою папку.
5.Щелкните правой кнопкой мыши любую папку в своем профиле пользователя и
выберите команду Свойства.
88
6.На вкладке Доступ установите флажок Отменить общий доступ к этой папке.
Примечания
Чтобы открыть окно «Мой компьютер», нажмите кнопку Пуск и выберите команду Мой компьютер.
Данная возможность доступна пользователю только для папок, входящих в его
профиль. Профиль пользователя включает в себя папки «Мои документы» (с подпапками), «Рабочий стол», «Главное меню», «Cookies» и «Избранное». Если не сделать эти папки частными, они будут доступны любому пользователю, работающему на этом компьютере.
Если сделать папку частной, все ее подпапки также станут частными. Например,
когда папка «Мои документы» становится частной, также частными становятся папки
«Моя музыка» и «Мои рисунки». Когда папка находится в общем пользовании, общими
являются и все ее подпапки, если только они не сделаны частными.
Папки нельзя делать частными на диске, не отформатированном в файловой системе NTFS.
6.4 Понятия о компьютерных вирусах. Меры безопасности
В современном компьютеризированном мире важную роль играет защита от несанкционированного проникновения на компьютер и в сеть с помощью вирусов и троянских коней.
Вирус является программой, способной копировать свое содержимое и заражать
различные элементы содержимого компьютера (например, документы, программы, фрагменты операционной системы). Большинство вирусов прикрепляются к файлу или разделу
жесткого диска и копируют свое содержимое в другие файлы операционной системы. Некоторые вирусы содержат код, который представляет особую опасность, приводя к удалению файлов или понижению параметров безопасности с целью дальнейших атак.
«Червь» является программой, создающей копии своего содержимого и способной
распространяться за пределы операционной системы; эта программа может скопировать
свое содержимое, на другой компьютер используя сеть. Раньше такие программы распространялись только через электронную почту, в настоящее время распространяются при
любой работе с сетью (например, при просмотре сетевого окружения). «Черви» могут
заражать компьютерные данные и нарушать безопасность аналогично вирусам; в отличие
от вирусов, «черви» могут передавать свои копии из системы в систему.
«Троянский конь» является программой, которая маскируется под полезную программу, но при запуске выполняет вредоносные действия. Как правило, такие программы
загружаются из Интернета. «Троянские кони» не распространяют сами себя, как вирусы и
«черви». Большинство антивирусных программ обнаруживают только ограниченное число «троянских коней». Посещение только проверенных веб-узлов и загрузка файлов исключительно из надежных источников - эффективный способ защиты компьютера от
«троянских коней».
Общие сведения об антивирусном программном обеспечении
Для защиты компьютера от вирусов рекомендуется установить и использовать антивирусные программы. В Интернете содержится не только много интересных и полезных
сведений, но также и потенциальные угрозы безопасности. Компьютер может быть поврежден компьютерным вирусом, полученным по электронной почте или вместе с загруженной из сети программой. Отсутствие антивирусных программ может привести к дальнейшему распространению вируса на другие компьютеры. При администрировании сети
без использования антивирусного программного обеспечения все компьютеры сети могут
быть заражены.
Принцип действия антивирусных программ
89
Антивирусные программы проверяют электронную почту и другие файлы компьютера на наличие вирусов, «червей» и «троянских коней». При обнаружении вируса, «червя» или «троянского коня» антивирусная программа либо отправляет вирус в карантин,
либо полностью удаляет его до нанесения ущерба компьютеру и файлам.
Некоторые компании, производящие антивирусные программы, предоставляют регулярное обновление антивирусных баз. Многие антивирусные программы имеют функцию автоматического обновления. При обновлении антивирусного программного обеспечения сведения о новых вирусах добавляются в список вирусов, на наличие которых выполняется проверка, обеспечивая защиту компьютера от новых атак. При отсутствии автоматического антивирусного обновления рекомендуется производить эту процедуру регулярно, так как новые вирусы появляются ежедневно. Если используемая антивирусная
программа требует подписки, настоятельно рекомендуется поддерживать подписку в активном состоянии для получения регулярных обновлений. Устаревший список вирусов
подвергает компьютер новым угрозам безопасности.
Чтобы предотвратить заражение вирусами и атаки троянских коней, придерживайтесь следующих рекомендаций.
Пользователям
Старайтесь узнать как можно больше о вирусах и способах их распространения.
Вирус можно случайно занести в сеть, запустив программу, полученную, например, из
Интернета, с электронной доски объявлений (Bulletin Board System, BBS) или в виде вложения в сообщение электронной почты.
Наиболее общие признаки заражения вирусами следующие: на экране появляются необычные сообщения, снижается производительность системы, отсутствуют некоторые данные или невозможно получить доступ к жесткому диску. При возникновении подобных неполадок на компьютере немедленно запустите антивирусную программу, чтобы
снизить вероятность потери данных.
Программы на дискетах также могут содержать вирусы. Проверяйте все дискеты
на наличие вирусов, прежде чем копировать или открывать содержащиеся на них файлы
или выполнять загрузку компьютера с таких дискет.
Необходимо приобрести хотя бы одну коммерческую антивирусную программу и
регулярно пользоваться ею для проверки компьютеров. Поскольку новые вирусы создаются каждый день, старайтесь оперативно пополнять свой набор файлов сигнатур вирусов
новыми сигнатурами.
Администраторам
Прежде чем размещать новое приложение в сети, установите его на компьютере,
не подключенном к сети, и проверьте с помощью антивирусных средств. (Вообще говоря,
в свою систему рекомендуется входить в качестве члена группы «Пользователи», однако
установку программы для проверки следует выполнять, войдя в систему с учетной записью члена локальной группы «Администраторы», так как не все программы успешно устанавливаются членами группы «Пользователи».)
Не разрешайте пользователям входить на их компьютеры с учетными записями
членов группы «Администраторы», поскольку вирусы становятся гораздо опаснее, если
они активизируются от имени учетной записи с правами администратора. Пользователи
должны входить в систему как члены группы «Пользователи»; таким образом они будут
обладать лишь разрешениями, необходимыми для выполнения своих задач.
Требуйте от пользователей создавать надежные пароли, чтобы вирусы не могли
легко подобрать пароль и получить разрешения администратора. (Требования к паролям
можно установить с помощью оснастки «Групповая политика».)
Регулярное архивирование файлов позволит минимизировать ущерб от вирусной
атаки.
90
7 Локальные и глобальные электронные сети
7.1 Основные термины
Рабочая станция - компьютер, подключенный к сети, через который пользователь
получает доступ к ресурсам сети.
Сервер - компьютер сети, выделенный для обработки запросов от всех станций сети и предоставляющий этим станциям доступ к общим системным ресурсам. Другое определение Сервера называется абонент (узел) сети, который предоставляет свои ресурсы
другим абонентам, но сам не использует ресурсы других абонентов, то есть служит только
сети. Серверов в сети может быть несколько, и совсем не обязательно сервер - это самый
мощный компьютер. Под сервером и клиентом часто понимают также не сами компьютеры, а работающие на них программные приложения. В этом случае то приложение, которое только отдает ресурс в сеть, является сервером, а то приложение, которое только
пользуется сетевыми ресурсами, является клиентом.
Выделенный сервер - это сервер, занимающийся только сетевыми задачами. Невыделенный сервер может заниматься помимо обслуживания сети и другими задачами.
Специфический тип сервера - это сетевой принтер.
Клиентом называется абонент сети, который только использует сетевые ресурсы,
но сам свои ресурсы в сеть не отдает, то есть сеть его обслуживает. Компьютер-клиент
также часто называют рабочей станцией. В принципе каждый компьютер может быть одновременно как клиентом, так и сервером.
Хост - главный компьютер вычислительной сети.
Единица измерения скорости передачи данных в единицах информации в секунду бит/с.
Единица измерения скорости передачи данных в знаках в секунду бод.
Протокол – набор четко определенных правил, которые одинаково реализуются в различных системах (программах, шлюзах, пакетах данных и др.). Благодаря этому в местах взаимодействия этих систем, например, при инициировании соединения программы-клиента с программой-сервером или при попадании передаваемого пакета данных на машину-шлюз, все происходит по заранее определенному сценарию. Полную совокупность таких протоколов, необходимых
для успешного взаимодействия разных элементов в рамках сети данного типа, принято называть
семейством или стеком. Интернет работает под семейством протоколов ТСР/IР, которое имеет
многоуровневую структуру.
7.2 Локальные сети
Некоторые авторы определяют локальную сеть как «систему для непосредственного соединения многих компьютеров». При этом подразумевается, что информация передается от компьютера к компьютеру без посредников и по единой среде передачи. Однако
говорить о единой среде передачи в современной локальной сети не приходится. Например, в пределах одной сети могут использоваться как электрические кабели различных
типов, так и оптоволоконные кабели. Определение передачи «без посредников» также не
слишком четко, ведь в современных локальных сетях используются самые разнообразные
концентраторы, коммутаторы, маршрутизаторы, мосты, которые порой производят довольно сложную обработку передаваемой информации. Не совсем понятно, считать их посредниками или нет.
Компьютеры, связанные локальной сетью, объединяются, в один виртуальный
компьютер, ресурсы которого могут быть доступны всем пользователям, причем этот доступ не менее удобен, чем к ресурсам, входящим непосредственно в каждый отдельный
компьютер. Скорость передачи по локальной сети растет по мере роста быстродействия
наиболее распространенных компьютеров. Сравнительно недавно вполне приемлемой
считалась скорость обмена в 1-10 Мбит/с, то сейчас среднескоростной считается сеть, работающая на скорости 100 Мбит/с и активно разрабатываются и внедряются средства для
91
скорости больше 1000 Мбит/с. При меньших скоростях передачи связь станет узким местом, будет чрезмерно замедлять работу объединенного сетью виртуального компьютера.
Отличительные признаки локальной сети:
высокая скорость передачи, большая пропускная способность;
низкий уровень ошибок передачи (или, что то же самое, высококачественные каналы связи). Допустимая вероятность ошибок передачи данных должна быть порядка 10"7
- 10~8;
эффективный, быстродействующий механизм управления обменом;
ограниченное, точно определенное число компьютеров, подключаемых к сети.
7.2.1 Топология локальных сетей
Под топологией (компоновкой, конфигурацией, структурой) компьютерной сети
обычно понимается физическое расположение компьютеров сети друг относительно друга
и способ соединения их линиями связи. Важно отметить, что понятие топологии относится прежде всего к локальным сетям, в которых структуру связей можно легко проследить.
В глобальных сетях структура связей обычно скрыта от пользователей не слишком важна,
так как каждый сеанс связи может производиться по своему собственному пути.
Топология определяет требования к оборудованию, тип используемого кабеля,
возможные и наиболее удобные методы управления обменом, надежность работы,
возможности расширения сети. И хотя выбирать топологию пользователю сети приходится нечасто, знать об особенностях основных топологий, их достоинствах и недостатках, наверное, надо всем.
Существует три основных топологии сети:
шина (bus), при которой все компьютеры параллельно подключаются к одной
линии связи и информация от каждого компьютера одновременно передается всем остальным компьютерам (рис. 1);
звезда (star), при которой к одному центральному компьютеру присоединяются
остальные периферийные компьютеры, причем каждый из них использует свою отдельную линию связи (рис. 1);
кольцо (ring), при которой каждый компьютер передает информацию всегда
только одному компьютеру, следующему в цепочке, а получает информацию только от
предыдущего в цепочке компьютера, и эта цепочка замкнута в «кольцо» (рис. 1).
Рисунок 1 – Сетевая топология «шина»; сетевая топология «кольцо»; сетевая топология «звезда»
На практике нередко используют и комбинации базовых топологий, но большинство сетей ориентированы именно на эти три. Рассмотрим теперь кратко особенности перечисленных сетевых топологий.
7.3 Глобальная информационная сеть Интернет
Глобальные сети отличаются от локальных тем, что рассчитаны на неограниченное
число абонентов и используют, как правило, не слишком качественные каналы связи и
сравнительно низкую скорость передачи, а механизм управления обменом в них в прин92
ципе не может быть гарантированно быстрым. В глобальных сетях гораздо важнее не качество связи, а сам факт ее существования.
Каждый ресурс в Интернете имеет структуру определенного типа, базируется на машине
со своей операционной системой (платформой) и специальной программой обслуживания доступа к ней - программой-сервером. Машину, непрерывно функционирующую в Сети, где исполняется такая программа, также часто называют сервером. Само соединение пользователя с сервером
происходит с помощью соответствующей программы, запускаемой на его компьютере (программы-клиента), и выполняется такое соединение на основе заранее определенного свода правил, или
протокола взаимодействия между клиентом и сервером. Таким образом, для начала работы в Сети необходимо:
1. Иметь какую-либо программу - клиент на своем компьютере.
2. Располагать адресом хотя бы одного сервера (например, из книжного справочника,
такого, как знаменитые Желтые страницы Интернет), к которому можно обратиться по протоколу, поддерживаемому собственной программой - клиент.
3. Владеть набором команд, используемых в рамках данного протокола.
Пользователь Интернет может получить доступ к ресурсам других сетей благодаря существованию межсетевых шлюзов. Под шлюзом (gateway) принято понимать специализированный
узел (рабочую станцию, компьютер) локальной сети, обеспечивающий доступ других узлов данной
локальной сети к внешней сети передачи данных и другим вычислительным сетям. Межсетевой шлюз это аппаратные и программные средства, обеспечивающие межсетевую связь.
Передача информации в Интернет происходит небольшими порциями данных, имеющими
строго определенную структуру и называемыми пакетами. Сообщение может быть разбито на несколько пакетов, размер которых может варьироваться, но, как правило, не превышает 1500 байт.
Важнейшим моментом при функционировании Интернет является стандартизированный
свод правил передачи пакетов данных в Сети и за ее пределы в рамках межсетевого обмена, закрепленный базовым транспортным протоколом ТСР (Transmission Control Protocol) и межсетевым
протоколом IР (Internet Protocol). Протокол ТСР дает название всему семейству протоколов
ТСР/IР, главной задачей которых является объединение в сети пакетных подсетей через шлюзы.
Каждая сеть работает по своим собственным законам, однако предполагается, что шлюз может
принять пакет из другой сети и доставить его по указанному адресу. Реально, пакет из одной сети
передается в другую подсеть через последовательность шлюзов, что становится возможно благодаря реализации во всех узлах сети протокола межсетевого обмена IР.
Величину потока информации (объем последней измеряется в битах или байтах и единицах,
им кратных), прошедшего за определенный промежуток времени через выделенный канал связи,
шлюз или другую систему, принято называть трафиком.
В Интернет каждой машине (host'у) приписан определенный адрес, по которому к ней и
осуществляется доступ в рамках одного из стандартных протоколов, причем существует одновременно как числовая адресация (так называемый IР - адрес, состоящий из набора четырех чисел,
разделенных точками, например 144.206.160.32), так и более удобная для восприятия человеком
система осмысленных доменных имен (например, аро11о.ро.su). Пользователь для обращения к
машине может использовать, как и ее IР- адрес, так и ее имя. Для упрощения работы в сети используется специальная система DNS (Domain Name System), представляющая собой базу данных, которая обеспечивает преобразования доменных имен компьютеров в числовые IР- адреса, поскольку
базовым элементом адресации для семейства протокола ТСР/IР являются IР- адреса, а доменная
адресация выполняет роль сервиса.
Информационные ресурсы Интернет – это вся совокупность информационных технологий
и баз данных, доступных при помощи этих технологий и существующих в режиме постоянного
обновления. К их числу относятся, например:
электронная почта;
система телеконференций Usenet;
система файловых архивов FTP;
93
базы данных WWW;
базы данных Gopher;
базы данных WAIS;
информационные ресурсы LISTSERV;
справочная служба WHOIS;
информационные ресурсы TRICLE;
поисковые машины Open Техt Index, Alta Vista, Yahoo, Lycos и др.
Интернет - это главным образом возможность получить информацию в тот же момент, когда она нужна, т.е. в режиме on-line. Но если нет возможности работать в on-line, то для доступа к
услугам большинства информационных серверов Интернет можно воспользоваться электронной
почтой, хотя в этом случае все будет происходить не так быстро, как в стандартном режиме telnet,
ftp или WWW.
Общий принцип доступа к любому информационному ресурсу через электронную почту
заключается в том, что пользователь посылает сообщение почтовому роботу (специальному почтовому серверу), который реализует стандартный доступ к ресурсу и отправляет ответ по почте пользователю.
При такой схеме доступа общение между пользователем и почтовым роботом происходит в
режиме работы электронной почты, а между почтовым роботом и сервером (ftp, WAIS или WWW)
по протоколу робота этого сервера.
Отметим, что многие информационные ресурсы Сети имеют программы-роботы, которые
способны общаться с почтовыми клиентами по схеме, представленной на рис. 1. Дадим краткую
характеристику этих ресурсов.
Usenet - это система телеконференций Интернет. Система построена по принципу электронных досок объявлений, когда любой пользователь может поместить свою информацию в одну
из групп новостей Usenet и эта информация станет доступной другим пользователям, которые на
данную группу новостей подписаны. Именно этим способом распространяется большинство сообщений Интернет, например списки, наиболее часто задаваемых вопросов (FAQ) или реклама
программных продуктов. По Usenet можно получить и вирус, если заказывать и распаковывать все
подряд, что приходит на ваш почтовый адрес. Usenet – хорошее место для объявления международных конференций и семинаров.
FТР - система файловых архивов - это огромное распределенное (т.е. расположенное на
машинах сети, в том числе и функционирующих на разных платформах) хранилище всевозможной информации, накопленной за последние 15 - 20 лет в Сети. Любой пользователь может
воспользоваться услугами анонимного доступа к этому хранилищу и скопировать интересующие
его материалы. Кроме программ в FТР - архивах можно найти стандарты Интернет - RFC (Request for Comments)), пресс-релизы, книги по различным отраслям знаний, главным образом
по компьютерной проблематике, и многое другое.
Информация в FТР – архивах разделена на три категории:
1. Защищенная информация, режим доступа к которой определяется ее владельцами и
разрешается по специальному соглашению с потребителем. К этому виду ресурсов относятся
коммерческие архивы (например, коммерческие версии программ в архиве
ftp.microsoft.com, закрытые национальные и международные некоммерческие ресурсы, частная некоммерческая информация со специальными режимами доступа (например, частные
благотворительные фонды).
2. Информационные ресурсы ограниченного использования, к которым относятся, например, программы класса shareware (Trumpet Winsock, Netscape Communicator и т.п.). В
данный класс могут входить ресурсы ограниченного времени использования или ограниченного времени действия, т.е. пользователь может использовать текущую версию на свой страх и
риск, но никто не будет оказывать ему поддержку.
3. Свободно распространяемые информационные ресурсы или freeware, если речь
идет о программном обеспечении. К этим ресурсам относится все, что можно свободно полу94
чить по сети без специальной регистрации. Это может быть документация, программы или
что-либо еще. Следует отметить, что свободно распространяемое программное обеспечение не имеет сертификата качества, но, как правило, его разработчики открыты для обмена
опытом.
World Wide Web - распределенная гипертекстовая информационная система -это
последний хит Интернет, темпы развития которого стремительно нарастают. World Wide Web
представляет удобный доступ к большинству информационных архивов Сети. Особенностью системы является механизм гипертекстовых ссылок, который позволяет просматривать
материалы в порядке выбора этих ссылок пользователем. Многие интерфейсы данной технологии позволяют выбирать интересующие материалы простым нажатием кнопки манипулятора «мышь» на нужном слове или поле графической картинки. Система универсальных адресов позволяет проадресовать практически все информационные ресурсы Интернет. Многие
издательства взяли WWW на вооружение для электронных версий своих журналов. В
WWW существует большое количество различного рода каталогов, которые позволяют ориентироваться в сети, кроме этого пользователи могут выполнить даже удаленные программы
или смотреть фильмы по сети. Такой сервис не обеспечивается другими информационными
системами Интернет.
Все сервера WWW используют язык HTML (язык г разметки гипертекста) для отображения гипертекстовых документов (Web страниц формата *.html, *.htm, *.xhtml, *.xhtm).
Язык HTML имеет тэговую (тэг – контейнер) структуру. Большинство тэгов парные. Внутри
парного тэга помещается объект, тэги определяют структуру (вид) объекта в него помещенного. Название тега помещается между знаков <> и закрывается > (<тэг> объекттэг>).
Программы браузеры для просмотра Web страниц (например, такие как Internet
Explorer) позволяют загружать веб-страницы по протоколу HTTP и файлы по протоколу
FTP
Для описания сценариев Web страниц (скрипты или аплеты - подпрограммки
управляющие поведением элементов Web страниц или работой с базами данных в сети)
Web страниц используются языки VBScript (Microsoft Visual Basic Scripting Edition), JavaScript, Perl и др.
Gopher - это еще одна распределенная информационная система Интернет. В основу ее
интерфейсов положена идея иерархических каталогов. Внешне Gopher выглядит как огромная
файловая система, которая расположена на машинах сети. Первоначально Gopher задумывался
как информационная система университета с информационными ресурсами факультетов, кафедр, общежитий и т.п. До сих пор основные информационные ресурсы Gopher сосредоточены
в университетах. Gopher считается простой системой, легкой в установке администрировании,
достаточно надежной и защитной. В России Gopher -серверы не так распространены, как во
всем мире: профессионалы предпочитают World Wide Web.
WAIS - это распределенная информационно-поисковая система Интернет. Родилась
WAIS как перспективная разработка четырех ведущих американских компаний и первое время
была коммерческим продуктом, пока не появилась ее свободно-распространяемая версия WAIS.
В основу системы положен принцип поиска информации с использованием логических запросов, основанных на применении ключевых слов. Клиент «обшаривает» все серверы WAIS на
предмет наличия в них документов, удовлетворяющих запросу. WAIS широко применяется как
поисковая машина в других информационных серверах Интернет, например WWW и Gopher.
Наиболее известным проектом, где была применена WAIS, является электронная версия энциклопедии «Британика».
LISTSERV - система почтовых списков сети ВIТ-NЕТ (сеть образовательных учреждений). Однако это очень популярный ресурс в глобальных компьютерных сетях, и в Интернет
существуют шлюзы для доступа к нему. LISTSERV специально ориентирован на применение в качестве транспорта электронной почты. Доступ к нему в интерактивном режиме затруднен. В мире насчитываются многие сотни списков LISTSERV, которые организованы по
95
группам интересов, например существуют группы разработчиков программ ядернофизических расчетов или группы любителей научной фантастики.
LISTSERV довольно сильно пересекается с Usenet, однако это не мешает существованию
как одной, так и другой системы.
WHOIS – служба содержит информацию о пользователях сети, их электронные и
обычные адреса, идентификаторы и реальные имена. В последнем случае дается краткое
описание основных направлений их деятельности. WHOIS -распределенная система. Это
значит, что запросы отправляются по всему множеству серверов WHOIS в Интернет, если
только не указан адрес конкретного сервера.
TRICKLE - это доступ по почте к архивам FТP, который организован через специальный шлюз. Этот шлюз имеет специальные навигационные средства для поиска нужной информации в Сети, пользователь может вести с ним своеобразный диалог по почте,
выбирая нужную информацию путем ввода специальных команд TRICKLE.
Поисковые машины Open Техt Index, Alta Vista, Yahoo, Lycos и другие представляют
собой мощные информационно-поисковые системы, размещенные на серверах свободного доступа, специальные программы которых непрерывно в автоматическом режиме сканируют информацию Сети на основе заданных алгоритмов, проводя индексацию документов. В последующем поисковые машины предоставляют пользователю на основе созданных баз данных доступ к распределенной на узлах Сети информации через выполнение поискового запроса в рамках собственного интерфейса.
7.4 Спецификация универсального адреса информационного ресурса в интернет
Общая схема адресации следующая:
протокол://адрес_машины/путь/цель(файл)
Схема НТТР. Это основная схема для WWW. В схеме указываются ее идентификатор, адрес машины, ТCR-порт, путь в директории сервера, поисковый критерий и метка.
Приведем несколько примеров URI для схемы НТТР:
http://www.xxxx.ru/orgtex/org.html
Это наиболее распространенный вид URI, применяемые в документах WWW.
Вслед за именем схемы (http) следует путь, состоящий из доменного адреса машины и
полного адреса НТМL - документа в дереве сервера НТТР.
В качестве адреса машины допустимо использование и IР- адреса:
http://144.206.160.40/orgtex/org.html
Схема FTP. Данная схема позволяет адресовать файловые архивы FTP из программ-клиентов WWW. При этом программа должна поддерживать протокол FТР. В данной схеме возможно указание не только имени схемы, адреса FТР- архива, но и идентификатора пользователя и даже его пароля. Наиболее часто используется для доступа к
публичным архивам FТР:
ftp://xxxx.xxxx.xx/xxx/file.txt
В этом случае записана ссылка на архив «xxxx.xxxx.xx» с идентификатором «anonymous» или «ftp» (анонимный доступ). Если есть необходимость указать идентификатор
пользователя и его пароль, то можно это сделать перед адресом машины:
ftp://name:password@xxxx.xxxx.xx/xxx/file.txt
Здесь параметры отделены от адреса машины символом «@», а друг от друга –
двоеточием. В некоторых системах можно указать и тип передаваемой информации, но
данная возможность не стандартизирована. Следует также учитывать, что употребление
идентификатора пользователя и его пароля не рекомендовано, так как данные передаются
незашифрованными и могут быть перехвачены. Реальная защита в WWW осуществляется
другими средствами и построена на других принципах.
Схема MAILTO. Данная схема предназначена для отправки почты по стандарту
RFC-822 (стандарт почтового сообщения). Общий вид схемы выглядит так:
96
Схема FILE. WWW – технология используется как в сетевом, так и в локальном
режимах. Для локального режима используют схему FILE.
file:///С:/docum/file.htm
В данном примере приведено обращение к локальному документу на персональном
компьютере в Windows.
8 Технические средства реализации информационных процессов
Основой конструкции является системный блок, в котором размещены: блок питания, обеспечивающий все части компьютера электрическим питанием, системная плата с
процессором, памятью и платами расширения, а также устройства записи-считывания информации на гибких магнитных и жестких (винчестер) магнитных дисках.
8.1 Системный блок
На передней панели находятся:
Кнопка Power – кнопка включения/выключения питание.
Кнопка Reset – кнопка перезагрузки компьютера.
Индикаторы (лампочки). Первая (обычно зеленая или желтая) для индикации напряжения подаваемого для питания компьютера. Вторая (обычно красная) для индикации
обращения (записи/чтения) к жесткому диску.
Дисководы. Дисководы для работы с магнитными дисками флоппи дисковод (1,44
Мб). Дисководы для работы с CD, DVD, BD.
Разъемы для подключения внешних устройств щелевидные USB, квадратные IEEE
(FireWire), круглые для подключения наушников и микрофона.
Разъемы на задней панели:
Параллельный порт LPT (25 – контактный разъем) для подключения принтера или
сканера (уже устарел).
Последовательные порты:
COM порты (9 - и 25 - контактный разъем) для подключения модема и мыши (уже
устарели).
Порты PS/2 специализированные для мыши и клавиатуры.
USB (их обычно 6 или 8). На один USB порт можно подключить последовательно
127 устройств (самые производительные устройства (принтеры, сканеры) должны быть в
начале цепочки). Скорость старого порта USB 1.1 –24 Мбит/с, нового USB 2.0 – 480
Мбит/с.
IEEE 1394 (FireWire) – контролер с высокой скоростью передачи данных (как у
USB 2.0) для подключение различных устройств (цифровые видеокамеры, внешние накопители).
8.2 Процессор, материнская плата, запоминающие устройства ПК
Материнская плата. Главным узлом, определяющим возможности компьютера,
является системная, или материнская (от англ. motherboard) плата. На ней обычно размещаются:
базовый микропроцессор;
оперативная память ОЗУ (оперативное запоминающее устройство);
сверхоперативное ЗУ, называемое также кэш-памятью (кэш память второго уровня);
ПЗУ (постоянное запоминающее устройство) с системной BIOS (базовой системой ввода/вывода),
97
КМОП-память с данными об аппаратных настройках и аккумулятором для ее питания;
набор управляющих микросхем, или чипсетов (chipset), вспомогательных микросхем и контроллеров ввода/вывода;
разъемы расширения, или слоты (slot);
разъемы для подключения интерфейсных кабелей жестких дисков, дисководов,
последовательного и параллельного портов, инфракрасного порта, а также универсальной
последовательной шины USB;
разъемы питания;
преобразователь напряжения для питания;
разъем для подключения клавиатуры и ряд других компонентов.
разъемы мыши и клавиатуры в стандарте PS/2, COM разъемы параллельного и
последовательного портов. На материнской плате также могут находиться микросхемы
видеоадаптера и звуковой платы (т. н. платы All-In-One).
Для подключения индикаторов, кнопок и динамика, расположенных на корпусе
системного блока, на материнской плате имеются специальные миниатюрные разъемывилки. Подобные же разъемы служат как контакты для перемычек (jumpers) при задании
аппаратной конфигурации системы. Если на системной плате сосредоточены все элементы, необходимые для его работы, то она называется All-In-One. У большинства персональных компьютеров системные платы содержат лишь основные функциональные узлы,
а остальные элементы расположены на отдельных печатных платах (платах расширения),
которые устанавливаются в разъемы расширения. Например, устройство формирования
изображения на экране монитора - видеоадаптер пока чаще всего располагается на отдельной плате расширения - видеокарте.
Форм-факторы плат. Важной характеристикой материнской платы является вид
слота под процессор (определяет какой процессор, можно установить) и ее форм-фактор,
определяющий ее геометрические размеры, расположение разъемов расширения и процессора, точек крепления платы, а также тип разъема питания платы и питающие напряжения. Поэтому форм-фактор платы определяет также используемый тип корпуса и блока
питания.
Процессор. В процессоре выполняются арифметические и логические операции, а
также формируются управляющие сигналы ко всем устройствам компьютера. Мировым
лидером в производстве процессоров для персональных ЭВМ является американская корпорация Intel. Выпускаемые ею процессоры с большой скоростью выполняют элементарные арифметические и логические операции, на которые разбиваются процессы обработки
информации любой сложности.
Важнейшей характеристикой процессора является тактовая частота – величина, показывающая сколько элементарных операций – тактов микропроцессор выполняет за одну
секунду. Тактовая частота измеряется в мегагерцах (МГц) (1 МГц = 1 млн. тактов в секунду). Быстродействие процессора определяется отношением тактовой частоты к количеству
тактов, требующихся процессору для выполнения простой команды, т.е. количеством
элементарных операций, выполняемых за одну секунду. Фирмы-производители процессоров стремятся создать процессоры со все большей производительностью. В настоящее
время выпускаются процессоры с тактовой частотой более 3 ГГц (109 Гц).
Память предназначена для хранения данных и программ их обработки. Различают
следующие виды памяти компьютера: внутреннюю и внешнюю.
Встроенная в компьютер и непосредственно управляемая им память называется
внутренней. Она разделяется на постоянное запоминающее устройство (ПЗУ, или ROM –
Read Only Memory – память только для чтения) и оперативную память (RAM – Random
Access Memory). В ПЗУ компьютера хранится базовая система ввода-вывода (BIOS –Basic
Input Output System), которая состоит из программы тестирования памяти и периферийно98
го оборудования компьютера, а также программы запуска операционной системы. Оперативной памятью называется программно-адресуемая память, быстродействие которой
соизмеримо с быстродействием процессора. В ней хранятся исполняемые в данный момент программы и оперативно необходимые для этого данные. Недостатком оперативной
памяти является ее энергозависимость, т.е. при выключении компьютера все содержимое
оперативной памяти стирается. Объем оперативной памяти – это одна из важнейших характеристик компьютера. Размер оперативной памяти современных персональных компьютеров от 128 до 1024 Мбайт.
Чтобы процессор не простаивал в связи с ожиданием получения данных из оперативной памяти, компьютеры оснащаются кэш-памятью. Кэш-память (cache memory –
память немедленного доступа) является «посредником» между процессором и оперативной памятью. В ней хранятся наиболее часто используемые участки оперативной памяти.
Вследствие того, что время доступа процессора к кэш-памяти в несколько раз меньше, чем
к обычной памяти, среднее время доступа к памяти значительно уменьшается.
Внешней памятью называются энергонезависимые средства памяти на сменных
носителях (магнитные диски, магнитные ленты, перфоленты и другие носители информации: оптические диски, магнито-оптические диски), предназначенные для хранения больших массивов данных. Для хранения архивов, переноса информации с одного компьютера
на другой широко используются гибкие магнитные диски (FDD – Floppy Disk Drive). Для
работы с ними в системный блок встроен накопитель информации на гибких магнитных
дисках (дисковод). Гибкие магнитные диски (дискеты) представляют собой тонкие пластиковые диски, покрытые специальным магнитным материалом и запечатанные в пластиковую обложку. Магнитный материал на диске способен надолго запомнить одно из
двух состояний намагниченности, соответствующих двоичным цифрам: 0 или 1. Для считывания или записи информации дискеты вставляются в дисковод. Диск в работающем
дисководе вращается, а вдоль радиуса диска около его поверхности перемещается магнитная головка. Информация на дискетах записывается концентрическими кольцами – дорожками, располагаясь небольшими порциями фиксированной длины – секторами. В настоящее время на персональных компьютерах используются дискеты диаметром 3,5 дюйма (объем памяти 1,44 Мбайта).
Функции внешней несменной памяти компьютера, предназначенной для долговременного и энергонезависимого хранения информации, выполняют жесткие магнитные
диски (HDD-Hard Disk Drive). Часто их называют винчестерами. Они представляют собой малогабаритный пакет из нескольких жестких магнитных дисков, вращающихся с высокой скоростью на одной оси и размещенных в герметичном корпусе вместе с головками
чтения-записи. Информация располагается дорожками и секторами, при этом группа дорожек на всех дисках винчестера, расположенных на одинаковом расстоянии от их общей
оси, называется цилиндром. Считывание и запись информации осуществляются сразу несколькими магнитными головками одновременно со всех дисков пакета. Емкость винчестеров значительно больше, чем гибких магнитных дисков, и может достигать порядка
Тбайт (сейчас чаще всего 80 – 200 Гбайт).
В качестве устройств внешней памяти большой емкости получили распространение
оптические диски – компакт-диски, предназначенные либо только для чтения, либо для
однократной и многократной записи. Емкость таких дисков – 650 и более Мбайт.
Так же используются различные виды флеш – памяти (флеш - карты, флеш устройства и др.). Чаще всего распространенны устройства, подключаемые к компьютеру через
порты USB и USB2. Их емкость начинается от 128 Мбайт и выше (в настоящее время постоянно растет).
99
8.3 Периферийное оборудование. Средства мультимедиа. Классификация мониторов
Результаты обработки информации выводятся из компьютера на экран дисплея
(монитора). По устройству и принципу действия монитор похож на телевизор. Для генерации видеосигнала монитору в компьютере имеется специальное устройство – видеоадаптер. Информация об изображении на экране хранится в видеопамяти – специальных
микросхемах видеоадаптера.
Качество изображения информации на мониторе определяется разрешающей способностью – размером минимального элемента изображения или количеством точек, изображаемых на экране, а также воспроизводимой цветовой гаммой.
Монитор может работать в двух режимах: текстовом и графическом. В текстовом
режиме экран монитора разбивается на 25 строк, в каждой из которых может быть выведено 80 символов. В графическом режиме экран монитора состоит из отдельных точек
(пикселей). Количество точек по горизонтали и вертикали называется разрешающей способностью монитора. Чем выше разрешающая способность, тем лучше выводимые на экран графики и рисунки. Главные характеристики монитора – его разрешающая способность и количество доступных цветов.
8.3.1 Устройства ввода информации
Клавиатура
Как известно, клавиатура является пока основным устройством ввода информации
в компьютер. В техническом аспекте это устройство представляет собой совокупность механических датчиков, воспринимающих давление на клавиши и замыкающих тем или
иным способом определённую электрическую цепь.
Надо сказать, что эволюция клавиатур для IBM PC не была недолгой. Сначала использовались 83-х клавишные клавиатуры затем вместе с АТ появилась 84-х клавишная.
Подавляющее большинство современных IBM PC совместимых используют расширенную клавиатуру. Основные улучшения по сравнению с АТ-клавиатурой касается общего
числа (101 и выше) и расположения клавиш. Наиболее стандартным является расположение QWERTY: порядка 60 клавиш с буквами, цифрами, знаками пунктуации и другими
символами и ещё около 40 функциональных клавиш.
В настоящее время наиболее распространены два вида клавиатур: с механическим
и мембранным переключателями. В первом случае датчик представляет из себя традиционный механизм с контактами из специального сплава. Несмотря на то, что эта технология используется уже несколько десятилетий, фирмы- производители постоянно работают
над её модификацией и улучшением. Стоит отметить, что в клавиатурах известных фирм
контакты переключателей позолоченные, что значительно улучшает электрическую проводимость.
Технология, основанная на мембранных переключателях, считается более прогрессивной, хотя особых преимуществ не даёт.
Мыши и трекболы
Мыши и трекболы являются координаторными устройствами ввода информации в
компьютер. Разумеется, полностью заменить клавиатуру они не могут. В основном эти
устройства имеют две три кнопки управления. Не секрет что своей популярностью мышь
обязана распространению графического интерфейса и в основном компании «Microsoft».
Теперь немного о мышиной «анатомии». Как известно, первая мышь каталась на
двух колесиках, которые были связаны с осями переменных резисторов. Перемещение такой мыши было прямо пропорционально изменению сопротивления переменных резисторов. В дальнейшем конструкция перетерпела значительные изменения. Ролики были пе-
100
ренесены внутрь корпуса, а с поверхностью стал соприкасаться твёрдый резиновый шарик.
Манипулятор мышь предназначен для ввода в компьютер информации. Он представляет собой небольшую коробочку с двумя или тремя клавишами. При движении мыши по плоской поверхности одновременно поворачивается встроенный в нижнюю часть
ее корпуса небольшой резиновый шарик. Движение шарика фиксируется датчиками, передается в компьютер и отображается на его экране специальным указателем (курсором
мыши).
Управление компьютером с помощью мыши сводится к указанию курсором на
объект на экране, нажатию, удержанию и отпусканию клавиш. Например, чтобы переместить объект по экрану компьютера, нужно установить курсор мыши на объект, прижать
левую кнопку и, перемещая мышь по столу, задать новое положение объекта на экране,
после чего отпустить кнопку. Есть мыши, в которых перемещение по поверхности стола
копируется не шариком, а лазерным лучом.
Современные мыши имеют обычно оптимальное аппаратное разрешение 400 cpi.
Когда фирмы декларируют разрешение на уровне 1800 cpi, то речь, видимо идёт о программном разрешении.
Трекбол представляет собой «перевёрнутую» мышь, только у трекбола приводится
в движение не корпус, а только его шар. Это позволяет существенно повысить точность
управления курсором, не требуется коврика и места для перемещения по столу.
Дигитайзеры
Дигитайзер (графические планшеты) – устройство ввода графической информации,
имеющее пока сравнительно узкое применение для некоторых специальных целей. Свое
название дигитайзеры получили от английского digit – цифра.
Обычно дигитайзеры выполняются в виде планшета. Применяется такой дигитайзер для поточечного координатного ввода графических изображений в САПР, а также в
компьютерной графике и анимации.
Графический планшет обыкновенно содержит рабочую плоскость, рядом с которой
находятся кнопки управления. На рабочую плоскость может быть нанесена вспомогательная координатная сетка, облегчающая ввод сложных изображений в компьютер. Для ввода
информации служит специальное перо или координатное устройство с «прицелом», подключенное кабелем через порт связи. Разрешающая способность таких графических
планшетов не менее 100 dri (точек на дюйм).
Джойстики
Джойстик представляет собой ручку управления и наиболее часто используется в
компьютерных играх. Работа джойстика отображается на экране в виде перемещений курсора. Созданный для досуга, он совершенствуется, и работа с ним все точнее воссоздает
условие имитируемой ситуации.
Сенсорные устройства ввода. Принцип ввода данных в сенсорных устройствах
аналогичен принципу ввода в манипуляторах-координаторах.
Сенсорный манипулятор
Относится к классу координатных устройств. Представляет собой коврик без мыши. В данном случае управление курсором производится простым движением пальца по
коврику. Отсутствие механических частей обеспечивает небывалую долговечность таких
устройств. Несмотря на компактные размеры коврика, осуществляют полноэкранное
управление курсором и разрешающая способность в 1000 точек на дюйм.
101
Манипуляторы осуществляют непосредственный ввод информации, указывая курсором на экране монитора команду или место ввода данных. Манипуляторы, как правило,
подключаются к коммуникационному порту (com 1 – com 4).
Сканер – устройство для считывания графических изображений или текстов с бумаги в память компьютера. Принцип действия сканера имеет много общего с лазерным
принтером или ксероксом. Луч света освещает лист бумаги с оригиналом текста или графического изображения. Отраженный свет улавливается датчиками и преобразуется в
цифровые электрические импульсы, которые передаются в память компьютера и могут
быть сохранены в виде файла данных, удобных для обработки. Для распознавания символов текстов применяются специальные программы. Существуют программы позволяющие
редактировать отсканированные изображения, изменять цвета, дорисовывать детали, комбинировать с другими рисунками. Одной из основных характеристик сканера является
разрешающая способность, т.е. количество точек на 1 дюйме, которые он способен распознать.
8.3.2 Дополнительные устройства компьютера
С подключением к компьютеру различных устройств он приобретает дополнительные возможности.
Принтер – печатающее устройство. Предназначен для вывода результатов на бумагу в виде текста, таблиц, графиков, рисунков и т.д. Существуют тысячи моделей принтеров. Они различаются по конструкции, скорости и качеству печати. По принципу формирования изображения на бумаге различают принтеры следующих видов: матричные,
струйные и лазерные. В матричных игольчатых принтерах элементы изображения на бумаге формируются с помощью точечной матрицы. Печатающая головка матричного принтера содержит ряд тонких металлических стержней (иголок). Головка движется вдоль печатаемой строки, а стержни в нужный момент ударяют по бумаге через красящую ленту.
Таким образом, на бумаге формируются символы и графические изображения.
В струйных принтерах изображение формируется микрокаплями специальных
чернил. Этот способ обеспечивает более высокое качество печати, удобен для цветной печати.
Самое высокое качество печати обеспечивают лазерные принтеры. В этих принтерах изображение переносится на бумагу со специального барабана, к которому электрически притягиваются частички краски. Барабан электризуется за счет облучения лазером.
Графопостроитель (плоттер) устройство для вывода на бумагу чертежей, графиков, схем, диаграмм и т.п. Плоттеры бывают планшетные и барабанные. Планшетные
используются для вывода небольших форматов А3 и А2 (реже А1 и А0), в то время как
барабанные плоттеры позволяют работать с рулонами бумаги длиной до нескольких десятков метров.
Модем. Для обмена информацией с другими компьютерами используется модем.
Он служит для преобразования цифрового сигнала, выдаваемого компьютером, в аналоговый электромагнитный сигнал, пригодный для передачи по телефонным линиям связи
(модуляция), а также, наоборот, - для преобразования электромагнитного сигнала аналогового характера, поступившего в компьютер по телефонным линиям связи, в цифровой
сигнал, пригодный для обработки компьютером (демодуляция). Одной из основных характеристик модема является максимальная скорость передачи данных, измеряемая в бодах (1 бод = 1 бит/с). Используя модем, можно получить доступ к российским и международным компьютерным сетям, быстро и надежно передавать и получать интересующую
информацию.
Устройство, сочетающее возможности модема и средства для обмена факсимильными изображениями, называется факс-модемом.
102
Звуковая плата (саундбластер) – улучшает музыкальные возможности компьютера, позволяет прослушивать на компьютере лазерные аудиодиски. К звуковой плате обычно прилагаются колонки для воспроизведения звука и микрофон. С помощью этих устройств компьютер подключенный в сеть, может устанавливать аудиосвязь. Многие программы (особенно мультимедиа и игровые) используют звуковую плату для музыкального
сопровождения и звуковых эффектов.
Сетевая плата (иначе сетевой адаптер) позволяет подключать машину к локальной компьютерной сети. Например, когда в одной организации установлено несколько компьютеров, сеть позволяет легко организовать обмен данными между этими машинами.
Возможности подключения к компьютеру внешних устройств, практически не ограничены. Можно подключать фотоаппарат, видеокамеру, диктофон и многое другое.
Вы можете рисовать прямо за компьютером и получать картинку непосредственно
на экране монитора или использовать устройство ввода для готовых изображений. Профессиональные художники-дизайнеры, привыкшие к карандашу и бумаге, часто используют графические планшеты, при помощи которых изображение в компьютер вводится
световым пером. Для оцифровки плоских изображений и фотографий применяют сканеры.
В свою очередь, цифровые фотоаппараты и видеокамеры позволяют получать уже оцифрованные, готовые, изображения.
103