Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Гриф число экземпляров в библиотеке и на кафедре ячейки Библ и Каф.

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 24.11.2024

PAGE  86

КУРС ЛЕКЦИЙ по дисциплине Информатика

к.т.н., доцент Доманский В.В.

Основная литература, обозначение ведомства утвердившего гриф (условное обозначение в ячейке «Гриф»), число экземпляров в библиотеке и на кафедре (ячейки «Библ» и «Каф»)

№ п/п

Библиографическое описание учебника и/или учебного пособия

Гриф

Библ

Каф

1

Информатика. Общий курс : учеб. для вузов / А.Н. Гуда, М.А. Бутакова, Н.М. Нечитайло, А.В. Чернов; ред. В.И. Колесников. – 4-е изд. – М. : Дашков и К° ; Ростов н/Д : Наука-Спектр, 2011. – 399 с.

УМО

91

10

2

Информатика и программирование : компьютерный практикум : учеб. пособие для вузов / А.Н. Гуда, М.А. Бутакова, Н.М.  Нечитайло, А.В. Чернов; ред. В.И. Колесников. – М. : Дашков и К° ; 2009. – 238 с.

УМО

101

10

3

Информатика : учеб. пособие для вузов / А.В. Могилев, Н.И. Пак, Е.К. Хеннер; ред. Е.К. Хеннер. – 5-е изд., стер. – М. : Академия, 2007. – 841 с.

МОН

60

0

4

Информатика. Базовый курс : учеб. пособие для втузов / ред. С.В. Симонович. – 2-е изд. – М. ; СПб. : Питер, 2006. – 639 с.

МОН

50

5

5

Вычислительные системы, сети и телекоммуникации : учеб. пособ. для вузов / В.Л. Бройдо. – 2-е изд. – М. ; СПб. : Питер, 2005. – 703 с.

МОН

28

0

Примечание: Лекции № 1, 2, № 4, 5, № 7 – 9, № 20 – 22 могут быть объединены за счет вынесения части материала на самостоятельное изучение, лекция 19 сокращена, лекция № 18 могут быть исключены из обязательного изучения.

  1.  Предмет и задачи информатики
    1.  Понятие информации, общая характеристика процессов сбора, передачи, обработки и накопления информации

►Информатика – это наука, изучающая структуру и наиболее общие свойства информации, её поиск, хранение, передачу и обработку с применением ЭВМ.

Термин «информатика» происходит от французских слов information (информация) и automatique (автоматика). Широкое распространение получил также англоязычный вариант этого термина – «computer science», что означает буквально «компьютерная наука».

Объектами изучения информатики являются технические, программные и алгоритмические средства. Технические средства представляют собой аппаратуру компьютеров, в английском языке они обозначаются словом hardware. Для обозначения программных средств, под которыми понимается совокупность всех программ, используемых компьютерами, и область деятельности по их разработке и применению, используется слово software, которое подчеркивает способность программного обеспечения модифицироваться, приспосабливаться и развиваться. Программированию задачи всегда предшествует разработка алгоритма ее решения в виде последовательности действий, ведущих от исходных данных к искомому результату. Для обозначения части информатики, связанной с разработкой алгоритмов и изучением методов и приемов их построения, применяют термин brainware (от англ. brain – интеллект).

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

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

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

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

социальная информатика, изучающая процессы информатизации общества;

машинная графика, анимация, средства мультимедиа;

системы автоматизированного проектирования;

телекоммуникационные системы и сети, в том числе, глобальные компьютерные сети;

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

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

Центральным понятием информатики является информация. Этот термин происходит от латинского слова «informatio», что означает сведения, разъяснения, изложение. Несмотря на широкое распространение этого термина, понятие информации является одним из самых дискуссионных в науке. В настоящее время наука пытается найти общие свойства и закономерности, присущие многогранному понятию информация, но пока оно во многом остается интуитивным и получает различные смысловые наполнения в различных отраслях человеческой деятельности:

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

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

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

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

Норберт Винер, «отец» кибернетики, сформулировал следующее определение: «Информация – это обозначение содержания, полученного из внешнего мира в процессе нашего приспособления к нему и приспособления к нему наших чувств».

Существует еще множество определений.

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

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

Среди основных свойств информации можно выделить следующие: достоверность; полнота; ценность; своевременность; доступность; краткость и др.

Одну и ту же информацию можно представить и передать по-разному (слова, жесты, сигналы, азбука Морзе (точки и тире), изображения и т. д.). В современной вычислительной технике информация чаще всего кодируется с помощью последовательностей сигналов всего двух видов, что определяется реализацией аппаратуры ЭВМ. В основе схемотехники компьютера лежит использование двоичного элемента для хранения данных – триггера, имеющего два устойчивых состояния. Эти состояния обозначают цифрами «0» и «1», а такое кодирование называют двоичным кодированием. В качестве единицы информации принят  один  бит  (от англ. bit – binary digit – двоичная цифра).

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

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

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

Широко используются также следующие производные единицы информации:

1 Килобайт (кбайт) = 1024 байт = 210 байт;

1 Мегабайт (Мбайт) = 1024 кбайт = 220 байт;

1 Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.

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

1 Терабайт = 1024 Гбайт = 240 байт,

1 Петабайт = 1024 Тбайт = 250 байт

и еще более крупные: экзабайт, зеттабайт, йоттабайт.

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

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

  1.  Представление информации в компьютере
    1.  Понятие информации, общая характеристика процессов сбора, передачи, обработки и накопления информации

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

Системы счисления

►Система счисления это совокупность приемов обозначения (записи) чисел.

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

►Основание системы счисления количество различных цифр (знаков), используемых для представления чисел в данной системе.

Пусть необходимо представить число X (>0) в системе счисления с основанием q в виде полинома:

X = an-1qn-1 + ... + a1q1 + ... a0q0 + ... a-mq-m , (1)

где  ai – цифры системы счисления;

n – число цифр в целой части числа X;

m – число цифр в дробной части числа X.

Основание часто указывают в виде индекса либо определенного символа в зависимости от системы программирования. На практике принята сокращенная запись чисел:

X = an-1... a1... a0... a-m.

Например, число 863,52 (q=10, n=3, m=2) представляется в виде:

863,52 = 8 102 + 6 101 + 3 100 + 5 10-1 + 210-2.

Наиболее распространены двоичная, десятичная и шестнадцатеричная системы счисления.

Двоичная система счисления

Основание q = 2, используются цифры 0 и 1.

Система счисления по основанию 2 аналогична десятичной, за исключением того, что разряды числа в ней соответствуют не степеням 10, а степеням 2. Значения чисел, большие 1, представляются многоразрядными числами точно так же, как в десятичной системе представляются значения, большие 9. Любая цифра двоичного числа является битом. Каждый бит соответствует какой-либо степени 2. Например, разложение двоичного числа 1001,1 по степеням 2 (в виде полинома) имеет вид:

1001,012 = 1 23 + 0 22 + 0 21 + 1 20 + 12-1 = 9,510.

Арифметические операции в двоичной системе счисления выполняются по следующим правилам:

Сложение: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 10;

Вычитание: 0 – 0 = 0; 1 – 0 = 1; 1 – 1 = 0; 10 – 1 = 1;

Умножение: 0 0 = 0; 0 1 = 0; 1 0 = 0; 1 1 = 1.

Примеры:

11101,01 + 110,11 = 100100,00;

1001 – 110 = 11;

110 101 = 11110.

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

Шестнадцатеричная система счисления

Основание q = 16, используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а также буквы латинского алфавита A, B, C, D, E, F.

П р и м е р: 247,616 = 2 162 + 4 161 + 7 160 + 6 16-1 = 583,37510.

Каждая цифра в 16-ричном представлении может иметь значение 0...15, каждый разряд соответствует степени 16. 16-ричное представление является компактным и удобным методом записи двоичной информации, так как для перевода из двоичной системы счисления в шестнадцатеричную и обратно не требуется специальных процедур. В табл. 1 дано представление некоторых целых чисел в различных системах счисления.

Таблица 1

Соответствие чисел в различных системах счисления

10

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

2

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

10000

16

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

Формы представления данных

Представление целых чисел

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

Для представления беззнаковых типов используются все имеющиеся разряды, например:

байт  значение числа          cлово  значение числа

7             0  разряды     15   0

Для представления знаковых типов знак кодируется в старшем бите. Если старший бит равен 0 – число положительное, если равен 1 – число отрицательное.

короткое  S                 целое  S                                 

целое  7  0 15        0

– знак числа

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

Правило получения дополнительного кода

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

Формируется обратный код битов (кроме знакового разряда). Для этого 0 заменяется на 1, а 1 – на 0.

К обратному коду числа прибавляется 1.

Таким образом, диапазон представления знаковых чисел с помощью N разрядов определяется как 2N-1, а беззнаковых – 2N.

Пример:

Получим 8-разрядный дополнительный код числа -52:

00110100 – число |-52|=52 в прямом коде

11001011 – число  -52  в обратном коде

11001100 – число  -52  в дополнительном коде

Представление символьных данных

В персональных компьютерах и телекоммуникационных системах применяется международный байтовый код ASCII (American Standard Code for Information Interchange). В справочной литературе имеются таблицы кодов ASCII, где каждому символу соответствует код, состоящий из 8 бит (или 1 байта).

Первые 32 кода (от 0 до 1F16) в ASCII являются управляющими. Они служат для представления символов, имеющих специальное назначение. Другие символы (2016 ... 7F16) используются для кодирования цифр, букв латинского алфавита, знаков пунктуации и арифметических операций. Остальные коды (8016  ... 0FF16) означают расширение стандарта ASCII и в разных моделях ЭВМ реализуются по-разному, в частности, для кодирования символов кириллицы. Для этой части также имеются стандарты, например, для символов русского языка это КОИ–8. 

Фирма Microsoft для операционной системы Windows разработала собственную русскую кодировку ANSI-1251.

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

Представление вещественных данных

Различают две формы представления вещественных чисел:

1) представления чисел с плавающей точкой,

2) представления чисел с фиксированной точкой.

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

Примеры:

11.994310; 111.010012.

Формой представления чисел с плавающей точкой представление числа в виде двух множителей ,

где M – мантисса числа; B основание системы счисления;

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

Если M удовлетворяет неравенству , то число N и само представление нормализованное. В любой системе счисления это неравенство означает, что мантисса числа меньше 1, и ее первая цифра после запятой отлична от нуля. При этом порядок числа может быть как положительным, так и отрицательным. Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть», т.е. сместиться десятичная точка в мантиссе. Отсюда название «плавающая точка».

Пример:

Десятичные числа 0.00379; 0.0379; 0.379; 3.79; 37.9 в нормализованном виде записываются соответственно: 0.379×10-2; 0.379×10-1; 0.379; 0.379×101; 0.379×102.

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

Число бит для хранения мантиссы и порядка зависит от типа данных с плавающей точкой.

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

Алгоритм представления числа с плавающей запятой

Перевести число из p-ичной системы счисления в двоичную;

представить двоичное число в нормализованной экспоненциальной форме;

рассчитать смещённый порядок числа;

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

Пример:

Представить число -25,625 в машинном виде с использованием 4-байтового представления (где 1 бит отводится под знак числа, 8 бит – под смещённый порядок, остальные биты – под мантиссу).

2510=1000112

0,62510=0,1012

-25,62510= -100011,1012

-100011,1012 = -1,000111012 * 24

В разряд S записывается 12. В разряды порядка P записывается кодовая комбинация 100002 (24). В разряды мантиссы М записывается кодовая комбинация 000111012.

Представление графической информации

Существует два способа представления графической информации: растровая и векторная графика.

Растровое изображение состоит из множества маленьких точек, у каждой из которых может быть свой цвет и яркость. Точки выстроены как в таблице: по строкам и столбцам. Из них получается изображение (рис. 1.1). Благодаря маленькому размеру, отдельные точки не видны (или малозаметны), и создаётся впечатление однородной картины. Минимальный элемент, из которого состоит растровое изображение, называется пикселем (от англ. picture element).

Для хранения растрового изображения в памяти компьютера необходимо хранить информацию о цвете каждого пикселя.

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

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

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

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

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

Таким образом, для хранения векторного изображения необходимо хранить координаты и дополнительные параметры примитивов, фигур и объектов и взаимосвязи между ними.

Представление звуковой информации

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

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

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

  1.  Принципы функционирования компьютера
    1.  Технические средства реализации информационных процессов 

Классические принципы построения и функционирования ЭВМ известны как принципы Джона фон Неймана. Согласно им, во-первых, для представления данных должна быть использована двоичная система счисления. Во-вторых, программа также должна храниться в виде последовательности нулей и единиц, причем в той же самой памяти, что и данные, которые ею обрабатываются. Третий принцип – последовательное выполнение команд программы, а также адресация ячеек памяти, для того, чтобы возможен был непосредственный переход к любой из них (адрес – номер ячейки памяти, по которому осуществляется доступ к ней). И последний принцип заключается в равноправии ячеек памяти, хранящих как команды программы, так и данные, поэтому над любыми ячейками памяти ЭВМ можно производить одинаковые действия.

Структуру ЭВМ Дж. фон Нейман представлял четырьмя основными блоками:

АЛУ – устройство, выполняющее арифметические и логические операции;

УУ – устройство управления для организации выполнения программ;

ЗУ – память для хранения программ и данных;

ВУ – внешние устройства для ввода/вывода информации.

УУ управляет процессом обработки информации и содержит:

генератор тактов;

информацию о состоянии процесса (в специальных регистрах: операций, адресов, индексном, счетчике команд);

оборудование для выработки управляющих сигналов для выполнения отдельных команд;

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

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

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

Рис. 1

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

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

В современных компьютерах АЛУ и УУ объединены в один блок, называемый центральным процессором, либо микропроцессором (МП).

►Процессор (Central Processing UnitCPU) является основой компьютера. Именно в нем производятся основные процессы вычислений и других преобразований информации. Одновременно с этим МП управляет ходом процесса вычислений.

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

►Важнейшей характеристикой процессора является тактовая частота – величина, показывающая количество импульсов синхронизации начала тактов команд микропроцессора за секунду (каждая машинная команда микропроцессора может выполняться за определенное число тактов). В современных микропроцессорах она измеряется в гигагерцах (ГГц = 1 млрд. тактовых импульсов в 1 сек.) и определяет быстродействие компьютера.

►Разрядность процессоров определяется количеством двоичных разрядов, которое может обрабатываться процессором за 1 такт.

В процессоре всегда имеется определенное число внешних входных и выходных сигналов. Эти сигналы интерпретирует и генерирует УУ, связывая внутренние шины, регистры и прочие устройства МП с внешними устройствами (памятью и устройствами ввода/вывода). УУ вырабатывает также управляющие сигналы для АЛУ и переключателя устройств передачи данных.

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

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

►Шины – служат для обмена сигналами между устройствами процессора.

В современных ПК принята классическая трехшинная архитектура, включающая:

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

шину адреса (однонаправленная) – по ней процессор выставляет адрес памяти или устройств ввода/вывода;

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

Начальная загрузка персонального компьютера

Устройство МП не позволяет в начальный момент времени выявить из потока, какая имеется информация: команда или данное. Для того чтобы система начала работу, необходимо какое-то оговоренное исходное ее состояние. При нажатии кнопки включения питания на системном блоке ПК его МП получает сигнал сброса RESET (возможно также нажатие кнопки RESET), все элементы памяти устанавливаются в логический «0», и первой всегда является команда чтения памяти по определенному адресу. Для «оживления» системы служит внешнее постоянное запоминающее устройство (ПЗУ), в котором содержатся первичные программы управления устройствами – BIOS (Base Input Output System – базовая система ввода-вывода). Таким образом, BIOS – это постоянная память, которая позволяет процессору инициализировать дисководы, клавиатуру и видеосистему. В функции BIOS также входит тестирование оперативной памяти (ОП) и других устройств, определение аппаратного состава компьютера и загрузка операционной системы. Далее загружается операционная система с дисковых устройств в ОП ПК. И только после этого машина готова к общению с пользователем.

Логическая структура ПК

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

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

Рис. 2

Основная память ПК – совокупность постоянной или полупостоянной (содержащей BIOS) и оперативной памяти (ОЗУ, хранящей выполняемые программы и данные, непосредственно участвующие в операциях).

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

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

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

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

Периферийные устройства присоединяются к системной шине не напрямую. Основные периферийные устройства подключаются через цепочку адаптер (контроллер) периферийного устройства – порт ввода-вывода.

Порт ввода-вывода представляет собой программное, а зачастую и аппаратное устройство, предназначенное для обмена данными с периферийным устройством и для управления им.

Порт ввода-вывода играет роль «точки» на системной шине, к которой подключается адаптер (контроллер) периферийного устройства. Каждый порт имеет свой адрес, аналогичный адресу в ОЗУ, но содержащийся в другом адресном пространстве. Одному периферийному устройству может быть приписано несколько портов ввода-вывода, каждый из которых имеет своё назначение.

►В функции адаптера (контроллера) периферийного устройства входят:

Непосредственное управление периферийным устройством по запросам от микропроцессора.

Согласование интерфейса (способа взаимодействия) периферийного устройства с системной шиной.

Термины «адаптер» и «контроллер» близки. Однако контроллер несёт большую управляющую нагрузку, чем адаптер, реализующий, в основном, несложные согласования.

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

Имеется два универсальных типа коммуникационных портов: последовательные и параллельные.

Последовательные (serial) порты обеспечивают побитовый обмен информацией с медленнодействующими (мышь, джойстик, модем) или достаточно удалёнными периферийными устройствами.

Параллельные (parallel) порты служат для обмена байтами с более быстродействующими периферийными устройствами (принтер, сканер, цифровые фото- и кинокамеры).

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

►Необходимую реакцию на внешние по отношению к МП события обеспечивает система прерываний.

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

Прерывания делятся на следующие категории:

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

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

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

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

Сама системная шина представляет собой совокупность одно- и двунаправленных линий, логически объединяемых в следующие в группы:

шину данных – для передачи данных в оба направления;

шину адреса, с использованием которой адресуются порты ввода-вывода;

шину управления – для передачи управляющих сигналов, таких, как «запись в порт», «чтение из порта», сигналов прерываний и т. п.

Физически шины адреса и данных могут мультиплексироваться (совмещаться).

  1.  Состав персонального компьютера и периферийные устройства
    1.  Технические средства реализации информационных процессов 

Состав ПК

Обычно ПК семейства IBM PC состоят из следующих блоков:

системного блока, в котором размещаются:

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

видеоадаптера, подготавливающего информацию для вывода на монитор;

блок питания;

накопители для гибких магнитных дисков (дисковод, FDD);

накопитель на жестком магнитном диске (винчестер, HDD);

устройство чтения/записи компакт-дисков (CD-ROM, DVD-ROM, CD-RW, DVD-RW);

монитора – для отображения текстовой и графической информации;

клавиатуры и мыши – для управления компьютером и ввода в него информации.

МП ПК осуществляет выполнение программ и управляет работой остальных устройств ПК. Скорость его работы во многом определяет быстродействие всего ПК. Микропроцессоры отличаются друг от друга типом (моделью) и тактовой частотой. Чем выше модель процессора, тем меньше тактов требуется для выполнения одних и тех же операций.

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

Системная плата (ее также называют материнской, от английского Mother Board) – диэлектрическая пластина с многослойным печатным монтажом, на которой, как минимум, имеются:

микропроцессор;

модуль BIOS;

модули оперативной памяти;

системная шина;

гнёзда расширения ресурсов (слоты);

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

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

С помощью жгутов электрических проводов (шлейфов) встроенные адаптеры внешних устройств или адаптеры, подключаемые через платы расширения, соединяются с разъёмами, расположенными, как правило, с тыльной стороны корпуса ПК (например, клавиатура, мышь, джойстик, принтер, сканер, внешний модем). Другая часть контроллеров внешних устройств имеет разъёмы непосредственно на самой плате расширения (например, видеоадаптер, звуковая плата, встроенный модем).

►ОЗУ (англоязычное название RAM, Random-Access Memory – память с произвольной выборкой) хранит выполняемые программы и данные, непосредственно участвующие в операциях. Среднее время доступа к ее ячейкам составляет около 10 наносекунд (10-9 с). На современных ПК объем ОЗУ находится в пределах 128 – 4096 Мбайт.

От объёма ОЗУ зависит не только возможность работы с ресурсоёмкими программами, но и его производительность, поскольку при нехватке памяти в качестве её логического расширения используется жесткий диск, время доступа к которому значительно больше. На производительность ПК влияют также быстродействие ОЗУ и используемый способ обмена данными между микропроцессором и памятью.

ОЗУ реализуется на микросхемах DRAM (Dynamic RAM – динамическая память с произвольной выборкой), характеризующихся по сравнению с другими разновидностями памяти низкой стоимостью и высокой удельной ёмкостью, но большим энергопотреблением и меньшим быстродействием. Каждый информационный бит (0 или 1) в DRAM хранится в виде заряда конденсатора. Из-за токов утечки этот заряд необходимо с определённой периодичностью обновлять. Регенерация содержимого памяти требует дополнительного времени, а запись информации во время регенерации в память не допускается.

Видеоадаптер ПК позволяет монитору взаимодействовать с процессором. Поэтому видеоадаптер должен иметь специальную память (видеопамять), в которую процессор записывает изображение в периоды относительно небольшой загруженности. А уже затем видеоадаптер, независимо от процессора, может выводить содержимое видеопамяти на экран. В современных условиях минимальным объёмом видеопамяти следует считать 32 Мбайт, приемлемым – 128 Мбайт, комфортным – 256 Мбайт. Ввиду больших объёмов видеоинформации видеоадаптеры, как правило, подключаются к материнской плате через специализированные шины с наибольшей пропускной способностью.

►Жесткий магнитный диск (HDD – hard disk drive) состоит из пакета жестких магнитных дисков, заключённого вместе с головками чтения-записи в герметичный корпус.

Название «винчестер» закрепилось за жестким диском из-за того, что первый загерметизированный жёсткий диск, разработанный фирмой IBM в 1973 г., имел 30 цилиндров (по 30 дорожек на каждой поверхности), а каждая дорожка – 30 секторов. Поэтому первый накопитель получил обозначение 30/30, как калибр винтовки «винчестер». НDD первых ПК в России (ЕС1841, ЕС1845) имели объём 5 – 20 Мбайт. В настоящее время индивидуальные пользователи в основном имеют НDD с объёмом в диапазоне от 40 Гбайт до 300 Гбайт, что обусловлено, с одной стороны, требованиями к аппаратной части наиболее распространённого программного обеспечения ПК, а с другой стороны, имеющимся торговым предложением и стоимостными характеристиками аппаратуры. На рис. 1 показано схематическое устройство НDD.

Рис. 1

Внешние накопители информации

Дисководы (FDD – floppy disk drive) осуществляют чтение-запись информации на гибкие магнитные диски, заключённые в пластмассовые конверты. Другое название таких дисков – дискеты с объёмом 1,4 Мбайт. В настоящее время дисководы практически вышли из употребления.

Устройства для чтения оптических дисков (CD-ROMcompact disk read only memory) характеризуются большой информационной ёмкостью (до 680 Мбайт), низким по сравнению с HDD быстродействием, низкой стоимостью хранения данных в расчёте на 1 Мбайт, высокой надёжностью хранения данных и долговечностью носителей. Принцип работы CD-ROM основан на использовании луча лазера (твёрдотельный лазер с длиной волны 650 нм) для записи и чтения информации в цифровом виде. В процессе записи модулированный цифровым сигналом лазерный луч оставляет на активном слое оптического носителя (алюминиевая или золотая пленка на пластмассовом, чаще из поликарбоната, основании) стойкий след, который затем можно считывать, направив на него луч меньшей интенсивности и проанализировав изменение характеристик отражённого луча. В отличие от магнитных дисков, компакт-диски не имеют концентрических дорожек – вместо них на поверхности диска формируется одна спиральная дорожка. В большинстве моделей сам диск в накопителе вращается так, чтобы обеспечить вместо постоянной угловой постоянную линейную скорость. Современные приводы CD-ROM достигли более высоких скоростей считывания информации благодаря внедрению технологии CAV (Constant Angular Velocity – постоянная угловая скорость) – скорость считывания на периферийных участках диска – 4 – 7,8 Мбайт/с, а на внутренних – 2 – 3,5 Мбайт/с. Скоростные характеристики накопителей стандартизованы. Накопитель с одинарной скоростью вращения диска способен обеспечить скорость передачи 150 кбайт/с (этот показатель выбран за базовый). Поэтому, кроме фирмы-производителя, конкретный CD-ROM характеризуется кратностью превышения скорости передачи данных по отношению к накопителю с одинарной скоростью. Большинство современных CD-ROM имеют кратность 32-58.

Cпецификация на формат DVD (digital video disk – цифровой видео диск) является стандартной и соблюдается всеми производителями. С помощью приводов DVD-ROM можно считывать данные с лазерных компакт-дисков форматов CD-ROM, CD-R, CD-RW, DVD-ROM (односторонних, двусторонних, однослойных, двухслойных, ёмкостью 4,7 – 17 Гбайт), дисков видео DVD. Для подключения используются интерфейсы IDE/ATAPI или SCSI (подробнее см. п. 2.3.5). Чтение осуществляется в режиме постоянной угловой скорости, кратность лежит в диапазоне 2 – 6 (до 7 Мбайт/с), при чтении дисков CD-ROM скорость выше – от 10 до 24 (36 Мбайт/с). Существуют также приводы с возможностью записи на носитель DVDR (однократная запись), DVD-RAM и DVDRW (оба с многократной записью).

Переносные накопители USB Flash Drive

Краткое название – USB Flash Drive. При емкости до нескольких гигабайт и необычайной легкости подключения к современным компьютерам, благодаря удобствам интерфейса USB (Universal Serial Bus) и опознаванию большинством нынешних операционных систем, эти устройства могут заменять собой как обычные дискеты, перезаписываемые компакт-диски, так и небольшие винчестеры. Строго говоря, USB Flash Drive не является винчестером, поскольку не содержит в себе главных «винчестерных» атрибутов – вращающихся пластин с магнитным покрытием. Однако, по функциональным характеристикам сходство с винчестерами очень близкое – длительное энергонезависимое хранение данных, быстрая (и в произвольном порядке) перезапись информации, количество циклов перезаписи тоже крайне велико, и достаточно высока скорость работы. По объему и скорости сегодняшние USB Flash Drive соответствуют винчестерам примерно шестилетней давности. Выгодные отличия от винчестеров – это малые габариты, очень малое энергопотребление в работе (несколько десятков миллиампер от порта USB), повышенная ударопрочность.

Конструктивное исполнение таких устройств выполняется в пластмассовом корпусе с интерфейсом USB (версии 1.1 скорость передачи данных до 12 МБит/с или версии 2.0 более скоростной), а на другом – отверстие для крепления шнурка и красный светодиод для индикации режимов работы. При активировании накопителя светодиод светится постоянно, при передаче данных – мигает, а при «засыпании» гаснет. Сбоку есть потайной переключатель, позволяющий запретить запись и удаление файлов на накопителе.

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

Скорость записи – не менее 450 кбайт/с, скорость чтения – более 750 кбайт/с (ток потребления при записи/чтении – 36 и 33 мА соответственно). Ударостойкость 1000 G (выше любого современного винчестера). Время хранения данных – не менее 10 лет, и количество циклов записи (стирания) – не менее 1 миллиона (то есть 70 лет, если ежедневно перезаписывать весь диск по 40 раз). Накопитель весьма непритязателен и способен работать при высоких вибрациях, влажности и больших магнитных помехах.

  1.  Состав персонального компьютера и периферийные устройства (продолжение)
    1.  Технические средства реализации информационных процессов 

Видеомониторы

Видеомониторы предназначены для вывода на экран текстовой и графической информации.

По конструкционному исполнению они делятся на мониторы, имеющие электронно-лучевую трубку (ЭЛТ), жидкокристаллические и плазменные мониторы. Подавляющая часть мониторов ПК основана на использовании электронно-лучевых трубок (ЭЛТ), но в настоящее время они постепенно вытесняются жидкокристаллическими мониторами, а плазменные мониторы пока встречаются относительно редко.

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

Частота перехода на новую линию называется частотой строчной (или горизонтальной) развертки. Частота перехода из нижнего правого угла в левый верхний называется частотой вертикальной (или кадровой) развертки. Амплитуда импульсов перенапряжения на катушках строчной развертки возрастает с частотой строк, поэтому этот узел оказывается одним из самых напряженных мест конструкции и одним из главных источников помех в широком диапазоне частот. Электроны попадают на люминофорный слой, после чего энергия электронов преобразуется в свет, то есть поток электронов заставляет точки люминофора светиться. Эти светящиеся точки и формируют изображение. Как правило, в цветном ЭЛТ мониторе используется три электронные пушки и три основных цвета точек люминофора: зеленый красный и синий. Основными характеристиками ЭЛТ мониторов являются: размер экрана по диагонали, разрешающая способность, размер точки (зерна) экрана, частота кадровой развёртки, режим строчной развёртки, глубина цвета.

Размер экрана по диагонали измеряется, как правило, в дюймах. Стандартными размерами являются 13, 14, 15, 17, 19, 21”. Разрешающая способность – количество точек изображения по горизонтали и вертикали экрана. Стандартным разрешением можно считать 1024х768, то есть мониторы, работающие при таком режиме, способны выводить на экран 1024 точек по горизонтали и 768 точек по вертикали при 24- или 32-битной глубине цвета. Глубина цвета, например, 32-битная, означает возможность кодирования 232 различных оттенков. Существуют и более высокие разрешающие способности, например, 1280х1024 точек и др. Размер точки (зерна) экрана (шаг точек) – выраженное в милиметрах расстояние между центрами двух соседних точек люминофора. Для мониторов 13-14” ранних лет выпуска шаг точек составлял 0,31-0,39 мм. Для большинства современных мониторов шаг точек составляет – 0,21-0,25 мм. Частота кадровой развёртки для современных мониторов составляет 50-200 Гц, а основным режимом можно считать 100 Гц. Режим строчной развёртки характеризует способ формирования изображения. Если развёртка чересстрочная, то кадр изображения выводится на экран за два приёма (сначала прорисовываются все нечётные строки, затем – все чётные). По сути, этот режим снижает частоту кадровой развёртки в 2 раза. Современные мониторы имеют режим построчной (нечересстрочной – non-interlaced) развёртки.

Жидкокристаллические мониторы

Первый работоспособный жидкокристаллический дисплей, или LCD-монитор (Liquid Crystal Display), был создан в 1970 году. Жидкие кристаллы (Liquid Crystal) – это органические вещества, способные под напряжением изменять величину пропускаемого света. Жидкокристаллический монитор представляет собой две стеклянных или пластиковых пластины, между которыми находится суспензия. Кристаллы в этой суспензии расположены параллельно по отношению друг к другу, тем самым они позволяют свету проникать через панель. При подаче электрического тока расположение кристаллов изменяется, и они начинают препятствовать прохождению света. Жидкокристаллическая (ЖК) технология получила широкое распространение в компьютерах и в проекционном оборудовании. Первые жидкие кристаллы отличались нестабильностью и были мало пригодными к массовому производству. Реальное развитие ЖК технологии началось с изобретением английскими учеными стабильного жидкого кристалла – бифенила (Biphenyl). Жидкокристаллические дисплеи первого поколения можно наблюдать в калькуляторах, электронных играх и часах.

Существует два вида ЖК мониторов: DSTN (dual-scan twisted nematic – кристаллические экраны с двойным сканированием) и TFT (thin film transistor – на тонкопленочных транзисторах), также их называют соответственно пассивными и активными матрицами. Такие мониторы состоят из следующих слоев: поляризующего фильтра, стеклянного слоя, электрода, слоя управления, жидких кристаллов, ещё одного слоя управления, электрода, слоя стекла и поляризующего фильтра.

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

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

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

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

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

Большинство ЖК мониторов – цифровые. Это означает, что графической карте с цифровым выходом не придется производить цифроаналоговые преобразования, какие она производит в случае с ЭЛТ-монитором. Теоретически, это позволяет более точно передавать информацию о цвете и местоположении пикселя. В то же время, если подключать ЖК монитор к стандартному аналоговому VGA выходу, придется проводить аналого-цифровые преобразования.

ЖК мониторы имеют целый ряд преимуществ:

в 2–3 раза меньшее потребление электроэнергии (15-30 ватт);

отсутствие ионизирующего излучения;

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

в ЖК мониторах каждый пиксель включается или выключается отдельно, поэтому не возникает проблем со сведением лучей, в отличие от ЭЛТ-мониторов, где требуется безукоризненная работа электронных пушек;

отсутствие мерцания (каждая точка светится столько времени, сколько нужно пользователю, и эффекта затухания нет, если картинка на экране не меняется из–за отсутствия построчной развёртки);

меньшие габариты и масса;

большая видимая область экрана.

Среди других отличий можно выделить следующие.

Разрешение: ЭЛТ-мониторы могут работать с несколькими разрешениями в полноэкранном режиме, тогда как ЖК монитор может работать только с одним разрешением. Меньшие разрешения возможны лишь при использовании части экрана. Так, например, на мониторе с разрешением 1024х768 при работе в разрешении 640х480 будет задействовано лишь 66% экрана.

Измерение диагонали: размер диагонали видимой области ЖК монитора соответствует размеру его реальной диагонали. В ЭЛТ-мониторах реальная диагональ теряет за рамкой монитора более дюйма.

Контрастность – сами по себе пиксели не вырабатывают свет, они лишь пропускают свет от подсветки. И темный экран вовсе не означает, что подсветка не работает – просто пиксели блокируют этот свет и не пропускают его сквозь экран. Под контрастностью LCD монитора подразумевается то, сколько уровней яркости могут создавать его пиксели. Обычно, контрастность 250:1 считается хорошей.

Угол обзора у LCD монитора составляет от 140 до 180 градусов, что, практически, соответствует аналагичному показателю ЭЛТ мониторов.

Принтеры

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

Струйные принтеры. Изображение формируется микрокаплями специальных чернил, выдуваемых на бумагу с помощью сопел. Эти принтеры обеспечивают более высокое качество печати по сравнению с матричными принтерами (разрешающая способность – до 600 точек на дюйм). Лучше приспособлены для цветной печати. На распечатку одного листа уходит от 15 до 100 секунд. Время печати цветной страницы – 3-5 минут.

Лазерные принтеры. Обеспечивают наилучшее качество и скорость печати. Используется принцип ксерографии: изображение переносится на бумагу со специального барабана, к которому электрически притягиваются частички красящего порошка. Печатающий барабан электризуется с помощью лазера по командам из ПК. Разрешающая способность – более 1200 точек на дюйм. Скорость печати от 2 до 16 листов в минуту. Все современные принтеры имеют, как правило, устройство автоматической подачи бумаги при печати на отдельных листах, собственное ПЗУ для хранения встроенных шрифтов (наиболее скоростной режим печати) и ОЗУ (0,5-16 Мбайт), используемое для построения выводимых на принтер рисунков и для хранения шрифтов символов, загружаемых в принтер программно. В качестве примера на рис. 2.11 приведён внешний вид принтера Canon LBP-810 (A4 8 стр./мин, 2400х600 точек на дюйм, USB).

Основными способами подключения принтеров к ПК являются подключение по параллельному (LPT) порту и по последовательной универсальной шине USB. Второй вид подключения является более перспективным и высокоскоростным.

Сканеры

Сканеры позволяют считывать графическую и текстовую информацию в ПК.

Сканеры делятся на настольные (планшетные), обрабатывающие лист бумаги целиком, и ручные (их нужно проводить над графическим объектом). Различные модели отличаются разрешающей способностью, количеством воспринимаемых цветов или оттенков серого цвета. Современные планшетные сканеры имеют разрешение от 2400 точек на дюйм при 24-х и 32-х битном цвете. С помощью специального программного обеспечения ПК (систем оптического распознавания текстов) возможно распознавание стандартных символов во введённой через сканер картинке.

Сетевой адаптер (сетевая карта)

Сетевой адаптер – это плата расширения, устанавливаемая в рабочую станцию, сервер или другое устройство сети, позволяющая обмениваться данными между компьютерами. Операционная система через соответствующий драйвер управляет работой сетевого адаптера. Объем задействованных при этом ресурсов адаптера и центрального процессора системы может изменяться от реализации к реализации. На сетевых картах обычно имеется микросхема (либо гнездо для ее установки) перезаписываемой памяти для удаленной загрузки (Remote Boot), которая может быть использована для создания бездисковых станций. Как правило, подключаются к системной плате ПК через разъем PCI (см. п. 2.3.5). На задней панели расположен разъём для подключения сетевого кабеля. Современные сетевые адаптеры обеспечивают пропускную способность, обычно, 10 Мбит/с, 100 Мбит/с либо 1000 Мбит/с.

Модемы 

Модем обеспечивает удалённый доступ ПК к компьютерным сетям по линиям связи (чаще всего – проводные и радиоканалы). Модем представляет собой устройство, имеющее, два интерфейса: с внешней точки зрения – цифровой интерфейс для подключения к ПК (обычно последовательный порт RS-232) и аналоговый интерфейс с каналом связи (телефонной линией) – разъем для телефонного кабеля (RJ-11). Основное устройство в составе модема – аналого-цифровой и цифро-аналоговый преобразователи, ответственные за преобразование сигнала из аналоговой формы (непрерывный сигнал-напряжение) в цифровую (отдельные отсчеты сигнала, дискретизованные по времени и квантованные по напряжению), и наоборот соответственно. Практически все современные модемы производят обработку информации в цифровой форме, без сколь-либо сложной аналоговой предобработки. По исполнению модемы можно разделить на внутренние и внешние.

Внутренний модем вставляется в разъем PCI системной платы ПК. Этот вид модемов делится на контроллерные и бесконтроллерные. Дальнейшим развитием бесконтроллерных модемов являются Soft-модемы (иначе Win-модемы).

Внешний модем имеет отдельный корпус и размещается рядом с компьютером, соединяясь кабелем с последовательным портом ПК.

Корпус ПК

Предназначен для размещения системной платы ПК с подключенными периферийными устройствами, отсеков для 3,5” и 5,25” устройств, блока питания, поддержания температурного режима размещённых в нём устройств, а также для защиты пользователя и окружающих электронных устройств от опасных напряжений, электромагнитных излучений и шумов, создаваемых системным блоком.

Корпуса существуют в двух основных исполнениях – в горизонтальном (desktop) и вертикальном (mini-, middle-, big tower). Чем больше размер корпуса, тем легче обеспечить охлаждение находящихся в нём устройств.

Конструктивно корпуса современных ПК делятся на два типа – АТ (включение и выключение питания осуществляется пользователем вручную) и АТХ (имеется возможность программного управления питанием). Отличия не сводятся только к необходимости ручного включения/выключения питания для корпусов АТ. Разъёмы для подачи питания на системных платах у разных типов корпусов имеют различную спецификацию. Как следствие, ответные части разъёмов питания на корпусах ПК также различны. Поэтому тип устанавливаемой системной платы должен соответствовать типу корпуса.

  1.  Программное обеспечение ПК
    1.  Программные средства реализации информационных процессов

Точное число программ для современного компьютера подсчитать невозможно, однако по традиции выделяется два вида: системное программное обеспечение (ПО) и прикладное ПО.

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

Операционной системе, как главному элементу программного обеспечения, будет уделено значительное внимание в следующей главе. В каждой группе программных продуктов можно выделить один из наиболее распространенных, хотя мнение авторов в этом случае может не совпадать с мнением других. К программам-утилитам в большинстве случаев относятся: утилиты для определения аппаратного состава ПК и диагностики его узлов (пакет SiSoftware Sandra Professional). Весьма распространены графические методы тестирования производительности ПК с помощью программ Futuremark 3Dmark05 Pro. Прекрасным дополнением к операционной системе Windows любой версии является пакет утилит Norton Systemworks Pro, включающий программы для диагностики и резервирования данных, антивирусный пакет, утилиту для восстановления операционной системы после сбоя, восстановление случайно удаленных файлов и др. Выпускаются и отдельные программы для создания, удаления, изменения и конвертации разделов жесткого диска (PowerQuest PartitionMagic, Partition Explorer). При установке нескольких операционных систем на один жесткий диск потребуется программа-утилита загрузки, например, BootManager. В связи с тем, что операционные системы, как правило, не обладают средствами для повышения степени защиты файлов пользователя, существуют программы для полного удаления файлов с разных носителей (Disk Wiper Pro), а также Encrypted Disk PE для шифрования файлов и каталогов.

Большую группу программ-утилит составляют антивирусные программы. Наиболее известны российские антивирусные программы Kaspersky Antivirus Pro, Dr.Web for Windows, среди зарубежных программ-анивирусов выделяются Norton Antivirus, McAfee Internet Security Suite, Panda Platinum Internet Security. Эти программы включают в себя антивирусный сканер, монитор, антиспам (для удаления нежелательной электронной почтовой рассылки) и средства для уничтожения рассылки нежелательной электронной рекламы.

Работа любого пользователя не обходится без средств архивации (сжатия, компрессии) данных. Архиватор позволяет сэкономить место на жестком диске за счет применения методов алгебраического кодирования информации, которые часто связаны с удалением повторяющихся данных из исходного файла. Современнные архиваторы WinRAR, WinZIP позволяют достичь высокого коэффициента компрессии (в зависимости от типа файла) – отношения длины заархивированного файла к длине исходного. В некоторых случаях, например, при обработке аудио- и видеоданных без методов архивации вообще обойтись невозможно.

Отдельную группу программ-утилит составляют программные средства для записи CD и DVD дисков. Во многих случаях пользователи предпочитают программный комплекс для записи дисков Ahead Nero Burning ROM. Существует также средство для создания точных копий дисков, включая и защищенные CloneCD, CloneDVD.

При обработке различных мультимедиаданных потребуются графические, аудио-, видеоконвертеры. Значительное число графических форматов файлов можно обработать с помощью пакета программ ACDSee PowerPack, а известными кодеками для сжатия видеоданных являются DivX Pro и InterVideo WinDVD. Не менее популярны и утилиты – мультимедиапроигрыватели, среди которых несомненным лидером является Winamp Pro.

Прикладное ПО предназначено для решения задач пользователя в различных предметных областях.

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

Невозможно представить работу современного пользователя ПК без пакета программ Microsoft Office, изучению которого в данном учебнике посвящена пятая глава.

Пользователь, желающий грамотно и профессионально оформить свою работу графическими иллюстрациями, вряд ли обойдется без пакета графических программ Adobe Creative Suite, включающего «короля» графических редакторов Adobe Photoshop. Другими полезными программами из этого пакета являются Adobe Illustrator – для работы с векторной графикой, Adobe GoLive – макетирование и разработка Web-сайта. Очень популярен формат электронного документа Portable Document Format (pdf), с которым позволяет работать программа Adobe Acrobat. Как альтернатива, существует пакет программ CorelDRAW Graphics Suite, включающий программы аналогичного назначения.

Под мультимедиаредактированием обычно понимают создание небольших видеороликов, включающих как видео-, так и звуковую дорожку. Записать и оцифровать видео в любительском и полупрофессиональном виде (конечно, при наличии адаптеров видеозахвата) можно с помощью программ Pinnacle Studio, Adobe Premiere Pro или Ulead Media Studio. Для редактирования только звуковой дорожки подойдет редактор Sony Sound Forge.

Современные домашние ПК настолько производительны, что легко позволяют работать с трехмерной графикой. Визуальное конструирование трехмерных моделей и их анимацию позволяет осуществлять 3DMax Studio. Другие пользователи среди программ трехмерного моделирования предпочитают программный пакет Maya.

Для нынешних студентов теоретические знания в области математики, безусловно, необходимы, но пакеты символьных вычислений могут значительно облегчить постижение ее глубин. Среди основных математических пакетов следует указать Maplesoft Maple, так как на его символьном ядре разрабатываются другие, например, Mathsoft MathCAD и Wolfram Research Mathematica. Множество программ позволят автоматизировать статистические исследования и анализ данных, например, StatSoft Statistica или SPSS. Выполнять имитационное моделирование можно в программе GPSS World.

Системы автоматизированного проектирования, с внешней стороны «похожие» на графические пакеты программ, обладают совсем другим внутренним содержанием. Например, распространенная САПР Autodesk AutoCAD представляет собой целую систему программирования и управления 2D и 3D графикой на основе языка AutoLisp. Кроме этого, AutoCAD имеет множество надстроек, которые позволяют автоматизировать процесс проектирования в различных областях производства, например, архитектуре, машиностроении и др.

Огромной популярностью в области решения задач экономического анализа и финансового учета пользуются программы серии 1С: Предприятие. В зависимости от поставляемой конфигурации, программы этой серии могут автоматизировать операции складского, бухгалтерского, кадрового и др. учета. Масштабы автоматизации с помощью программ 1С: Предприятие различны: начиная от индивидуального предприятия и заканчивая крупной корпорацией (1С: Предприятие + SQL).

Современные системы программирования позволяют разрабатывать программы по технологии быстрой разработки приложений RAD (Rapid Application Development). Эта технология состоит из этапа визуального конструирования интерфейса приложения и этапа разработки программного кода, который будет обрабатывать действия пользователя с компонентами интерфейса. Наиболее мощным и включающим значительное число языков программирования является Microsoft Visual Studio.Net. Эта среда разработки программ для операционной системы Windows является стандартом де-факто, и другие разработчики вынуждены подстраиваться под программирование в среде Microsoft Net Framework. Примером может служить изначально ориентированная на язык Паскаль, а теперь включающая и другие языки программирования RAD Borland Delphi (версии 2005). Visual Studio.Net существует в четырех версиях: Professional, Enterprise Developer, Enterprise Architect и Academic. Пользователь может разрабатывать программу на одном из четырех основных языков программирования: Visual Basic, Visual C++, Visual C#  и Visual J#. Следует, однако, заметить, что в пакет программ Microsoft Office встроен язык программирования Visual Basic for Applications (VBA). В большинстве случаев, связанных с автоматизацией офисной деятельности, пользователь может обойтись его применением.

Значительное число прикладных программ появляется в связи с ростом интернет-технологий и электронных телекоммуникаций. Работая с Web-серверами Internet, пользователь прибегает к услугам программы-браузера: Internet Explorer, Opera, Netscape Navigator. Какой из них лучше – зависит от вкуса самого пользователя, но объективно можно утверждать, что для удобной работы с электронной почтой понадобится более совершенная программа, например, The Bat!. Лучшим вариантом, чем браузер, для «скачивания» файловых архивов, наверняка будет специализированная программа типа Reget, Flashget, Download Master. Не следует забывать и о программах фильтрации интернет-трафика, которые также называют брандмауэрами или файерволами (firewall). Эта «огненная стена» защитит мирного пользователя Internet от нежелательного воздействия злоумышленников на его компьютер, а также избавит от ненужной рекламы и «всплывающих» окон, которые отнимают время соединения или перегружают трафик пользователя. Среди них стоит упомянуть о программе OutPost Firewall. Пожалуй, эта группа программ на сегодняшний день пополняется наиболее интенсивно, являясь одной из самых востребованных.

  1.  Операционные системы
    1.  Программные средства реализации информационных процессов

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

ОС классифицируются:

по количеству одновременно работающих пользователей: одно- и многопользовательские;

по числу процессов, одновременно выполняемых под управлением системы: одно- и многозадачные;

по количеству поддерживаемых процессоров: одно– и многопроцессорные;

по разрядности кода ОС: 8–, 16–, 32– и 64–разрядные;

по типу интерфейса: командные (текстовые) и объектно-ориентированные (графические);

по типу доступа пользователя к ПК: с пакетной обработкой, с разделением времени, реального времени;

по типу использования ресурсов: локальные и сетевые.

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

Приложение ОС – прикладная программа, которая не относится к компонентам ОС, но работает под ее управлением.

Пользователь взаимодействует с ОС на уровне пользовательского интерфейса (UIUser Interface). Программист взаимодействует с ОС на уровне программного интерфейса (API Application Program Interface). На рис. 1 представлено взаимодействие пользователей, программистов и операционной системы. ОС, как интерфейс между пользователем и аппаратными средствами компьютера на прикладном уровне, предоставляет возможности исполнения программ, доступ к периферийным устройствам ввода-вывода и файловой системе. На программном уровне пользователи ОС могут разрабатывать свои прикладные и системные приложения, пользуясь интерфейсами программирования, например, в ОС Windows 2000 базовым является программный интерфейс Win32 API. Существуют также интерфейсы MAPI, TAPI, CryptoAPI и др. Программный интерфейс ОС представляет собой документированные разработчиком, вызываемые на языках программирования высокого уровня подпрограммы. В современных ОС наборы вызываемых подпрограмм API сходного назначения объединяются в один двоичный файл, который приложение может использовать, динамически загружая в процессе своей работы – динамически подключаемую библиотеку (DLL).

Рис. 1

ОС, играя роль посредника, служит двум целям:

эффективно использовать ресурсы вычислительной системы;

создавать условия для эффективной работы пользователя.

Основные функции ОС:

распределение ресурсов;

управление заданиями, задачами, данными, памятью, процессорами, устройствами ввода-вывода;

организация режимов работы (пакетного, однопрограммного, мультипрограммного, реального);

выполнение программ;

разработка программ;

отладка программ.

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

Рис. 2

Управляющая программа (микроядро ОС) – обязательный компонент, выполняющий следующие функции:

– планирование прохождения непрерывного потока заданий;

– управление распределением ресурсов;

– реализация принятых методов организации данных;

– управление операциями ввода-вывода;

– организация мультипрограммной работы;

– управление работоспособностью системы после сбоев.

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

Управление динамическими ресурсами (задачами) осуществляет динамическое распределение ресурсов между несколькими задачами, решаемыми одновременно в мультипрограммном режиме для выполняемого потока заданий. Динамическое управление выполняет программа супервизор (планировщик).

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

Управление восстановлением регистрирует машинные сбои и отказы и восстанавливает работоспособность системы после их возникновения, если это возможно.

В качестве основных аппаратных ресурсов компьютера, подлежащих распределению, обычно рассматривают:

время работы процессора;

адресное пространство основной памяти;

оборудование ввода – вывода;

файлы, хранящиеся во внешней памяти.

Основными подсистемами, обеспечивающими распределение указанных ресурсов ОС, являются:

подсистема управления процессами (распределяет ресурс «процессорное время»);

подсистема управления памятью (распределяет ресурс «адресное пространство основной памяти»);

подсистема управления устройствами (распределяет ресурсы «оборудование ввода – вывода»;

подсистема управления данными (распределяет ресурс «данные или файлы»).

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

адресное пространство памяти, которое доступно процессу;

код программы и данные, помещаемые в адресное пространство для исполнения и обработки;

идентификатор процесса и его контекст, то есть информация о состоянии аппаратных средств, выделенных процессу, и стадии его выполнения;

список ресурсов компьютера, которые требуются процессу;

средства защиты памяти процесса от постороннего вмешательства в код и данные процесса;

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

Одно из основных условий функционирования ОС – стабильность и устойчивость – приводят к четкому разделению процессов на две группы: системные и прикладные. Первая группа, системные процессы, выполняются в режиме ядра ОС. К ней относится сам код ОС и программы, взаимодействующие с устройствами компьютера на уровне машинных команд – драйверы устройств. Этим процессам разрешается доступ ко всей физической системной памяти ПК (адресному пространству памяти ОС), и выполнение любых машинных команд микропроцессора, в том числе привилегированных. Пользовательские процессы работают только в своем адресном пространстве, не имея возможности повлиять на ход функционирования системных процессов, и даже могут быть принудительно завершены последними. С точки зрения программирования, пользовательским процессам доступны библиотеки подпрограмм и функции API, которые при необходимости переходят на уровень системных процессов.

При исполнении программ на процессоре различаются следующие характерные отдельные состояния:

порождение – подготавливаются условия для первого исполнения на процессоре;

активное состояние – программа исполняется на процессоре;

ожидание – программа не исполняется на процессоре по причине занятости какого-либо требуемого ресурса;

готовность – программа не исполняется, но для исполнения предоставлены все необходимые в текущий момент ресурсы, кроме процессора;

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

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

Рис. 3

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

Процессы можно разделить на следующие классы:

обычные (пакетные) – длительность интервала существования не определенная;

интерактивные – интервал существования не более времени реакции компьютера на запросы пользователя;

реального времени – интервал существования процесса менее некоторого определенного момента времени (гарантированного интервала).

Один процесс может порождать следующий, при этом порождающий процесс будет «предком», а порожденный – «потомком». Порядок длительности и пребывания процесса в допустимых состояниях на интервале существования называется трассой процесса.

По способу достижения конечного результата обработки информации процессы делятся на:

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

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

равные – трассы процессов и все остальное совпадают.

Во всех остальных случаях процессы различны.

По времени существования друг относительно друга процессы делятся на:

последовательные – интервалы существования процессов не пересекаются во времени;

параллельные – на рассматриваемом интервале времени процессы существуют одновременно;

комбинированные – на рассматриваемом интервале времени есть точка, в которой существует один процесс и не существует другой, и точка, в которой два процесса существуют одновременно.

По принадлежности к ОС процессы могут быть:

системные;

пользовательские.

По связности:

изолированные – нет связей друг с другом;

информационно-независимые – процессы совместно используют некоторые ресурсы, но не обмениваются информацией;

взаимодействующие – процессы взаимосвязаны обменом информацией;

конкурирующие – процессы взаимосвязаны по ресурсам.

Порядок выполнения процессов определяет ряд отношений между ними, которые в совокупности называются синхронизирующими правилами.

Отношение предшествования. Означает, что первый процесс должен переходить в активное состояние всегда раньше второго.

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

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

  1.  Операционные системы (продолжение)
    1.  Программные средства реализации информационных процессов

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

В общем случае ресурс – это запас неких материальных предметов в составе некоторого объекта.

Ресурс вычислительной системы – это средство компьютера, которое может быть выделено процессу на определенный интервал времени.

Ресурсы можно классификацировать по следующим признакам.

По реальности существания:

физические;

виртуальные.

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

По характеру использования:

параллельно-используемый;

последовательно-используемый.

По возможности расширения свойств:

жесткий;

расширяемый.

По активности:

активный;

пассивный.

По времени существования:

постоянный;

временный.

По степени важности:

главный;

второстепенный.

По функциональной избыточности:

дорогой;

дешевый.

По структуре:

простой;

составной.

По восстанавливаемости:

воспроизводимый;

потребляемый.

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

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

Процесс выполняет в отношении ресурсов три типа действий:

запрос – в ответ на него ОС выделяет процессу некоторый ресурс, либо отказывает в его выделении;

использование – процесс использует некоторый ресурс в соответствии со своей программой;

освобождение – выполняется по требованию процесса и переводит ресурс в состояние «свободен».

Если ресурс допускает многократное выполнение действий ЗАПРОС-ИСПОЛЬЗОВАНИЕ-ОСВОБОЖДЕНИЕ, то он называется воспроизводимым, иначе – потребляемым. Примером потребляемого ресурса может служить буфер ввода-вывода, при записи в который предыдущая информация теряется, что эквивалентно повторному выделению этого ресурса.

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

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

►Супервизор – часть операционной системы, отвечающая за перераспределение ресурсов между процессами.

Обычно, супервизор работает по следующим правилам. Получив управление, супервизор действует в соответствии с запрограммированной стратегией выполнения процессов. В зависимости от приоритета процесса, супервизор может выделять ему необходимые для успешного выполнения ресурсы. Ресурс будет выделен обратившемуся за ним процессу, если: a) он свободен, и нет задач с более высоким приоритетом, обратившимся за этим ресурсом; b) текущий запрос и ранее выданные запросы допускают совместное использование ресурсов; c) ресурс используется задачей с более низким приоритетом и может быть временно отобран. Если ресурс занят, супервизор ставит процесс в очередь к ресурсу, переводя его в состояние ожидания. Очередь к ресурсу может быть организована различными способами, но обычно с помощью списковой структуры. Если требуемые ресурсы готовы для использования процессом, то супервизор передает ему управление, и процесс начинает выполняться. После завершения работы с ресурсом процесс с помощью системного вызова супервизора сообщает об отказе от ресурса и освобождает его для других процессов.

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

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

готовности к выполнению, когда готовы к обработке данных процесса все ресурсы, кроме процессора;

блокирования или ожидания, когда затребованные ресурсы не могут быть предоставлены процессу или не завершена операция ввода/вывода.

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

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

по команде оператора (пользователя);

при выборе из очереди супервизором;

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

по прерыванию от внешнего «инициативного» устройства;

при наступлении запланированного времени запуска программы.

Из стадии выполнения процесс может выйти по одной из следующих причин:

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

процесс переводится супервизором ОС в состояние готовности к исполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного ему кванта времени;

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

Процесс деблокируется и переводится в стадию готовности к выполнению при наступлении соответствующего события:

завершение операции ввода/вывода;

освобождение затребованного ресурса;

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

Предпосылками изменения состояния процесса являются события. Один из основных видов событий – прерывания.

  1.  ОС семейства Windows
    1.  Программные средства реализации информационных процессов

В настоящее время существует несколько различающихся направлений в семействе ОС Windows:

Windows 95/98,Windows ME (Millennium Edition);

Windows NT/2000;

Windows XP

Windows 2003 Server

Windows 64-bit Edition

Каждое направление состоит из некоторого числа модификаций версий Windows, что позволяет выделить две области применения:

версии персональные, Windows 95/98/ME, Windows XP Home Edition;

версии для рабочих станций сетей, Windows 2000 Professional, Windows XP Professional;

версии для серверов сетей, Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows 2003 Server.

Среди общего числа версий ОС Windows есть преемники принципиально нового направления, технологии NT (New Technology, разрабатываемой Microsoft с 1989 г.). К ОС технологии NT предъявляется ряд повышенных, в сравнении с потребительскими версиями Windows, требований, таких как поддержка многопроцессорных систем, вытесняющая многозадачность, работа с виртуальной памятью, защищенная файловая система и др. К ним относятся все версии операционных систем Windows 2000 и Windows XP. Системные файлы этих модификаций Windows одинаковы, как и ядро ОС. Они различаются между собой по числу поддерживаемых процессоров, объему поддерживаемой физической памяти, одновременному числу сетевых подключений и наличием дополнительных сетевых сервисов.

В сравнении с предыдущими версиями (Windows 95/98/ME), у ОС технологии NT имеется ряд существенных отличий. Первое принципиальное отличие технологии NT состоит в повышении надежности работы ядра системы и исключении возможности зависания ОС из-за зависания или некорректной работы пользовательской программы. Второе принципиальное отличие технологии NT – возможность использования не только файловых систем из предыдущих версий Windows, называемых FAT16 и FAT32, но и значительно более безопасной и надежной файловой системы NTFS (NT File System). Использование NTFS повышает безопасность компьютера, так как эта файловая система допускает защиту данных (файлов и папок) путем их шифрования и возможности установки запрета на доступ к ним. Кроме этого, NTFS обеспечивает более высокую степень сжатия информации и полную поддержку разделов и файлов большого размера. Третье существенное отличие технологии NT заключается в том, что на одном компьютере можно запускать не только версии Windows 2000/XP, но и более ранние версии Windows 95/98/ME. Для этого используется конфигурация с двойной загрузкой, и на этапе загрузки компьютера можно выбрать ту операционную систему, которая требуется в этом сеансе работы.

Общая структура ОС Windows XP

Windows XP имеет модульную структуру, в которой код ОС и драйверы выполняются в привилегированном режиме процессора (режиме ядра), обеспечивающим полный доступ ко всей аппаратной части компьютера, а пользовательские приложения выполняются в непривилегированном режиме процессора, называемом пользовательским режимом ОС без прямого доступа к оборудованию компьютера. Упрощенная структура Windows XP представлена на рис. 1.

В режиме ядра работают следующие компоненты.

1. Уровень абстрагирования от оборудования (Hardware Abstraction Layer, HAL). Его задачей является отделение ОС от особенностей конкретных реализаций в аппаратном обеспечении ПК, т.е. от различий в материнских платах, модификациях процессоров, наборах микросхем и др. Благодаря этому уровню управление подсистемами прерываний, прямого доступа к памяти, системными шинами, таймерами для ядра ОС является одинаковыми. Уровень HAL реализован в системном файле Hal.dll.

2. Ядро содержит наиболее часто вызываемые низкоуровневые функции ОС, планирование и распределение ресурсов между процессами, их переключение и синхронизацию. В обязанности ядра входит также управление прерываниями и обработка ошибочных ситуаций при функционировании ОС. Код ядра Windows XP не разделяется на потоки, находится только в оперативной памяти и не может быть выгружен на диск. Код ядра Windows XP находится в системном файле Ntoskrnl.exe.

3. Драйверы устройств представляют собой подпрограммы, транслирующие вызовы, поступившие от пользовательских программ в запросы обработки данных для конкретных устройств. Значительное число драйверов устройств входит в состав Windows XP (они располагаются в подкаталоге /system32/drivers системного каталога и имеют тип файла *.sys, например, драйвер дисковой подсистемы находится в файле disk.sys), а для нестандартных периферийных устройств драйверы находятся в комплектах поставки.

4. Исполняющая подсистема (NT Executive) состоит из микроядра и подсистем диспетчеризации управления программами и доступом к виртуальной памяти, окнам и графической подсистеме. Виртуальная память предоставляет пользовательским программам виртуальные адреса адресного пространства процессов и соответствующие физические страницы оперативной памяти ПК. Графическая подсистема предназначена для создания оконного интерфейса, рисования элементов управления, расположенных в окнах. К исполняющей подсистеме относятся системные файлы Ntkrnlpa.exe, Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll.

ОС Windows XP в значительной мере использует возможности процессоров, совместимых с семейством Intel x86. В их аппаратной архитектуре предусматривается четыре уровня привилегий выполнения кода программ от 0-го наивысшего привилегированного, до 4-го пользовательского режима с ограниченным набором команд процессора. Программы режима ядра ОС Windows XP функционируют в нулевом, защищенном и привилегированном режиме, а все остальные пользовательские программы работают в менее привилигированных режимах, таким образом, находясь под контролем у программ режима ядра. Операции, недоступные в пользовательском режиме, приложения (а также многие подсистемы самой Windows XP, которые не работают в режиме ядра) обращаются к системным вызовам ядра ОС, которые также называют Win32 API. В состав этого API входит более 250 функций, обращение к которым осуществляется при помощи системных вызовов, основанных на подпрограммах ядра ОС. Все вызовы Win32 API обслуживаются как системными службами NT, так и модулем NT Executive – исполняющей системы Windows XP. Модуль NT Executive представляет собой несколько программных потоков, которые выполняются в режиме ядра. Код практически всех подсистем этого модуля находится в файле ntoskrnl.exe, кроме подсистемы win32, код которой расположен в файле win32k.sys, и уровня абстрагирования от оборудования HAL, который содержится в файле hal.dll. NT Executive сосредоточивает все самые важные части ОС, которые следует рассмотреть подробнее.

Микроядро отвечает за выделение памяти для приложений и распределение процессорного времени, то есть, фактически, за реализацию многозадачности. Для этого в состав микроядра входит так называемый планировщик потоков (threads scheduler), который назначает каждому из потоков один из 32 уровней приоритета. Уровень 0 зарезервирован для системы. Уровни от 1 до 15 назначаются исполняемым программам, а уровни от 16 до 31 могут назначаться только администраторами. Планировщик делит все процессорное время на кванты фиксированного размера. При этом каждый программный поток выполняется только в течение отведенного ему времени, и если к окончанию кванта он не освобождает процессор, планировщик в принудительном порядке приостанавливает этот поток и меняет программное окружение процесса, настраивая его на выполнение другого потока, обладающего тем же приоритетом. Микроядро также осуществляет всю работу, связанную с обработкой программных и аппаратных прерываний.

Диспетчеризация управления программами состоит из следующего набора системных программ. Диспетчер ввода-вывода – интегрирует добавляемые в систему драйверы устройств в операционную систему Windows XP. Диспетчер объектов – служит для управления всеми разделяемыми ресурсами компьютера. В момент обращения приложения или службы к какому-либо ресурсу диспетчер объектов сопоставляет этому ресурсу объект (к примеру, окно) и отдает приложению дескриптор (№ окна) этого объекта. Используя дескриптор, приложение взаимодействует с объектом, совершая в его отношении различные операции. Монитор системы безопасности следит при этом за тем, чтобы с объектом выполнялись только разрешенные действия. Диспетчер процессов – предоставляет интерфейс, при помощи которого другие компоненты Windows NT Executive, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет каждому процессу и потоку идентификатор процесса (PID – Process Identifier) и потока (TID – Thread Identifier) соответственно, а также таблицу адресов и таблицу дескрипторов. Диспетчер виртуальной памяти – служит для управления и организации подсистемы памяти, позволяет создавать таблицы адресов для процессов и следит за корректностью использования адресного пространства приложениями (то есть, следит за общим доступом к памяти и осуществляет защиту страниц в режиме копирования при записи). Диспетчер виртуальной памяти также обеспечивает возможность загрузки в оперативную память исполняемых файлов и файлов динамических библиотек. Диспетчер виртуальной памяти представляет физическую память для пользовательских приложений таким образом, что каждому процессу выделяются отдельные 4 Гбайта виртуального адресного пространства, из которых младшие 2 Гбайта используются непосредственно процессом по своему усмотрению, а старшие 2 Гбайта отводятся под нужды системы, причем они – общие для всех процессов. Каждый процесс работает в своем изолированном адресном пространстве и не знает о других работающих процессах. Обмениваться данными процессы могут через разделяемую память, которая может быть спроецирована на виртуальное адресное пространство нескольких процессов, и таким образом они смогут взаимодействовать друг с другом. Другими словами, главная задача диспетчера виртуальной памяти – организация логической памяти, размер которой больше размера физической, установленной на компьютере. Этот трюк достигается благодаря тому, что страницы памяти, к которым долго не было обращений, и которые не имеют атрибута неперемещаемых, сохраняются диспетчером в файле pagefile.sys на жестком диске и удаляются из оперативной памяти, освобождая ее для других приложений. В момент, когда происходит обращение к данным, находящимся в перемещенной на винчестер странице, диспетчер виртуальной памяти незаметно для приложения копирует страницу обратно в оперативную память, и только затем обеспечивает доступ к ней. Этот механизм обеспечивает выделение дополнительной памяти программам, которые нуждаются в ней, и при этом следит за тем, чтобы все работающие в системе программы обладали достаточным объемом физической памяти для того, чтобы продолжать функционирование. Диспетчер кэша применяется для кэшированного чтения и записи и позволяет существенно ускорить работу таких устройств, как винчестеры и др. При этом наиболее востребованные файлы дублируются диспетчером кэша в оперативной памяти компьютера, и обращение к ним обслуживается с использованием этой копии, а не оригинала, расположенного на сравнительно медленном долговременном носителе. Кэш в Windows XP является единым для всех логических дисков, вне зависимости от используемой файловой системы. Кроме того, он является динамическим, а это значит, что диспетчер управляет его размерами в зависимости от доступного объема свободной физической памяти в каждый конкретный момент. Диспетчеры окон и графики выполняют все функции, связанные с пересылкой системных сообщений и отображением информации на экране.

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

Процесс начальной загрузки

Для загрузки Windows XP необходим следующий минимальный набор файлов, расположенных:

1) в корневом каталоге загрузочного диска

– Ntldr

Boot.ini

Bootsect.dos (необходим только при использовании мультизагрузки)

Ntdetect.com

2) в системном подкаталоге /system32

Ntoskrnl.exe

Hal.dll

– разделы реестра SYSTEM

3) в системном подкаталоге /system32/drivers

– необходимые драйверы устройств

Процесс загрузки компьютера начинается с процедуры начального тестирования оборудования (POSTPower-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, и именно ему передается управление при включении питания. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POST codes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBR – Master Boot Record) первичного жесткого диска системы, и можно сказать, этим завершается первая «аппаратная» стадия загрузки компьютера (весь процесс зависит только от аппаратуры компьютера, но не от установленного программного обеспечения).

На второй стадии загрузочная запись, оперируя данными о разбиении жесткого диска на логические тома, передает управление исполняемому коду, расположенному в загрузочном секторе. В ОС Windows XP этим кодом является загрузчик ОС Ntldr. Первое, что делает загрузчик, это переходит в защищенный режим и производит необходимые для успешного функционирования в этом режиме манипуляции с памятью. Кроме функций, позволяющих работать с памятью, Ntldr имеет также несколько модулей, позволяющих работать с некоторыми другими базовыми ресурсами системы, в первую очередь с файловой системой. Все другие действия выполняются с помощью вызова прерываний BIOS.

После первичной инициализации загрузчик предоставляет пользователю возможность выбрать операционную систему, которая будет загружена, из списка систем, установленных на компьютере (то есть, Ntldr выводит на экран надпись OS Loader V5.0 и приглашение выбрать операционную систему; это сообщение выводится только в том случае, если в файле boot.ini зарегистрировано более одной ОС), после чего, если выбрана Windows XP, начинает загрузку файлов ОС.

После выбора операционной системы загрузчик запускает Ntdetect.com. Этот компонент считывает из CMOS-памяти системную дату и время, после чего производит поиск и распознавание аппаратных средств, подключенных в данный момент к компьютеру. Завершив работу, Ntdetect возвращает управление и собранную им информацию обратно в Ntldr.

Далее загружается и инициализируется ядро Ntoskrnl.exe и уровень абстрагирования от оборудования Hal.dll. При своей инициализации ядро производит ряд действий в следующей последовательности:

– инициализация диспетчера памяти;

– инициализация диспетчера объектов;

– установка системы безопасности;

– настройка драйвера файловой системы;

– загрузка и инициализация диспетчера ввода-вывода (обычно – самая длительная фаза);

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

Список основных системных сервисов следующий.

1) Smss.exe – диспетчер сеансов. Он управляет другими сервисами и службами Windows, в том числе запускает Win32 (Csrss) и некоторые системные утилиты, выполняемые на этапе загрузки. Еще две важные функции – это реализация графического пользовательского интерфейса и запуск процессов Csrss.exe и WinLogon.exe. Этот диспетчер запускается, тем не менее, в самом конце загрузки.

2) Csrss.exe – данный модуль предназначен, главным образом, для организации взаимодействия между компьютером и пользователем.

3) Lsass.exe – служба, запускаемая WinLogon.exe и отвечающая за безопасность системы. Она предоставляет возможность пользователю зарегистрироваться в системе, и только после того, как в системе зарегистрировался хотя бы один пользователь, загрузка считается успешной.

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

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

2) подсистема безопасности обращается к базе данных SAM (Security Accounts Manager) и проверяет, обладает ли пользователь полномочиями работы с системой;

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

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

Следует отметить, что, если ОС не загружается корректно, то при нажатии в процессе загрузки ОС Windows XP клавиши F8 происходит переход в расширенное меню запуска, содержащее пункты:

Безопасный режим загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств;

Безопасный режим с загрузкой сетевых драйверов – как и предыдущий, но с поддержкой подключения к сети;

Безопасный режим с поддержкой командной строки – такой же режим, как и Безопасный режим, за исключением того, что загружает режим командной строки, а не GUI (Graphical User Interface);

Включить протоколирование загрузки – позволяет записать этапы загрузки ОС Windows XP в файл Ntbtlog.txt;

Включить режим VGA – режим, загружающий драйвер стандартного монитора VGA с разрешением 640 на 480 точек на дюйм и 16 цветами;

Загрузка последней удачной конфигурации – режим, восстанавливающий последнюю неиспорченную копию реестра ОС Windows XP.

  1.  
    Файловые системы Windows XP (1,5 ч.). Назначение офисных приложений операционной системы Windows (0,5 ч.)
    1.  Программные средства реализации информационных процессов

Файловые системы Windows XP

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

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

Информация на магнитных дисках размещается и передается блоками. Каждый блок называется сектором и располагается на концентрических дорожках поверхности диска. Группа дорожек одного радиуса, расположенных на поверхностях магнитных дисков, образуют цилиндры. Каждый сектор состоит из поля данных и поля служебной информации, ограничивающей и идентифицирующей его. Размер сектора (объем поля данных) устанавливается контроллером или драйвером. Физический адрес сектора на диске определяется с помощью трех «координат»:

1) номер цилиндра;

2) номер рабочей поверхности диска;

3) номер сектора на дорожке.

Обмен информацией между ОЗУ и дисками физически осуществляется только секторами.

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

Разделы могут быть двух типов:

1) первичный;

2) расширенный.

Максимальное число первичных разделов – четыре, но обязательно должен быть хотя бы один. Если первичных разделов больше одного, то один должен быть активным, в нем находится загрузчик ОС.

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

ОС Windows XP поддерживает работу со следующими файловыми системами: FAT16, FAT32, NTFS.

Аббревиатура FAT (File Allocation Table) означает «таблица размещения файлов». Этот термин относится к линейной табличной структуре со сведениями о файлах – именами файлов, их атрибутами и другими данными, определяющими местоположение файлов или их фрагментов в среде FAT. Элемент FAT определяет фактическую область диска, в котором хранится начало физического файла.

В файловой системе FAT логическое дисковое пространство любого логического диска делится на две области:

1) системную область;

2) область данных.

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

– загрузочной записи;

– зарезервированных секторов;

– таблицы размещения файлов (FAT);

– корневого каталога.

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

►Кластер – минимальная адресуемая единица дисковой памяти, выделяемая файлу или некорневому каталогу. Например, в FAT16 размер кластера составляет 32 кбайт. Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приведет к заметной потере дискового пространства при большом размере кластера.

В таблице FAT кластеры, принадлежащие одному файлу (некорневому каталогу), связываются в цепочки. Для указания номера кластера в системе управления файлами FAT16 используется 16-битовое слово, следовательно, можно хранить информацию максимум о 65536 кластерах.Так как FAT используется при доступе к диску очень интенсивно, она загружается в оперативную память и находится там максимально долго.

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

Файлы на дисках имеют 4 атрибута, которые могут сбрасываться и устанавливаться пользователем: Archive (архивный), System (системный), Hidden (скрытый) и Read-only (только чтение).

32-разрядная файловая система FAT32 обеспечивает оптимальный доступ к жестким дискам, CD-ROM и сетевым ресурсам, повышая скорость и производительность всех операций ввода/вывода. FAT32 представляет собой усовершенствованную версию FAT, предназначенную для использования на томах, объем которых превышает 2 Гбайта. Размер кластера в FAT32 равен 4 кбайт. FAT32 является полностью независимой 32-разрядной файловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с FAT16. Принципиальное отличие FAT32 заключается в более эффективном использовании дискового пространства: FAT32 использует кластеры меньшего размера, что приводит к экономии дискового пространства. FAT32 может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Расширенная загрузочная запись FAT32 позволяет создавать копии критических структур данных, что повышает устойчивость дисков к нарушениям структуры FAT по сравнению с предыдущими версиями. Корневой каталог представляет собой обычную цепочку кластеров, поэтому может находиться в произвольном месте диска, что снимает ограничение на размер корневого каталога.

Файловая система NTFS (New Technology File System) содержит ряд значительных усовершенствований и изменений, существенно отличающих ее от других файловых систем. NTFS обладает характеристиками защищенности, поддерживая контроль доступа к данным и привилегии владельца, играющие исключительно важную роль в обеспечении целостности жизненно важных конфиденциальных данных. Папки и файлы NTFS могут иметь назначенные им права доступа вне зависимости от того, являются они общими или нет. Если файл будет скопирован из раздела или тома NTFS в раздел или на том FAT, все права доступа и другие уникальные атрибуты, присущие NTFS, будут утрачены.

Форматирование тома для NTFS приводит к созданию нескольких системных файлов и главной таблицы файлов (Master File Table, MFT). MFT содержит информацию обо всех файлах и папках, имеющихся на томе NTFS. NTFS – это объектно-ориентированная файловая система, которая обрабатывает все файлы как объекты с атрибутами. Практически все объекты, существующие на томе, представляют собой файлы, а все что имеется в файле, представляет собой атрибуты, включая атрибуты данных, атрибуты системы безопасности, атрибуты имени файла. Каждый занятый сектор на томе NTFS принадлежит какому-нибудь файлу. Частью файла являются даже метаданные файловой системы (информация, которая представляет собой описание самой файловой системы).

Назначение офисных приложений операционной системы Windows

Microsoft Office для Windows – популярнейший (начиная с Microsoft Office 95) комплекс прикладных программ, который включает:

Microsoft Word – редактор текстов. Word позволяет объединить в одном документе собственно текст, диаграммы, рисунки и таблицы. Наличие гиперссылок позволяет использовать его для создания электронных документов. B Word включена поддержка файловых форматов многих распространённых текстовых редакторов.

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

Microsoft Access – cиcтeмa управления реляционными базами данных, предназначенная для хранения и обработки больших объемов информации.

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

Microsoft Outlook – содержит подсистему для работы c электронной почтой; планировщики расписаний на день, на неделю и на месяц; базу дaнныx деловых контактов, в которой мoжнo вecти cпиcки имeн, aдpecoв и тeлeфoнoв; cпиcoк зaдaч c вoзмoжнocтью нaзнaчeния пpиopитeтoв и yпpaвлeния вpeмeнeм; пoдcиcтeмy yпpaвлeния дoкyмeнтaми.

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

  1.  
    Основные этапы решения задач на ЭВМ
    1.  Алгоритмизация и программирование

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

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

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

Этот этап тесно связан с первым этапом, и его можно отдельно не рассматривать. Однако возможно, что для полученной модели известны несколько методов решения и необходимо выбрать лучший.

Третий этапалгоритмизация задачи. На основе математического описания необходимо разработать алгоритм решения.

►Алгоритм  система точных и понятных предписаний о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа (класса).

Понятие алгоритма возникло и используется давно. Сам термин «алгоритм» ведёт начало от перевода на европейские языки имени арабского математика Аль-Хорезми (IX век). Им были описаны правила (в нашем понимании – алгоритмы) выполнения основных арифметических действий в десятичной системе счисления.

Задача составления алгоритма не имеет смысла, если не известны или не учитываются возможности его исполнителя (ребёнок может прочесть, но не может решить сложную задачу).

Исполнителем может быть не только человек, но и автомат. Компьютер – лишь частный, но наиболее впечатляющий пример исполнителя, чьё поведение основано на реализации алгоритма. Более того, создание персонального компьютера оказало воздействие на развитие теории алгоритмов, одной из областей дискретной математики.

Эффективный метод построения алгоритма – метод пошаговой детализации (последовательного построения). При этом сложная задача разбивается на ряд более простых. Для каждой подзадачи разрабатывается свой алгоритм. Универсальный эффективный метод построения алгоритма является основой структурного программирования (см. п. 6.16).

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

Используются различные способы записи алгоритмов:

– словесный (запись рецептов в кулинарной книге, инструкции по использованию технических устройств…);

– графический – в виде блок-схемы;

– структурно-стилизованный (для записи используется язык псевдокода).

При составлении и записи алгоритма необходимо обеспечить, чтобы он обладал рядом свойств:

Однозначность алгоритма – единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя.

Конечность алгоритма – обязательность завершения каждого из действий, составляющих алгоритм, и завершимость алгоритма в целом.

Результативность алгоритма – предполагает, что выполнение алгоритма должно завершиться получением определённых результатов.

Массовость – возможность применения данного алгоритма для решения целого класса задач, отвечающих общей постановке задачи.

Правильность алгоритма – способность алгоритма давать правильные результаты решения поставленных задач.

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

Пятый этапввод программы и исходных данных в ЭВМ с клавиатуры с помощью редактора текстов. Для постоянного хранения осуществляется их запись на гибкий или жёсткий диск.

Шестой этаптестирование и отладка программы. Исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот этап часто требует гораздо больше времени и сил, чем написание первоначального текста программы.

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

Контрольные примеры стремятся выбрать так, чтобы при работе с ними программа прошла все основные пути алгоритма, поскольку на каждом из путей могут встретиться свои ошибки, а детализация плана зависит от того, как поведёт себя программа на этих примерах. На одном она может «зациклиться», на другом – дать бессмысленный результат.

Сложные программы отлаживают отдельными фрагментами.

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

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

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

Языки программирования

Чтобы компьютер выполнил решение какой-либо задачи, ему необходимо получить от человека инструкции, как её решать. Набор таких инструкций для компьютера, направленный на решение конкретной задачи, называется компьютерной программой.

Современные компьютеры не настолько совершенны, чтобы понимать программы, написанные на каком-либо употребляемом человеком языке.

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

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

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

Язык низкого уровня – средство записи программы простыми приказами – командами на аппаратном уровне. Такой язык отражает структуру данного класса ЭВМ, и поэтому иногда называется машинно-ориентированным языком. Пользуясь системой команд, понятной ПК, можно описать алгоритм любой сложности, но такая запись для сложных задач будет очень громоздкой и мало приспособленной для использования человеком.

Существенной особенностью языков низкого уровня является жесткая ориентация на определённый тип аппаратуры (систему команд процессора).

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

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

К языкам программирования этого типа относятся Бейсик, Фортран, Паскаль, Си и другие. Программа на языках высокого уровня записывается системой обозначений, понятной человеку (например, фиксированным набором слов английского языка).

Все вышеперечисленные языки – вычислительные. Более молодые – декларативные (непроцедурные) языки. Отличительная черта их – задание связей и отношений между объектами и величинами и отсутствие определенной последовательности действий (один из первых – Пролог, затем C++, Delphi, Visual Basic). Эти языки дали толчок к разработке специальных языков искусственного интеллекта и языков представления знаний.

Трансляторы

Текст программы, записанный, например, на Паскале, не может быть воспринят ЭВМ непосредственно, требуется перевести его на машинный язык.

Перевод программы с языка программирования на язык машинных кодов называется трансляцией (translation – перевод), а выполняется специальными программами – трансляторами. Существует три вида трансляторов: интерпретаторы, компиляторы, ассемблеры.

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

Компилятор преобразует (транслирует) всю программу в модуль на машинном языке, после этого программа записывается в память ПК и лишь потом выполняется.

Ассемблеры переводят программу, записанную на языке автокода, в программу на машинном языке.

Любой транслятор решает следующие основные задачи:

– анализирует транслируемую программу, в частности, проверяет, содержит ли она синтаксические ошибки;

– генерирует выходную программу (её часто называют объектной или рабочей) на языке команд ЭВМ;

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

  1.  Основы  программирования в среде Visual Basic for Application (VBA)
    1.  Алгоритмизация и программирование

Типы данных

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

В VBA имеются следующие основные типы данных:

Тип данных

Размер (байт)

Диапазон значений

Byte (байт)

1

От 0 до 255

Boolean (логический)

2

True или False

Integer (целое число)

2

От -32 768 до 32 767

Long (длинное целое число)

4

От -2 147 483 648 до 2 147 483 647

Single (число с плавающей запятой обычной точности)

4

От -3.402823Е38 до -1 .401298Е-45 для отрицательных значений

Double (число с плавающей запятой двойной точности)

8

От -1,79769313486232Е308 до

-4,94065645841247Е-324 для отрицательных значений;

от 4,94065645841247Е-324 до 1,79769313486232Е308 для положительных значений

Decimal (масштабируемое целое число)

14

+/-79228162514264337593543950335 с 28 знаками спрва от запятой;

минимальное ненулевое значение имеет вид +/-0,0000000000000000000000000001

Date (даты и время)                  

8

От 1 января 100 г. до 31 декабря 9999г.

Object (объект)                         

4

Любой указатель объекта

String (строка переменной длины)

10 + длина

строки    

От О до приблизительно 2 миллиардов

String (строка постоянной длины)    

длина

строки    

От 1 до приблизительно 65 400

Variant (числовые подтипы)      

16

Любое числовое значение вплоть до                                          границ диапазона для типа Double

Variant (строковые подтипы)      

22+длина строки

От О до приблизительно 2 миллиардов

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

Объём определяется элементами

Диапазон каждого элемента определяется его типом данных

Описание переменных

Описание типа каждой переменной делает программу надежнее и, кроме того, убыстряет ее работу, т. к. VBA не требуется тратить время на распознавание типа неописанной переменной при каждом обращении к ней.

Синтаксис:

Dim [WithEvents] <ИмяПеременной> [Аs [New] <Тип>],

где аргументы

WithEvents – это ключевое слово, указывающее, что аргумент ИмяПеременной является именем объектной переменной, которая используется при отклике на события, генерируемые объектом ActiveX (т. е. объектом, который может быть открыт для других приложений и средств программирования);

ИмяПеременной – имя переменной, удовлетворяющее стандартным правилам именования переменных;

New – ключёвое слово, включающее возможность неявного создания объекта;

Тип – тип данных переменной.

Инструкция Dim предназначена для описания типа данных переменной на уровне модуля или процедуры. Переменные, описанные с помощью ключевого слова Dim на уровне модуля, доступны для всех процедур в данном модуле. Переменные, описанные на уровне процедуры, доступны только в данной процедуре. Например, следующая инструкция описывает переменную с типом Integer.

Dim X As Integer

Инструкция Dim предназначена также для описания объектного типа переменных. Опишем переменную для нового экземпляра рабочего листа MS Excel:

Dim Y Аs  New Worksheet

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

Если тип данных или тип объекта не задан, и в модуле отсутствует его явное описание, по умолчанию переменная получает тип Variant. Для обязательного описания всех переменных надо поместить в начале модуля инструкцию Оption Explicit. Использование этой инструкции полезно при отладке программ, т. к. она позволяет легче отслеживать возможную путаницу в именах при наборе программы.

Допустимые имена

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

1. Длина имени не должна превышать 255 символов.

2.  Имя не может содержать точек, пробелов и следующих символов - % , & , !, #.©,$.

3. Имя может содержать любую комбинацию букв, цифр и символов, начинающуюся с буквы.

4.  Имена должны быть уникальны внутри области, в которой они определены.

5.  Не следует использовать имена, совпадающие с ключевыми словами VBA и именами встроенных функций и процедур.

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

Константы

Константы, в отличие от переменных, не могут изменять свои значения. Использование констант делает программы легче читаемыми и позволяет проще вносить исправления — отпадает необходимость многократно исправлять значения по тексту программы, т. к. достаточно ввести новое значение при определении константы.

Формат описания:

[Public|Private] CONST <ИмяКонстанты> [As <Тип>]= <Выражение>

Здесь:

Public – ключевое слово, используемое на уровне модуля для описания констант, доступных всем процедурам во всех модулях. Не допускается в процедурах;

Private – ключевое слово, используемое на уровне модуля для описания констант, доступных только внутри модуля, в котором выполняется описание. Не допускается в процедурах;

ИмяКонстанты – имя константы, удовлетворяющее стандартным правилам именования переменных;

Тип – один из поддерживаемых типов данных;

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

П р и м е р:

Const Z As Single = 0.2

Const Name = "Имя"

Комментарии

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

1. Делают программу легко читаемой, поясняя смысл программных кодов и алгоритма.

2. Временно отключают фрагменты программы при ее отладке.

В языке VBA существуют два способа ввода комментариев:

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

Применение зарезервированного слова Rem вместо апострофа.

Ниже приведен   п р и м е р   использования комментариев в тексте программы:

Dim x1 As Integer

' x1 – целая переменная

Dim st As String ' st – строковая переменная

  1.  Операции VBA

В программах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций:

Математические, выполняются над числами, и их результатом являются числа

Отношения, применяются не только к числам, и их результатом являются логические значения, например х>у

Логические, используются в логических выражениях и их результатом являются логические значения, например Not x And у

Приведем операции VBA указанных и дополнительных категорий.

Математические операции.

[Операнд1] + [Операнд2]

Сложение

[Операнд1] -  [Операнд2]

Вычитание

- [Операнд]

Перемена знака

[Операнд1] * [Операнд2]

[Операнд1] / [Операнд2]

Умножение

Деление

[0перанд1]   \   [Операнд2]

Целочисленное деление

[Операнд1]   Mod   [Операнд2]

Остаток от деления по модулю

[Операнд1]  ^   [Операнд2]

Возведение в степень

Операции  отношения

[Операнд1]<   [Операнд2]

Меньше

[Операнд1]>   [Операнд2]

Больше

[Операнд1]<=   [Операнд2]

Меньше или равно

[Операнд1]>=   [Операнд2]

Больше или равно

[Операнд1] <>   [Операнд2]

Не равно

[Операнд1] =  [Операнд2]

Равно

[Операнд1] Is   [Операнд2)

Сравнение двух операндов, содержащих ссылки на объекты

[Операнд1] Like   [Операнд2]

Сравнение двух строковых выражений

Логические операции

[Операнд1] And   [Операнд2]

Логическое умножение

[[Операнд1] Or   [Операнд2]

Логическое сложение

[Операнд1] Хог   [Операнд2]

Исключающее or   (или)

[Операнд1] Mot   [Операнд2]

Логическое отрицание

[Операнд1] Imp   [Операнд2]

Логическая импликация (в настоящее время почти не используется)

[Операнд1] Equ   [Операнд2]

Логическая эквивалентность (в настоящее время почти не используется)

Другие операции

[Строка1] &  [Строка2]               

Сложение строк. Для сложения строк допустимо использование операции

[Cтрока1]   +   [Строка2], но предпочтительнее, во избежание путаницы, применять операцию со знаком &

Приоритеты операций

VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность в трактовании значений выражений. Приведем приоритеты выполнения операций.

Приоритет

Операция

1

Вызов функции и скобки

2

^

3

- (смена знака)

4

*, /

5

\

6

Mod

7

+, -

8

>, <, >=, <=, <>,=

9

Not

10

And

11

Or

12

Xor

13

Equ

14

Imp

Встроенные функции VBA

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

Математические функции

Функции проверки типов

Функции преобразования форматов

Функции обработки строк

Функции времени и даты

Ниже рассмотрены основные функции из этих категорий.

Математические функции

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

Функция

Возвращаемое значение

Abs (число)

Модуль (абсолютная величина)

Atn (число)

Арктангенс

Cos (число)

Косинус

Exp (число)

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

Log (число)

Натуральный логарифм

Rnd (число)

Случайное число из интервала [0,1).

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

Перед вызовом функции Rnd используйте инструкцию Randomize без аргумента

Sgn (число)

Знак числа

Sin (число)

Синус

Sqr (число)

Квадратный корень из числа

Tan (число)

Тангенс

Fix (число) и Int (число)

Обе функции, Int и Fix, отбрасывают дробную часть числа и возвращают целое значение.

Различие между функциями  Int и Fix состоит в том, что для отрицательного значения аргумента число функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, a Fix — ближайшее отрицательное целое число, большее либо равное указанному        

Функции преобразования форматов

Преобразование строки в число и обратно осуществляют следующими функциями.

Val (строка)

Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа

Str (число)

Возвращает значение типа variant   (string), являющееся строковым представлением числа

В качестве допустимого десятичного разделителя функция str воспринимает только точку.

Инструкции VBA

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

Инструкции описания

Инструкции присваивания      

Исполняемые инструкции

Оператор присваивания

Оператор присваивания позволяет присвоить значение выражения переменной, константе или свойству объекта. Оператор присваивания всегда включает знак равенства (=). Формат оператора:

<Переменная>(<Константа>,<Свойство Объекта>) = <Выражение>

Оператор присваивания предписывает выполнить выражение, заданное в его правой части, и присвоить левой части. В результате, например, действия следующей пары операторов

х = 2

х = х + 2

переменной х будет присвоено 4.

Для присваивания переменной ссылки на объект применяется инструкция Set. В следующем примере инструкция Set присваивает переменной Область Диапазон А1:B3 (ячеек листа Excel):

Set Область = Range("А1:ВЗ")

Расположение нескольких операторов на одной строке

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

х = х+1

у = х+2

и

х = х+1: у = х+2

Расположение нескольких операторов на одной строке

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

1. х = х+1      и     2. х = х+1: у = х+2

   у = х+2       

  1.  Ввод и вывод информации

– как правило, в визуальных средах осуществляется с помощью диалоговых окон. В проектах VBA часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода. Они встроены в VBA, и если их возможностей достаточно, то можно обойтись без проектирования диалоговых окон. Окно сообщений (MsgBox) выводит простейшие сообщения для пользователя, а окно ввода (InputBox) обеспечивает ввод информации.

InputBox

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

Синтаксис:

InputBox (prompt [, title] [, default] [, xpos]  [, ypos] [, helpfile, context])

Здесь аргументы означают:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения;

default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым;

xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали;

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

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

context – числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, необходимо наличие также аргумента helpfile.

MsgBox

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

Синтаксис:

InputBox (prompt [, title] [, default] [, xpos]  [, ypos] [, helpfile, context])

Здесь аргументы означают:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения;

default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым;

xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали;

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

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

context – числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот аргумент указан, необходимо наличие также аргумента helpfile.

MsgBox

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

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

Аргументы:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

buttons – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и вид окна сообщения. Значение по умолчанию этого аргумента равняется 0.

Рассмотрим пример использования окон сообщений. В результате действия приведенной ниже процедуры CommandButton1_Click() появится диалоговое окно Пример окна ввода с полем ввода (рис. 6.13). Следуя приглашению в этом диалоговом окне, введем в поле ввода имя, например, Николай Маркович. Нажмем кнопку ОК. На экране отобразится диалоговое окно пример окна сообщения с текстом приветствия (рис. 6.14). Если пользователь не введет имя в поле ввода диалогового окна Пример окна ввода или нажмет кнопку Отмена, то компьютер выразит свое неудовлетворение действиями пользователя отображением диалогового окна Еще один пример окна сообщения (рис. 6.15).

Рис. 6.13.

Рис. 6.14

Рис. 6.15

Private Sub CommandButton1_Click()

' Описание переменной

Dim Name As String

' Ввод имени пользователя

Name = InputBox("Введите свое имя", "Пример окна ввода")

' Реакция программы на ввод имени пользователя

If Name <> "" Then

Response = MsgBox("Здравствуйте, " + Name, vbInformation, " ")

Else

Response = MsgBox("Вы забыли ввести свое имя! ", vbExclamation, "Еще один пример окна сообщения")

End If

End Sub

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

Sub ТриКнопки()

Dim Сообщение As String

Dim Кнопка As Integer i

' В переменной Сообщение задается структура диалогового окна’

Сообщение = vbYesNoCancel + vbQuestion + vbbefaultButtonl

‘ В переменную Кнопка вводится целое число, возвращаемое VsgBox при нажатии кнопки

Кнопка= MsgBox("Выбираете Да, Нет или Отмена?", Сообщение, "Еще пример”)

' В зависимости от значения переменной Кнопка,

' на экране отображается соответствующее сообщение

Select Case Кнопка

Case vbYes

MsgBox "Выбрали Да", vblnformation, "Еще пример"

Case vbNo

MsgBox "Выбрали Нет", vblnformation, "Еще пример"

Case vbCancel

MsgBox "Выбрали Отмена", vblnformation, "Еще пример"

End  Select 

End Sub

  1.  Реализация разветвляющихся алгоритмов и циклических алгоритмов в VBA 

Операторы перехода и выбора

– позволяют организовать ветвление в программе посредством выполнения тех или иных действий в зависимости от некоторого условия. Оператор GoTo осуществляет безусловный переход, но в настоящее время используется в программах все реже.

Перечислим операторы перехода и выбора VBA.

Оператор безусловного перехода. Формат:

GoTo Строка

Задает безусловный переход на указанную строку внутри процедуры. Обязательный аргумент Строка может быть любой меткой строки или номером строки

Оператор условного перехода (аналогичен соответствующему оператору Паскаля). Формат:

If <Условие> Then <Операторы 1> [Else Операторы 2]

Если Условие принимает значение True (истина), то выполняются операторы после Then, иначе выполняются операторы после Else. Ветвь Else может отсутствовать.

Допускается также использование формы синтаксиса в виде блока:

If <Условие> Then

[Операторы 1]

[Elself <Условие-n> Then

[Операторы n]

[Else

[Операторы]] End If

Оператор выбора (аналогичен оператору множественного выбора в Паскале). Формат:

Select Case <выражение>

[Case списокВыражений-1

[операторы-1]]

[Case списокВыражений-n

[операторы-n]]

[Case Else

[операторы_еlse]]

End Select

Операторы-n (необязательная часть) – один или несколько операторов, выполняемых в том случае, если выражение совпадает с любым компонентом списка список-Выражений-n.

Операторы_else (необязательная часть) – один или несколько операторов, выполняемых в том случае, если выражение не совпадает ни с одним из предложений Case.

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

Оператор

On Error GoTo строка

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

Sub InitializeMatrix(Varl, Var2, Var3, Var4)

On Error GoTo M1

…………………..

Exit Sub

M1:

…………………..

Resume Next

End  Sub

В этом примере программа обработки ошибок помещена между операторами Exit Sub и End Sub, что позволяет отделить ее от части программы, соответствующей нормальному ходу выполнения.

On Error Resume Next указывает, что при возникновении ошибки происходит передача управления на инструкцию, непосредственно следующую за инструкцией, вызвавшей ошибку.

On Error GoTo 0 отключает любой активизированный обработчик ошибок в текущей процедуре

Операторы цикла

– позволяют организовать в программе повторение некоторых действий (как правило, с различными значениями параметров цикла).

Перечислим операторы повтора VBA

For – Next. Формат:

For <Счетчик> = <Начало> То <Конец> [Step <Шаг>] [Операторы 1]

[Exit For]

[Операторы 2] Next   [<Счетчик>]

Цикл со счетчиком повторяет выполнение группы Операторов 1, пока Счетчик изменяется от Начального значения до Конечного с указанным Шагом. Если шаг не указан, то он полагается равным 1. Досрочный способ выхода из цикла предоставляет оператор Exit For.

For Each – Next. Формат:

For Each <Элемент>  In <Группа>

[Операторы 1]

[Exit For]

[Операторы 2]

Next   [<Элемент>]

Цикл повторяет выполнение группы Операторов 1 для каждого элемента массива или семейства.

Do Until – Loop. Формат:

Do [Until <Условие>]

[Операторы 1]

[Exit Do]

[Операторы 2] Loop

Тело цикла выполняется, пока Условие имеет значение False. Операторы 1 выполняются по крайней мере один раз, а затем проверяется условие. Досрочный способ выхода из цикла – Exit Do.

Do – Loop While. Формат:

Do

[Операторы 1]

[Exit Do]

[Операторы] Loop   [While <Условие>]

Повторяет выполнение набора операторов, пока Условие имеет значение True. Сначала выполняются Операторы 1, а потом проверяется условие.

Do While – Loop. Формат:

Do [While <Условие>]

[Операторы 1]

[Exit Do]

[Операторы 2]

Loop

Цикл с «предусловием» проверяет Условие перед выполнением Операторов 1. Когда Условие становится ложным, цикл прекращает свое выполнение.

DoLoop Until. Формат:

Do

[Операторы 1]

[Exit  Do]

[Операторы 2]

Loop   [While <Условие>]

Повторяет выполнение набора инструкций, пока условие не примет значение True. Сначала выполняется инструкция, а потом проверяется условие.

While – Wend. Формат:

While <Условие>

[Операторы]

Wend

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

  1.  Массивы

Как и в других языках программирования, в VBA можно использовать массивы. Примеры объявления массивов:

Dim M(3,3) As Single 

Dim V(12) As Integer

Первая строка объявляет двумерный массив 33 (матрицу), состоящий из действительных чисел. Вторая строка объявляет одномерный массив (вектор) из 12 целых чисел, причем по умолчанию первый элемент массива будет V(0), а последний V(11). В этом случае говорят, что 0 – базовый индекс. Можно изменить базовый индекс, написав в начале листа модуля инструкцию Option Base 1. После этого индексы массивов M и V будут начинаться с единицы. Другим способом изменения базового индекса является использование ключевого слова Tо при объявлении массива:

Dim M(l То 3, 1 То 3) As Single

Dim V(l To 12) As Integer

Значения элементов массива задаются поэлементно. Н а п р и м е р,

Dim M(l To 2,1 То 2) As Integer

M(l,l)=2: M(1,2)=4: M(2,1)=1: В(1,2)=6

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

Н а п р и м е р,

Dim A As Variant

А = Array{10,20,30)

В = А(2)

Динамические массивы

Иногда в процессе выполнения программы требуется изменять размер массива. В этом случае первоначально массив объявляют как динамический. Для этого при объявлении массива не указывают размерность.

Н а п р и м е р:

Dim R() as Single

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

ReDim [Preserve] ИмяПеременной(Индексы) [As Тип]_

[. ИмяПеременной(Индексы)[As Тип]] ...

Preserve – ключевое слово, используемое для сохранения данных в существующем массиве при изменении значения последней размерности.

ИмяПеременной – имя переменной, удовлетворяющее стандартным правилам именования переменных.

Индексы – размерности переменной массива; допускается описание до 60 размерностей. Аргумент Индексы использует следующий синтаксис:

[Нижний  То]   Верхний   [, [Нижний  То]   Верхний]    ...

Если нижний индекс не задан явно, нижняя граница массива определяется инструкцией Option Base. Если отсутствует инструкция Option Base, нижняя граница массива равняется нулю.

Тип – тип данных массива.

Н а п р и м е р, установим границы массива R:

ReDim R(1 To  10)

Допустимо повторное использование инструкции ReDim для изменения числа элементов и размерностей массива.

Функции и процедуры для работы с массивами

При работе с массивами бывает полезно применять следующие функции и процедуры.

Array(СписокАргументов)

Создает массив типа variant. Аргумент CписокАргументов     представляет разделенный запятыми  список значений,  присваиваемых элементам массива.

Пример:

Dim День As Variant

День = Array("Пн", "Вт", "Ср", "Чт", "Пт")

IsArray(ИмяПеременной)

Возвращает True, если переменная содержит массив; в противном случае возвращается False. Функцию IsArray используют для проверки значений переменных типа Variant, содержащих массивы

[,   размерность])

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

Erase СписокМассивов

Повторно инициализирует элементы массивов фиксированной длины и освобождает память, отведенную для динамического массива. СписокМассивов представляет имена одной или нескольких очишаемых переменных массивов, разделенных запятой. Инструкция Erase устанавливает элементы массивов фиксированной длины следующим образом: массив чисел или строк фиксированной длины (присваивает каждому элементу значение 0), массив строк переменной длины (присваивает каждому элементу значение пустой строки), массив типа variant (присваивает каждому элементу значение Empty).

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

  1.  Подпрограммы

Процедуры

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

Синтаксис:

[Private | Public] [Static] sub Имя [(СписокАргументов)]

[инструкции]

[Exit Sub]  

[инструкции]

End Sub 

Элементы описания:

Public

Указывает, что процедура Sub доступна для всех других процедур во всех модулях

Private

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

Static

Указывает, что локальные переменные процедуры sub сохраняются в промежутках времени между вызовами этой процедуры

Имя

Имя процедуры sub, удовлетворяющее стандартным правилам именования переменных

СписокАргументов

Список переменных, представляющий аргументы, которые передаются в процедуру Sub при ее вызове. Имена переменных разделяются запятой

Инструкции

Любая группа инструкций, выполняемых в процедуре

Sub

Инструкция Exit Sub приводит к немедленному выходу из процедуры Sub.

Синтаксис элемента СписокАргументов:

[Optional] [ByVal | ByRef] [ParamArray] имяПеременной[( )] _

[As тип] [= поУмолчанию]

Optional

Ключевое слово, указывающее, что аргумент не является обязательным. При использовании этого элемента все последующие аргументы, которые содержатся в списке СписокАргументов, также должны быть необязательными и описаны с помощью ключевого слова optional. Все аргументы, описанные как optional, должны иметь тип variant.  He допускается использование ключевого слова optional для любого из аргументов, если используется ключевое слово ParamArray

ByVal

Указывает, что этот аргумент передается по значению.

ByRef

Указывает, что этот аргумент передается по ссылке. Описание ByRef используется в VBA по умолчанию

ParamArray

Используется только в качестве последнего элемента в списке СписокАргументов для указания, что конечным аргументом является описанный как optional массив значений типа Variant. Ключевое слово ParamArray позволяет задавать произвольное количество аргументов. Оно не может быть использовано со словами ByVal, ByRef или Optional

имяПеременной

Имя переменной, удовлетворяющее стандартным правилам именования переменных

тип

Тип данных аргумента, переданного в процедуру; поддерживаются типы Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (ТОЛЬКО строки

переменной длины), object, Variant.  Если отсутствует ключевое слово optional, могут быть также указаны определяемый пользователем тип или объектный тип

поУмолчанию

Любая константа или выражение, дающее константу. Используется только вместе с параметром optional. Если указан тип object, единственным значением по умолчанию может быть значение Nothing

Приведенный ниже синтаксис описывает имя, аргументы и текст программы, составляющие тело процедуры Function.

Синтаксис:

[Public | Private] [Static] Function Имя [(СписокАргументов)] [As Тип]

[Инструкции]

[Имя = Выражение]

[Exit  Function]

[Инструкции]

[Имя = Выражение]

End Function

Синтаксис инструкции Function содержит те же элементы, что и sub. Инструкция Exit   Function приводит к немедленному выходу из  процедуры Function. Подобно процедуре sub, процедура Function является самостоятельной процедурой, которая может получать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. Однако в отличие от процедуры sub, когда требуется использовать возвращаемое функцией значение, процедура Function может применяться в правой части выражения, как и любая другая встроенная функция, например, cos.

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

Переход в подпрограмму и возвращение из подпрограммы

В VBA от первоначальных версий BASIC сохранилась конструкция подпрограммы GoSub - Return, которая в настоящее время редко используется. Для полноты изложения вкратце напомним синтаксис этой инструкции.

Синтаксис:

GoSub строка

строка

Return

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

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

Вызов процедуры

Вызов процедуры Sub из другой процедуры можно произвести несколькими способами.

Первый способ вызова процедуры Sub:

ИмяПроцедуры СписокФактическихПараметров

ИмяПроцедуры

Имя вызываемой процедуры

СписокФактическихПараметров

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

Если требуется использовать несколько процедур с одинаковыми названиями; при их вызове после имени процедуры через точку надо указывать имя модуля, на котором они расположены. А именно,

ИмяМодуля . ИмяПроцедуры СписокФактическихПараметров

Второй способ вызова процедуры sub производится с помощью инструкции Call.

ИмяПроцедуры (СписокФактическихПараметров )

Обратите внимание, что в этом случае список фактических параметров заключается в скобки. В первом способе скобки не использовались.

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

Приведенный ниже пример показывает основные способы передачи параметров в процедуры.

Dim с As Double

' с - глобальный параметр

Function F(ByVal x As  Integer)  As  Integer

F = x^2

End Function

Sub Assistant (ByVal  a As  Integer,   ByVal b As  Integer)

‘Процедура, находящая сумму двух чисел и выводящая результат в диалоговом окне

с = а + b

MsgBoxCStr(c)

End Sub

Sub Main()

‘Процедура, находящая сумму двух чисел и выводящая результат  в диалоговом окне

Dim x, у As Double

‘ x, у - переменные, используемые в качестве фактических параметров

' Вызов процедуры с конкретными числами как фактическими параметрами

Assistant 1, 3

' Первоначальное присвоение переменным значений, с последующим вызовом процедуры

х = 1: у = 1

Assistant x, у + 2

' Использование функции как фактического параметра

    I

х = 1: у = 3

Assistant F(x), у

'

‘Вызов процедуры с указанием фактических параметров по имени

Assistant a:=l, b:=3

End Sub

Приведем пример процедуры с необязательными параметрами. Процедура сторонатреугольника позволяет найти длину недостающей стороны прямоугольного треугольника, где переменные A и B отведены под длины катетов, а переменная С – под гипотенузу. Например, формула =СторонаТреугольника(;В2;С2) вычисляет катет А по введенным в ячейки В2 и С2 длинам катета В и гипотенузы С. При работе с необязательными переменными необходимо использовать функцию IsMissing, возвращающую значение True, если соответствующий аргумент не был передан в процедуру, и False в противном случае.

Function СторонаТреугольника (Optional A, Optional В, Optional С)

If Not (IsMissing(A)) And Not (IsMissing(В)) Then

СторонаТреугольника = Sqr(А^2 + В^2)

End If

If Not (IsMissing(A)) And Not (IsMissing(C)) Then

СторонаTреугольника = Sqr(С^2 – A^2)

End If

If Not (IsMissing(B)) And Not (IsMissing(C)} Then

Сторонатреугольника = Sqr (C^2 – B^2)

End If 

EndFunction

Назначение значений по умолчанию необязательным параметрам

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

Function Сумма (a As  Double,   Optional  b As  Double =  8)

Сумма = a  + b

End Function

Использование неопределенного количества параметров как правило, количество передаваемых параметров в процедуру совпадает с количеством определенных у этой процедуры параметров. Однако ключевое слово ParamArray предоставляет возможность ввода в процедуру произвольного, заранее не указанного числа параметров (например, как это происходит при использовании функции рабочего листа СУММ (sum)). В качестве примера приведем процедуру, которая выполняет то же действие, что и функция рабочего листа СУММ. Отличием функции СуммаПользователя от Cумм является то, что в ней в каждое поле ввода диалогового окна мастера функций можно вводить только либо число, либо ссылку на ячейку, а не на Диапазон, как при работе с функцией СУММ.

Function СуммаПользователя (ParamArray Массив ())

s = 0

For Each a  In Массив

 s =  s  +  a

Next а

CуммаПользователя = s 

End Function

Область определения переменной

Область определения переменной задает область, в которой может быть использована переменная. В VBA имеется три соответствующих уровня переменных:

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

Переменные уровня модуля используются только в модуле, в котором они описаны при помощи инструкции Dim, размещенной в области описания модуля, т. е. перед описанием процедур.

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

Время «жизни» переменной

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

  1.  Введение в объектно-ориентированное программирование
    1.  Программное обеспечение и технология программирования

Начиная с первого мнемокода, все средства разработки программ изобретались с единственной целью: чтобы проще было думать. Объектно-ориентированное программирование (ООП) является одним из способов достижения этой цели. Почему проще думать в ООП?

Программа, решающая некоторую задачу, заключает в себе описание части мира, относящегося к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме иерархии подпрограмм. Предпосылки возникновения ООП:  модульное программирование, абстрактные типы данных, ситуационное моделирование, фреймы. Первый алгоязык, где были классы и объекты, – Simula-67. Окончательно принципы ООП оформились в языке Smalltalk-80. Среди современных систем программирования, в основу которых положены принципы ООП, можно назвать Delphi, Visual C, Visual Basic.

Тип Объекты

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

В Паскале объект – это особый тип данных, а экземпляры объекта – переменные этого типа.

Состояние характеризуется значениями полей объекта.

Методами объекта являются ассоциированные с ним функции и процедуры, которым доступны поля.

Передача сообщений объекту происходит в виде вызовов его методов с заданными параметрами.

Тип объекта можно рассмотреть как усовершенствование типа запись; только поля (описывающие свойства) дополняются методами (описаниями действий с объектом).

В описании объектного типа дают только заголовки соответствующих блоков, а сами блоки приводят ниже. За счёт методов описания сущности как бы «оживают». В ООП оперируют цельными представлениями сущностей.

Описание типа «объект»:

Object

{описание свойств}

<идентификатор1, …, идентификаторN>:<тип>;

{описание методов}

Procedure <идентификатор>[<параметры>];

end;

Основные понятия ООП. Инкапсуляция. Наследование

►Инкапсуляция – объединение информационных полей и методов, которые выполняют над ними действия.

Блоки-методы размещаются в произвольном порядке. Совпадение их имён, если методы принадлежат разным типам, не запрещено, следовательно, в заголовках методов их имена снабжаются префиксом – именем типа. Например: pozicia.init, krug.init.

Обращение к методу нужно начинать с префикса – имени действующего объекта. Например: P.Locate (параметры).

В обоих случаях разделителем служит (.).

Допустимо обращение с полями объекта как с полями записи: P.z, P.y, но нежелательно.

Объекты не запрещается использовать в блоках, не являющимися методами. Но такое применение должно быть исключением, так как противоречит идее объектов.

Доступ к полям объектов можно принудительно ограничивать. Чтобы поля были доступны лишь методам данного модуля, в объектном типе до описания группы полей записать «Private», а после неё – «Public». Это делают, чтобы предупредить ошибочные действия с объектными данными пользователя библиотеки объектов.

►Наследование – позволяет создавать новые объекты, изменяя или дополняя свойства прежних.

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

Родительские (предки) – тип объектов, которые используются как носители общих свойств и методов для семейства типов – потомков, позволяя избежать дублирования элементов описания.

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

Абстрактные методы – методы, которые не содержат исполняемых операторов и служат заготовками для аналогичных методов в объектах – потомках. Абстрактные методы должны перекрываться в потомках.

Правила наследования.

1. Объект-наследник(потомок) получает все поля и методы предка.

2. Потомок может (хотя и не обязательно) добавить: собственные поля, методы или перекрыть своими методами одноимённые унаследованные методы.

3. Любой тип-потомок может быть родительским для других типов. В этом случае типы наследуют поля всех своих предков .

4. Доступ к полям и методам родительских типов в описании любых типов-потомков выполняется так, как будто они описаны в самом типе-потомке.

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

6. Имена методов в родительских типах-потомках могут совпадать. В этом случае метод дочернего типа «перекрывает» метод родительского. При этом обращение к родительскому методу остаётся возможным с помощью префикса – имени родителя (Position.Init, если у Position есть потомок, у которого также имеется метод Init).

З а м е ч а н и е. Значения полей не наследуются. Наследование – это отношение объектных типов, а не объектов.

Полиморфизм

►Полиморфизм или «многообразие» – выражается в том, что под одним и тем же именем скрываются различные действия, содержание которых зависит от типа объекта.

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

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

Методы одного класса обычно наделяются общим именем. Например, Show, Init.

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

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

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

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

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

  1.  Базы данных
    1.  базы данных

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

►Банк данных (БнД) – форма организации, хранения и доступа к информации в виде системы специальным образом организованных данных.

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

Отличительные особенности БнД состоят в следующем:

Они создаются для многоцелевого использования (т.е. для нескольких пользователей и нескольких программ).

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

Использование БнД для организации и управления информационными системами имеет следующие преимущества:

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

Централизованное управление данными. От этих функций освобождаются все пользователи кроме администраторов банка данных.

БнД обеспечивают независимость прикладных программ от данных. При создании локальных программ пользователь только обращается в БнД за данными.

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

К банкам данных предъявляется ряд требований.

Полнота, целостность и непротиворечивость данных, актуальность информации.

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

Малое время на освоение системы, особенно для конечных пользователей.

Обеспечение секретности для некоторой части данных.

Обеспечение взаимной независимости программ и данных.

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

Структура и пользователи банка данных

Состав банка данных (компоненты) представлены на рис. 1.

Рис. 1

БД включают основные и вспомогательные компоненты.

К основным компонентам БнД относятся: информационная составляющая, программные средства, языковые средства. Последние два формируют СУБД.

К вспомогательным компонентам относятся: Организационно-методические средства, технические средства и администратор БнД.

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

Программные средства обеспечивают взаимодействие всех частей системы при функционировании (рис. 2).

Рис. 2

Основу программных средств составляет СУБД, которая включает:

ядро СУБД, обеспечивающее функции организации ввода, обработки и хранения данных;

трансляторы – средства обеспечения настройки системы и средства тестирования;

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

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

Языковые средства обеспечивают взаимодействие пользователей с БнД и предназначены для пользователей разных категорий: для конечных пользователей, системных аналитиков и профессиональных программистов.

По своим функциональным возможностям выделяют следующие категории языков:

языки обеспечения запросов на вывод и печать данных в нужном виде (в чистом виде такие языки редко используются);

комплексные языки запросов – обновлений (запрос с нескольких файлов, формирования промежуточных своих файлов);

генераторы отчетов, служащие для формирования и вывода в требуемом виде отчетов и других документов по данным БД;

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

инструментальные средства поддержки решений для создания систем принятия решений и др.

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

Организационно-методические средства БнД представляют собой различные инструкции, методические и регламентирующие материалы.

Администраторы банка данных (АБД) – это группа лиц (специалистов), обеспечивающих создание, функционирование и развитие БнД.

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

К конечным пользователям относятся: основная категория конечных пользователей (для которых БнД создается); случайные пользователи; регулярные пользователи.

Администраторы банков данных включают: проектировщиков технологических процессов обработки данных; системные программисты; прикладные программисты; операторы; специалисты по техническому обслуживанию.

К основным функциям, выполняемым этими группами работников, можно отнести:

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

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

задание ограничений целостности при описании структуры базы данных и процедур обработки БД;

первоначальная загрузка и ведение БД (загрузка и ведение БД, формы ввода, контроля и корректировки);

защита данных (пароли, тестирование защиты, фиксация попыток несанкционированного доступа);

обеспечение восстановления БД;

анализ обращений пользователей к БД (сбор статистики обращений пользователя к БД, ее хранение и анализ);

анализ эффективности функционирования БнД и развитие системы;

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

подготовка и поддержание системных программных средств;

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

Каждая функция включает:

определение границ информации, включаемой в БнД;

формы ввода документов, контроля, корректировки их;

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

обеспечения средствами восстановления от случайного разрушения баз;

сбор статистики обращения пользователей к БД, ее хранение и     т. д.

определение показателя эффективности, прибыльности, перспектив развития системы;

обеспечивает изменение предметной области для пользователей, оценка полезности БнД, проведение консультаций, обучение;

покупки новых СУБД и их внедрение, новых пакетов прикладных программ;

планирование развития системы, определение этапов развития, выпуск методических и других материалов по работе с БнД и т. д.

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

  1.  Компьютерные сети
    1.  Локальные и глобальные сети ЭВМ

Общие принципы построения компьютерных сетей

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

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

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

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

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

Наиболее распространенными топологиями локальных сетей является общая шина и звезда. При объединении нескольких сетей образуется топология, называемая смешанной.

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

На рис. 1 приведены варианты сетевых топологий.

Рис. 1

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

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

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

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

Маршрутизация представляет собой определение маршрута передачи сообщения в сложных сетях.

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

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

Рис. 7.2

Концепция открытых систем OSI

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

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

К началу 1980-х годов было разработано достаточно много корпоративных и отраслевых стандартов на стеки протоколов (TCP/IP, IPX/SPX), и возникла потребность в разработке единой терминологии для их описания. Международная организация стандартов ISO (International Standard Organization) разработала модель взаимодействия открытых систем OSI (Open System Interconnection). Такую модель взаимодействия часто называют также моделью ISO/OSI. В настоящее время модель OSI используется в качестве основы при описании средств сетевого взаимодействия. Хотя ни один из реальных стеков протоколов не соответствует ей полностью, их принято рассматривать в проекции на модель OSI.

В данной модели средства сетевого взаимодействия разделены на 7 уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный, физический. Согласно модели для передачи информации прикладная программа обращается к протоколу прикладного уровня, который на основании этого формирует сообщение, состоящее из заголовка и поля данных. В заголовке обычно содержится служебная информация, например, адрес назначения. После формирования сообщение направляется «вниз» по стеку, и на каждом из уровней к нему добавляется заголовок, а иногда также и завершающая фраза. В стандартах ISO для обозначения сообщений используется термин «протокольный блок данных» (Protocol Data Unit, PDU), и существуют специальные названия для PDU каждого уровня.

Ниже описано назначение каждого из уровней.

Физический уровень (Physical layer)

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

Канальный уровень (Data-link layer)

На канальном уровне организуется совместный доступ к среде передачи данных, проверяется её доступность. В связи с возможностью начала одновременной передачи данных несколькими независимыми источниками по единой среде возможно столкновение данных (коллизия). Сетевые устройства, подключаемые к сегменту одной физической среды, называют доменом коллизий. Задача предотвращения коллизий в технологии Ethernet решается с помощью протокола CSMA/CD (коллективного доступа к среде с обнаружением коллизий). Выполняются также задачи обнаружения и коррекции ошибок и адресации (передачи информации между двумя заданными компьютерами), но не маршрутизации. Это означает, что доставка информации происходит только в пределах одного сегмента сети, имеющего строго определенную топологию и построенного на основе конкретной технологии. Для возможности решения задач коррекции ошибок и разделения среды передачи данных, передаваемые на канальном уровне данные делятся на блоки, называемые кадрами (либо фреймами). Этот уровень состоит из двух подуровней: LLC (Logical Link Control, управление логическим соединением) и MAC (Media Access Control, управление доступом к физической среде).

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

Сетевой уровень (Network layer)

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

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

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

►Сообщения сетевого уровня принято называть пакетами.

На сетевом уровне выделяют сетевые протоколы (IP,IPX), протоколы поиска маршрутов (RIP) и протоколы разрешения адресов (ARP). Сетевые протоколы обеспечивают адресацию пакетов и их продвижение по сети. В настоящее время главным сетевым протоколом является IP (Internet Protocol). Протоколы маршрутизации выполняют обмен служебной информацией между маршрутизаторами. Протоколы разрешения адресов служат для определения адреса компьютера в локальной сети (для доставки на канальном уровне) по его сетевому адресу.

Транспортный уровень (Transport layer)

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

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

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

Самые распространенные протоколы транспортного уровня это TCP (Transmission Control Protocol, протокол управления передачей)  и UDP (User Datagram Protocol, протокол передачи пользовательских дейтаграмм).

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

Сеансовый уровень (Session layer)

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

Представительный уровень (Presentation layer)

На представительном уровне проводится изменение формы представляемой информации, например, шифрование или приведение к единой кодировке символов. Примером этого протокола является SSL (Secure Socket Layer, уровень безопасных соединений).

Прикладной уровень (Application layer)

Протоколы прикладного уровня обеспечивают приложениям доступ к разделяемым ресурсам. Прикладной протокол представляет собой набор команд, которые клиент передает серверу для получения определенной информации. Примерами протоколов сетевого уровня являются HTTP (Hyper Text Transfer Protocol, протокол пересылки гипертекста), FTP (File Transfer Protocol, протокол пересылки файлов) и др.

Основные характеристики компьютерных сетей.

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

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

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

Надежность сложных систем также характеризуется вероятностью доставки сообщения адресату.

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

Расширяемость это возможность сравнительно легкого добавления новых элементов сети.

Масштабируемость это возможность значительного наращивания размеров сети, в том числе путем увеличения числа сегментов.

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

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

Управляемость – возможность централизованного обнаружения и устранения неполадок, распределения ресурсов и полномочий между пользователями.

Совместимость – возможность взаимодействия с различным оборудованием и программным обеспечением.

  1.  Основы технологий локальных сетей
    1.  Локальные и глобальные сети ЭВМ

Локальные сети Ethernet

В зависимости от направления возможной передачи данных способы передачи данных по линии связи делятся на следующие типы:

– симплексный – передача осуществляется по линии связи только в одном направлении;

– полудуплексный – передача ведется в обоих направлениях, но попеременно во времени. Примером такой передачи служит технология Ethernet;

 дуплексный – передача ведется одновременно в двух направлениях.

Дуплексный режим – наиболее универсальный и производительный способ работы канала. Самым простым вариантом организации дуплексного режима является использование двух независимых физических каналов (двух пар проводников или двух световодов) в кабеле, каждый из которых работает в симплексном режиме, то есть передает данные в одном направлении. Именно такая идея лежит в основе реализации дуплексного режима работы во многих сетевых технологиях, например Fast Ethernet или АТМ.

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

Рассмотрим подробнее самую распространенную технологию построения локальных компьютерных сетей Ethernet. 

Когда говорят Ethernet, то под этим обычно понимают любой из вариантов этой технологии. В более узком смысле Ethernet – это сетевой стандарт, основанный на экспериментальной сети Ethernet Network, которую фирма Xerox разработала и реализовала в 1975 году.

В 1980 году фирмы DEC, Intel и Xerox совместно разработали и опубликовали стандарт Ethernet версии II для сети, построенной на основе коаксиального кабеля, который стал последней версией фирменного стандарта Ethernet. Поэтому фирменную версию стандарта Ethernet называют стандартом Ethernet DIX или Ethernet II.

На основе стандарта Ethernet DIX был разработан стандарт IEEE 802.3, который во многом совпадает со своим предшественником, но некоторые различия все же имеются. В зависимости от типа физической среды стандарт IEEE 802.3 имеет различные модификации – 10Base-5, 10Base-2, 10Base-T, 10Base-FL, 10Base-FB. Цифра 10 в названии обозначает максимальную пропускную способность 10 Мбит/c.

В 1995 году был принят стандарт Fast Ethernet, с пропускной способностью сети до 100 Мбит/с. Принятый в 1998 году стандарт Gigabit Ethernet позволяет осуществлять передачу данных со скоростью до 1000 Мбит/c.

Физические спецификации технологии Ethernet на сегодняшний день включают следующие среды передачи данных:

10Base-5 – коаксиальный кабель диаметром 0.5 дюйма, называемый «толстым» коаксиалом. Имеет волновое сопротивление 50 Ом. Максимальная длина сегмента – 500 метров (без повторителей).

10Base-2 – коаксиальный кабель диаметром 0,25 дюйма, называемый «тонким» коаксиалом. Имеет волновое сопротивление 50 Ом. Максимальная длина сегмента – 185 метров (без повторителей).

10Base-T – кабель на основе неэкранированной витой пары (Unshielded Twisted Pair, UTP). Образует звездообразную топологию на основе концентратора. Расстояние между концентратором и конечным узлом – не более 100 м.

10Base-F – волоконно-оптический кабель. Топология аналогична топологии стандарта 10Base-T. Имеется несколько вариантов этой спецификации – FOIRL (расстояние до 1000 м), 10Base-FL (расстояние до 2000 м), 10Base-FB (расстояние до 2000 м).

Стандарт 10Base-5 в основном соответствует экспериментальной сети Ethernet фирмы Xerox и может считаться классическим Ethernet. Он использует в качестве среды передачи данных коаксиальный кабель с волновым сопротивлением 50 Ом, диаметром центрального медного провода 2, 17 мм и внешним диаметром около 10 мм («толстый» Ethernet). Такими характеристиками обладают кабели марок RG-8 и RG-11.

Cлово Base обозначает метод передачи на одной базовой частоте 10 МГц в отличие от методов, использующих несколько несущих частот, которые называются Broadband, широкополосными. Последний символ в названии стандарта физического уровня обозначает тип кабеля.

Для построения сетей Fast Ethernet используются следующие технологии.

100Base-FX многомодовое оптоволокно. Каждый узел соединяется с сетью двумя оптическими волокнами, передача по которым осуществляется в двух различных направлениях. В стандарте предусматривается использование метода кодирования 4B/5B, в котором каждые 4 бита заменяются на 5 бит. Физическое кодирование проводится по методу NRZI.

Оборудование 100Base-FX не совместимо с 10 Мбит Ethernet на оптоволокне.

100Base-TX – витая пара UTP категории 5 или STP типа 1.

Для соединения используются две витые пары, логическое кодирование 4B/5B и физическое кодирование MLT-3. Оборудование 100Base-FX может работать совместно с оборудованием 10 Мбит Ethernet. Для выбора режима работы предусмотрена функция автопереговоров. Переговорный процесс заключается в том, что одно из устройств посылает определенный сигнал, кодирующий предлагаемый режим работы, начиная с самого приоритетного (высокоскоростного). Если этот режим не поддерживается, то происходит попытка установить связь в менее приоритетном режиме.

100Base-T4 – витая пара категории 3 (или 5).

Характеристики Gigabit Ethernet следующие.

1000Base-SX – многомодовое оптоволокно, длина волны передатчика 850 нм. Предусматривается использование двух различных типов кабеля: с диаметром внутреннего проводника 62.5 и 50 мм и предельной длиной оптоволоконного сегмента 220 и 500 м соответственно (это ограничение менее жесткое, чем ограничение на диаметр сети, но ограничение на диаметр сети может быть преодолено при использовании коммутаторов).

1000Base-LX – многомодовое или одномодовое оптоволокно, длина волны передатчика 1300 нм. Ограничение на максимальную длину отрезка кабеля – 550 м для многомодового оптоволокна 50 мм, 400 м для многомодового оптоволокна 52.5 мм и 5000 м для одномодового.

1000Base-CXэкранированная витая пара STP с волновым сопротивлением 150 Ом. Максимальная длина отрезка кабеля 25 м.

1000Base-TX – неэкранированная витая пара, максимальная длина отрезка кабеля 100 м.

Рассмотрим общие для всех указанных технологий принципы передачи данных в сетях Ethernet. В таких сетях используется метод доступа к среде передачи данных, называемый методом коллективного доступа с опознаванием несущей и обнаружением коллизий (CSMA/CD, Сarrier Sense Multiply Access / Collision Detection).

Этот метод применяется исключительно в сетях с логической общей шиной, к которым относятся также и радиосети, породившие этот метод. Все компьютеры такой сети имеют непосредственный доступ к общей шине, поэтому она может быть использована для передачи данных между любыми двумя узлами сети. Одновременно все компьютеры сети имеют возможность немедленно (с учетом задержки распространения сигнала по физической среде) получить данные, которые любой из компьютеров начал передавать на общую шину. Все данные, передаваемые по сети, помещаются в кадры определенной структуры и снабжаются уникальным адресом станции назначения. Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (CS, Carrier Sense). Признаком незанятости среды является отсутствие на ней несущей частоты, которая при манчестерском способе кодирования равна 5 - 10 МГц, в зависимости от последовательности единиц и нулей, передаваемых в данный момент. Если среда свободна, то узел имеет право начать передачу кадра. В классической сети Ethernet на коаксиальном кабеле сигналы передатчика распространяются в обе стороны, так что все узлы сети их получают. После окончания передачи кадра все узлы сети обязаны выдержать технологическую паузу в 9.6 мкс. Эта пауза, называемая также межкадровым интервалом, нужна для приведения сетевых адаптеров в исходное состояние, а также для предотвращения монопольного захвата среды одной станцией. После окончания технологической паузы узлы имеют право начать передачу своего кадра, так как среда свободна.

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

Чтобы корректно обработать коллизию, все станции одновременно наблюдают за возникающими на кабеле сигналами. Если передаваемые и наблюдаемые сигналы отличаются, то фиксируется обнаружение коллизии (CD, Сollision Detection). Для увеличения вероятности скорейшего обнаружения коллизии всеми станциями сети станция, которая обнаружила коллизию, прерывает передачу своего кадра (в произвольном месте, возможно, и не на границе байта) и усиливает ситуацию коллизии посылкой в сеть специальной последовательности из 32 бит, называемой jam - последовательностью. Если 16 последовательных попыток передачи кадра вызывают коллизию, то передатчик должен прекратить попытки и отбросить этот кадр.

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

Беспроводные локальные сети

Существует несколько стандартов на технологии беспроводных локальных сетей, наиболее распространенными из которых являются Bluetooth и IEEE 802.11.

Bluetooth – технология, разработанная консорциумом фирм-производителей устройств мобильной связи Bluetooth Special Interest Group. Передача данных осуществляется на частоте 2.4 ГГц на расстояния до 10 м (существуют модификации стандарта, увеличивающие расстояние до 100 м.) Скорость передачи данных до 432.6 Кбит/с (до 721 Мбит/с в асимметричном режиме).

Изначально данная технология была ориентирована на подключение к компьютеру мобильных устройств – карманных компьютеров и телефонов, но в настоящее время разработчики активно продвигают ее в качестве основы построения сети для нескольких офисов. Сейчас уже производятся принтеры с беспроводным доступом и мосты для подключения Bluetooth-адаптеров к Ethernet.

В основу стандарта 802.11 положена сотовая архитектура, причем сеть может состоять как из одной, так и нескольких ячеек. Каждая сота управляется базовой станцией, называемой точкой доступа (AP, Access Point), которая вместе с находящимися в пределах радиуса ее действия рабочими станциями пользователей образует базовую зону обслуживания (BSS, Basic Service Set). Точки доступа многосотовой сети взаимодействуют между собой через распределительную систему (DS, Distribution System), представляющую собой эквивалент магистрального сегмента кабельных компьютерных сетей. Вся инфраструктура, включающая точки доступа и распределительную систему, образует расширенную зону обслуживания (Extended Service Set).

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

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

Стандартом IEEE 802.11 предусмотрен целый комплекс мер безопасности передачи данных под общим названием Wired Equivalent Privacy (WEP). Он включает средства противодействия несанкционированному доступу к сети, механизмы и процедуры аутентификации, а также шифрование информации при её передаче.

Принятые впоследствии (а также разрабатываемые в настоящее время) дополнительные спецификации 802.11a – 802.11h предусматривают использование других частотных диапазонов и увеличение максимальной пропускной способности (до 54 МБит/с и более) за счет расширения спектра и использования других способов кодирования.

  1.  Основы Internet-технологии
    1.  Локальные и глобальные сети ЭВМ

Базовые протоколы и адресация в Internet 

Передача данных по сети Internet осуществляется на основе семейства протоколов TCP/IP. IP-протокол– межсетевой протокол, отвечающий за передачу данных. TCP-протокол– протокол управления передачей данных.

Данные в Internet передаются в виде коротких пакетов (до 1,4 кбайт). В заголовке каждого пакета вместе со служебной информацией (контрольная сумма) указывается IP-адрес получателя. Каждый клиент Internet имеет уникальный IP-адрес. IP-адрес представляет собой 4-х байтовое число, которое представляется чаще всего в виде 4-х чисел от 0 до 255 (например, 10.83.114.10), конкретизация адреса осуществляется слева направо.

Наряду с IP-адресами используются смысловые (семантические), или доменные, адреса (адреса-имена).

Домен – совокупность компьютеров, принадлежащих одному уровню.

DNS (Domain Name System) – доменная система имен – система преобразования доменных адресов в IP-адреса. DNS представляет собой распределенную базу данных, в которой каждому IP-адресу ставится в соответствие один или несколько доменных адресов. Рассмотрим доменный адрес www.yandex.ru. В доменной адресации уточнение адреса сервера происходит справа налево. Иерархическая структура доменов для данного примера:

ru – домен верхнего уровня,

yandex – домен второго уровня,

www – имя протокола передачи данных по Internet.

Домены подразделяются на организационные и территориальные.

Организационные домены верхнего уровня:

.com (commercial) – коммерческие организации;

.edu (educational) – образовательные организации;

.gov (govemental) – правительственные организации;

.mil (military) – военные организации;

.net (network) – организации, предоставляющие сетевые услуги;

.org (organization) – организации, не относящаяся к вышеназванным видам.

Территориальные домены верхнего уровня:

.гu (Russia) – Россия;

.su (Soviet Union) – страны бывшего СССР, ныне ряд государств СНГ;

.uk (United Kingdom) – Великобритания;

.ua (Ukraine) – Украина;

.bg (Bulgaria) – Болгария;

.hu (Hungary) – Венгрия;

.uz (Uzbekistan) – Узбекистан;

.de (Deutchland) – Германия.

Всего зарезервировано около 300 обозначений, из которых используется около 150.

Как правило, пакеты данных от одного компьютера к другому проходят в Internet через цепочку промежуточных компьютеров (до 25) – маршрутизаторов, или роутеров (route – маршрут). Каждый из роутеров анализирует IP-адрес в заголовке пакета и с помощью таблицы маршрутизации выбирает один из подключенных к нему компьютеров, которому и пересылает пакет.

Значительную часть информационного пространства занимает гипертекстовая мультимедийная технология для работы с информационными ресурсами Internet WWW.

Главным понятием этой технологии является гипертекст документ, связанный с фрагментами этого же документа или другими документами через систему выделенных слов (гиперссылок). Документ, включающий не только текст, но и другие данные, часто называют гипермедиа – гипертекстовый мультимедийный документ (web-документ, web-страница). Гипермедиа формируется на специально разработанном языке HTML (Hyper Text Markup Language, язык разметки гипертекстов) и имеет одно из расширений: .htm, .html, .shtml.

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

Для просмотра и работы с web-документами используются специальные программы – браузеры (browse, осматривать). Браузер работает с сервером по протоколу HTTP (Hyper Text Transfer Protocol, протокол для передачи гипертекстовых документов). К наиболее популярным браузерам относятся Internet Explorer, Netscape Navigator, Opera, Mozilla и др. Работа браузера заключается в посылке запроса к серверу, заданному пользователем, и интерпретации получаемых HTML-файлов. Также браузер выполняет следующие функции кэширования, т.е. хранения уже загруженных документов на жестком диске компьютера, формирования списка уже просмотренных и часто посещаемых документов, для обеспечения к ним быстрого возврата (инструменты: «журнал», «адрес», «переход», «избранное»), представления документа в виде исходного HTML-кода и его редактирования; автоматизированный или ручной подбор кодировки отображения страницы. Если документ подготовлен в одной кодировке, а представляется в другой, то текст будет выглядеть как бессмысленный набор знаков. Браузер позволяет подбирать кодировку документа автоматически или вручную. В строке адреса браузера вводится URL (Universal Resource Locator – универсальный определитель ресурсов), представляющий собой способ адресации ресурсов в сети Internet и однозначно определяющий их местонахождение. Структура URL: протокол : // адрес сервера / локальный путь к файлу.

Организация подключения и работы с Internet 

Для подключения к Internet необходимы следующие элементы.

1. Internet-провайдер (Internet Service Provider, ISP) – компания, предоставляющая услуги по подключению к Internet.

2. Физический канал связи между организацией и Internet-провайдером.

3. Устройство, обеспечивающее связь по каналу.

Наиболее распространены следующие каналы связи и способы подключения к оборудованию провайдера:

– коммутируемая линия и режим dail-up, «дозвониться», средняя скорость передачи/приема данных – около 33–52 Кбит/сек;

– по выделенной линии, скорость передачи/приема данных зависит от типа канала.

Использование цифрового канала ISDN обеспечивает скорость 64/128 кБит/сек, а при технологии ADSL скорость передачи достигает до 8 МБит/с. Вне зависимости от способа доступа к Internet пользователю требуется IP-адрес, который, в зависимости от способа получения, может быть статистическим, и фиксируется за клиентом, или динамическим, и меняется каждый раз при подключении к Internet. В функции провайдера входят: предоставление доступа к Internet; информационная поддержка существующих и потенциальных клиентов; программная и техническая поддержка и настройка оборудования; дополнительный сервис и обеспечение работы почтового ящика клиента, предоставление дополнительного дискового пространства на сервере (до 10–20 Мбайт) и др.; учетно-финансовые функции и учет времени работы в Internet, трафика и др.

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

Ценовая политика Internet-провайдеров предполагает установление базисных тарифов по различным тарифным планам и системы льгот и скидок с целью стимулирования спроса и привлечения новых клиентов. Основные виды тарифных планов: повременная оплата – оплачивается время работы в Internet (время использования канала), руб/час; оплата по трафику – оплачивается количество переданной и полученной информации, руб/Мбайт; абонентская плата – фиксированная плата за работу в Internet в течение определенного времени, руб/мес. Часто провайдером устанавливаются дополнительные ограничения на трафик. Существует также смешанная оплата – комбинирование нескольких различных форм оплаты, например, может учитываться время работы и трафик. Предоставление пользователю возможности работы в Internet предусматривает также регистрационный взнос.

Информационные и коммуникационные
сервисы Internet

►E-mail (Electronic mail) – система для обмена электронными сообщениями (файлами), снабженными стандартным заголовком.

Для работы с E-mail необходимо зарегистрироваться т.е. «завести почтовый ящик» на почтовом сервере провайдера или на одном из серверов, предоставляющих бесплатные почтовые услуги (www.rambler.ru, www.mail.ru, www.yahoo.com и др.). На компьютере пользователя устанавливается клиентская почтовая программа – мэйлер (mail, почта). При запуске эта программа устанавливает связь с почтовым сервером, а после прохождения авторизации и проверки учетной записи клиента осуществляется обмен сообщениями по протоколам pop3 / smtp или http. Клиент может иметь несколько учетных записей, т.е. несколько e-mail адресов.

В функции мэйлера входят: подготовка и отправка сообщений (New, Create); ответ на входящие сообщения (Reply То); редактирование сообщений; автоматическая сортировка прочитанных и непрочитанных сообщений по разным критериям; пересылка сообщений (Forward); вложение и извлечение файлов (Attach, Extract); настройка начальных установок; блокировка нежелательных сообщений; использование адресной книги; автоматическое добавление подписи, визитной карточки и бланков; шифрование сообщений; добавление электронно-цифровой подписи.

Преимущества E-mail: удобство подготовки и работы с сообщениями; высокая скорость доставки сообщения от нескольких секунд до нескольких минут; низкая стоимость; надежность доставки.

Дополнительные возможности: работа с группами новостей и службами рассылок, системы подписки и отправки сообщений по определенной тематике, получение и отправка объявлений по определенной тематике, участие в телеконференциях (Usenet), работа со службами Fax-mail, возможность отправки по E-mail факсимильных сообщений.

Структура электронных сообщений:

– заголовок;

– текст;

– вложения;

– электронно-цифровая подпись.

Основные поля заголовка: From – адрес отправителя; То – адрес получателя; СС (Copies) – кому еще адресовано это письмо (копии); Subj (Subject) – тема сообщения; Date – дата и время отправки сообщения.

Служебные поля: Message ID – уникальный идентификатор сообщения; Received – отметка о прохождении письма через маршрутизатор (аналог почтового штемпеля); Status – прочитано/не прочитано, уровень значимости, секретность и др.

Структура электронного адреса: идентификатор абонента @ адрес почтового сервера (@-коммерческое at, означает «на, при»). Пример E-mail адреса: user_2005@mail.ru .

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

Электронная почта и сервисы, функционирующие на ее базе (телеконференции, списки рассылок, доски объявлений и др.) представляют собой off-line коммуникационные сервисы.

Коммуникационные сервисы, работающие в режиме реального времени, – on-line сервисы, или сервисы и программы для прямого межпользовательского общения:

– Talk,

– IRC (Internet Relay Chat),

– Chat-rooms (виртуальные гостиные),

– ICQ (I seek you),

– Net Meeting (обмен файлами, сообщениями в Intranet и Internet),

– службы Internet-Phone (обмен голосовыми сообщениями через Internet).

Для передачи файлов с удаленного компьютера на локальный в Internet используется протокол передачи файлов FTP (File Transfer Protocol), с помощью которого можно обмениваться файлами с любым клиентом сети.

FTP-сервис используется:

– для загрузки файлов (архивов) с удаленного компьютера на свой (download),

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

Например, FTP часто используется для «закачивания» «домашних страничек» на серверы, предоставляющие место под них, и «выкачивания» файлов из FTP-архивов. Существуют тысячи серверов, предоставляющих гигабайты самой разнообразной информации: от фотографий из космоса, видео и музыкальных коллекций до дистрибутивов общедоступных программ. Файловые архивы в FTP чаще всего имеют формат .zip.

Любой FTP-сервер требует авторизации пользователя, то есть ввода его имени и пароля, в зависимости от которых пользователю будет предоставлен доступ к определенным каталогам и возможность осуществлять разрешенные действия над содержимым FTP-архива.

Структура FTP-запроса: ftp://<user>:<password>@<host>/<url-path>, где user – имя пользователя, password — его пароль, host – доменное имя или IP-адрес сервера, url-path – путь к файлу.

Практически каждый FTP-сервер предоставляет анонимный вход (другое название этого сервиса – анонимный FTP). Для анонимного FTP существует упрощенный синтаксис: ftp://<host>/<url-path>. Имя для входа – anonymous. При таком входе предоставляется доступ к общедоступным каталогам и данным. Обычно в таком режиме доступа к серверу пользователь может только просматривать каталоги и «выкачивать» файлы к себе на диск. Некоторые серверы создают специальные каталоги, куда каждый желающий также может «закачать» свои собственные файлы.

Когда пользователь открывает FTP-соединение, то оказывается в root-каталоге (самый верхний каталог в иерархии файлов). Каталоги /bin, /usr, /etc, /dev содержат системные файлы. Пользователь может перемещаться по дереву каталогов файлового архива, просматривать список файлов и при желании «скачивать» необходимые файлы к себе на компьютер. Скачивание файлов осуществляется обычно из общедоступного каталога /pub FTP-сервера. Работа в FTP-каталогах аналогична работе с любым файл-менеджером, например, Windows Commander, FAR или Windows Explorer (Проводник). Щелкая клавишей мыши на именах папок, можно переходить из каталога в каталог, а щелкая на именах файлов – копировать файл.

Поиск информации в Internet 

Для поиска нужной информации в Internet можно воспользоваться специальными поисковыми машинами, например: www.rambler.ru, www.yandex.ru, www.yahoo.com, www.altavista.com, www.google.com, www.alltheweb.com  и многими другими. Из-за большого количества информации в Internet на каждой поисковой машине заранее создается специальная база данных (база индексов), которая представляет собой список слов, встречающихся в web-документах, и их сетевые координаты (URL).

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

– индексирование, которое осуществляется при помощи спайдеров (spider, паук) – программ, посещающих ресурсы Internet и полностью или частично индексирующих их содержание);

– занесение индексов в базу данных поисковой системы;

– сопоставление поискового запроса с индексами базы данных.

Основные характеристики поисковых систем и результатов поиска:

– релевантность – соответствие результатов поиска первоначальному поисковому запросу;

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

– скорость обхода – скорость формирования индексов;

– скорость поиска – скорость выполнения поисковой системой запроса пользователя;

– точность поиска – параметр, показывающий, какова доля релевантных документов в общем количестве найденных;

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

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

Темы контрольных работ:

Теоретические основы информатики

Информатика как наука и как вид практической деятельности

1 История развития информатики.

2 Информатика и управление социальными процессами.

3 Компьютерная революция: социальные перспективы и последствия.

4 Защита информации в Internet.

5 Информатика как единство науки и технологии.

6 Место информатики в системе наук.

7 Социальные аспекты информатики.

8 Правовые аспекты информатики.

9 Этические аспекты информатики.

Информация, ее виды и свойства

10 Проблема информации в современной науке.

11 Непрерывная и дискретная информация.

12 Информация и эволюция живой природы.

13 Информационные процессы в неживой природе.

14 Материя, энергия и информация.

15 Свойства информационных ресурсов.

Системы счисления

16 Системы счисления древнего мира.

17 Римская система счисления. Представление чисел в ней и решение арифметических задач.

18 История десятичной системы счисления.

19 Применение в цифровой электронике двоичной, восьмеричной и шестнадцатеричной систем счисления.

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

20 История кодирования информации.

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

Алгоритм и его свойства

22 История формирования понятия «алгоритм».

23 Известнейшие алгоритмы в истории математики.

24 Средства и языки описания (представления) алгоритмов.

25 Методы разработки алгоритмов.

26 Основные конструкции алгоритмических языков.

27 Свойства алгоритмов.

28 Проблема алгоритмической разрешимости в математике.

29 Основатели теории алгоритмов – Клини, Черч, Пост, Тьюринг.

30 Формализация понятия алгоритма и алгоритмическая разрешимость.

31 Проблемы вычислимости в математической логике.

32 Абстрактные автоматы и уточнение понятия алгоритма. Машины Поста и Тьюринга.

33 Ассоциативные исчисления и нормальные алгоритмы Маркова.

Принципы разработки алгоритмов и программ для решения прикладных задач

34 Жизненный цикл программных систем.

35 Методы проектирования программных систем.

36 Методы обеспечения правильности программ.

37 Модульный подход к программированию.

38 Структурный подход к программированию.

39 Объектный подход к программированию.

40 Параллельное программирование.

41 CASE-технологии разработки программных систем.

История развития вычислительной техники

1 Докомпьютерная история развития вычислительной техники.

2 Вклад Ч. Беббиджа в разработку принципов функционирования автоматических цифровых вычислительных машин.

3 Работы Дж. Фон Неймана по теории вычислительных машин.

4 История создания и развития ЭВМ 1-го поколения.

5 История создания и развития ЭВМ 2-го поколения.

6 История создания и развития ЭВМ 3-го поколения.

7 История создания и развития ЭВМ 4-го поколения.

8 Микропроцессоры: история создания, использование в современной технике.

9 Персональные ЭВМ, история создания, место в современном мире.

10 Супер-ЭВМ, назначение, возможности, принципы построения.


           Рис.1.1

Рис. 1.2

Центральный процессор

АЛУ

УУ

Внешние устройства

Память

Микро-процессор

КЭШ

Основная память

Система портов ввода-вывода

Адаптеры и контроллеры  устройств

Коммуникационные порты

Основные периферийные устройства

Дополнительные устройства

Текстовые

документы

Электронные

таблицы

Работа с

графикой

Пользователь № 1

ользователь № 2

Пользователь № 3

Программист

Интерфейс пользователя

 User Interface

Интерфейс прикладного программирования

Application Programming Interface

Операционная система

Аппаратура компьютера

EMBED Unknown

Порождение

Готовность

Активное

Ожидание

Окончание

API исполняющей системы

Диспетчер системных процессов, сетевых сервисов, подсистемы DLL

Уровень абстрагирования от оборудования (HAL)

Исполняющая подсистема

Системные

процессы

Сервисы сетевой

обработки данных

Пользовательские приложения

Аппаратное обеспечение ПК

Драйверы устройств

Файловая система

Диспетчер памяти

Диспетчер окон

Рис. 1.

Ядро ОС

Банк данных

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

Программные средства

Языковые средства

Технические средства

Организационно-методические средства

СУБД

Администратор БД

Программные средства

Программная
компонента

Операционная
система

Прикладные
программы

Ядро СУБД

Транслятор

Утилиты

Полносвязная

Ячеистая

Общая шина

Звезда

Смешанная

я

Кольцо

Прикладной

Представительный

Сеансовый

Транспортный

Сетевой

Канальный

Физический

Приложение

Прикладной

Представительный

Сеансовый

Транспортный

Сетевой

Канальный

Физический

Приложение




1. Про Єдиний державний реєстр нормативних актів
2. Управленческий учет как система управления прибылью
3. І. Кіріспе ІІ. Негізгі б~лім 2
4. Разработка системы агротехнических мероприятий по получению высоких урожаев
5. Втеча у хворобу
6. темами Основні підходи до управління ризиком Ризик в умовах централізованої та ринкової економіки
7. I Назначение компонентов
8. реферат дисертації на здобуття наукового ступеня кандидата педагогічних наук Київ 2008
9. Факторы, сохраняющие качество товаров Современные методы консервирования Формирование ассортимента рыбных консервов
10. на тему- Бедность в России- проблемы и пути преодоления Исполнитель- Группа- Преподав
11. Тема 8. МЕТОДИЧЕСКОЕ МЫШЛЕНИЕ гипотеза доказательство опровержение критика Часть II Доказательство
12. Значение гимнастики в физическом воспитании
13. Зав кафедрой- Шойхет Я
14. Культурная инициатива
15. Утверждаю.html
16. Крестьянский вопрос в начале XIX века
17. В данную группу не включаются лекарственные сигареты группа 30
18. Введение в политическую науку
19. 2 Q ВЫБОР 2 ФАЙЛ Сумма ряда равна
20. Крито-Микенская цивилизация