Главная страница

Информатика. Информация. Информатика. Информационные технологии


Скачать 474.56 Kb.
НазваниеИнформация. Информатика. Информационные технологии
АнкорИнформатика.docx
Дата13.05.2018
Размер474.56 Kb.
Формат файлаdocx
Имя файлаИнформатика.docx
ТипДокументы
#19198
страница3 из 5
1   2   3   4   5


  1. Разработка прикладной программы под управлением ЭВМ.

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

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

Трансляторы могут быть компилирующего типа – компиляторы и интерпретирующего типа – интерпретаторы.

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

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

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

Язык программирования Паскаль был создан профессором, директором института информатики Швейцарской высшей политехнической школы г. Цюриха Никлаусом Виртом, в 1968 г. впервые опубликовано предварительное описание языка, а в 1970 г. представлен компилятор. Язык назван в честь известного математика Блеза Паскаля (1623 – 1662 г.г.), автора первой механической вычислительной сумматорной машины. Язык Паскаль был создан автором специально для обучения дисциплине программирования в высшей школе как язык поддержки технологии структурного программирования и средство формирования у обучаемого определенного стиля и практических навыков программирования. Основной тезис его разработки: «язык должен быть очевидным и естественным отражением фундаментальных и наиболее важных концепций алгоритмов». Широкое распространение языка Паскаль, его современных диалектов, свидетельствует о его практической ценности в различных сферах применения и, прежде всего, в сфере начального обучения программированию и формирования профессиональных навыков будущего специалиста в области IT-технологий.

  1. Системы программирования. Назначение и состав.

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


  1. Технология разработки программных комплексов. Основные этапы.



Стадия разработки ПП включает следующие частично перекрывающиеся этапы.

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

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

- установление требований пользователя к способу взаимодействия с ПП (система меню, использование манипулятора «мышь», типы подсказок, виды экранных документов и т. п.);

- определение аппаратных и программных средств, необходимых для эксплуатации ПП.

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

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

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

Стадия эксплуатации и сопровождения включает следующие этапы.

ВР – выпуск ПП на рынок ПО сопровождается различными приемами маркетинга: рекламой, увеличением числа каналов реализации, скидками, службой поддержки и др. ПП может быть выпущен на рынок как коммерческое, условно-бесплатное (shareware) или бесплатное (freeware) ПО. Для получения копии коммерческого пользователь должен предварительно его оплатить. Условно-бесплатное ПО является ознакомительным. Пользователь может попробовать данный ПП в течение определенного периода. По истечению этого периода пользователь должен купить ПО или отказаться от его использования. Бесплатное ПО не имеет ограничений на использование.

ЭП – эксплуатация ПП идет параллельно с этапом сопровождения. При этом эксплуатация может начинаться раньше и заканчиваться позже сопровождения.

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

Стадия завершения жизненного цикла состоит из одного этапа.

СН – снятие ПП с продажи и отказ от сопровождения происходит, как правило, по следующим причинам:

- появлением новых технологий и устройств;

- плохих отзывах пользователей;

- смене политики разработчика этого ПП.

Длительность жизненного цикла для различных ПП различна. Для большинства современных ПП длительность жизненного цикла составляет в среднем 2-3 года.

  1. Основы структурного программирования.

При программировании модуля следует иметь ввиду, что программа должна быть понятной не только компьютеру, но и человеку: и разработчик модуля, и лица, проверяющие модуль, и текстовики, готовящие тесты для отладки модуля, и сопроводители ПС, осуществляющие требуемые изменения модуля, вынуждены будут многократно разбирать логику работы модуля. В современных языках программирования достаточно средств, чтобы запутать эту логику сколь угодно сильно, тем самым, сделать модуль трудно понимаемым для человека и, как следствие этого, сделать его ненадежным или трудно сопровождаемым. Поэтому необходимо принимать меры для выбора подходящих языковых средств и следовать определенной дисциплине программирования. Впервые на это обратил внимание Дейкстра [8.2] и предложил строить программу как композицию из нескольких типов управляющих конструкций (структур), которые позволяют сильно повысить понимаемость логики работы программы. Программирование с использованием только таких конструкций назвали структурным.
Основными конструкциями структурного программирования являются: следование, разветвление и повторение (см. Рис. 8.1). Компонентами этих конструкций являются обобщенные операторы (узлы обработки [8.5]) S, S1, S2 и условие (предикат) P. В качестве обобщенного оператора может быть либо простой оператор используемого языка программирования (операторы присваивания, ввода, вывода, обращения к процедуре), либо фрагмент программы, являющийся композицией основных управляющих конструкций структурного программирования. Существенно, что каждая из этих конструкций имеет по управлению только один вход и один выход. Тем самым, и обобщенный оператор имеет только один вход и один выход.
Весьма важно также, что эти конструкции являются уже математическими объектами (что, посуществу, и объясняет причину успеха структурного программирования). Доказано, что для каждой неструктурированной программы можно построить функционально эквивалентную (т.е. решающую ту же задачу) структурированную программу. Для структурированных программ можно математически доказывать некоторые свойства, что позволяет обнаруживать в программе некоторые ошибки. Этому вопросу будет посвящена отдельная лекция.
Структурное программирование иногда называют еще "программированием без GO TO". Однако дело здесь не в операторе GO TO, а в его беспорядочном использовании. Очень часто при воплощении структурного программирования на некоторых языках программирования (например, на ФОРТРАНе) оператор перехода (GO TO) используется для реализации структурных конструкций, не снижая основных достоинств структурного программирования. Запутывают программу как раз "неструктурные" операторы перехода, особенно переход на оператор, расположенный в тексте модуля выше (раньше) выполняемого оператора перехода. Тем не менее, попытка избежать оператора перехода в некоторых простых случаях может привести к слишком громоздким структурированным программам, что не улучшает их ясность и содержит опасность появления в тексте модуля дополнительных ошибок. Поэтому можно рекомендовать избегать употребления оператора перехода всюду, где это возможно, но не ценой ясности программы [8.1].
К полезным случаям использования оператора перехода можно отнести выход из цикла или процедуры по особому условию, "досрочно" прекращающего работу данного цикла или данной процедуры, т.е. завершающего работу некоторой структурной единицы (обобщенного оператора) и тем самым лишь локально нарушающего структурированность программы. Большие трудности (и усложнение структуры) вызывает структурная реализация реакции на возникающие исключительные (часто ошибочные) ситуации, так как при этом требуется не только осуществить досрочный выход из структурной единицы, но и произвести необходимую обработку (исключение) этой ситуации (например, выдачу подходящей диагностической информации). Обработчик исключительной ситуации может находиться на любом уровне структуры программы, а обращение к нему может производиться с разных нижних уровней. Вполне приемлемой с технологической точки зрения является следующая "неструктурная" реализация реакции на исключительные ситуации [8.7]. Обработчики исключительных ситуаций помещаются в конце той или иной структурной единицы и каждый такой обработчик программируется таким образом, что после окончания своей работы производит выход из той структурной единицы, в конце которой он помещен. Обращение к такому обработчику производится оператором перехода из данной структурной единицы (включая любую вложенную в нее структурную единицу).

  1. Базовые управляющие конструкции.

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

  1. «Восходящий» и «нисходящий» способы проектирования программ.

  2. Алгоритм и схема алгоритма.

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

Свойства алгоритма:

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

2. Исполнитель может выполнить алгоритм, если он ему понятен, то есть записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Набор действий, которые могут быть выполнены исполнителем, называется системой команд исполнителя. Алгоритм не должен содержать описания действий, не входящих в систему команд исполнителя, то есть своей структурой команд и формой записи алгоритм должен быть ориентирован на конкретного исполнителя.

3. Алгоритмы, предназначенные для исполнения техническим устройством, не должны содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение, и если применять его повторно к одним и тем же исходным данным, то всегда должен получаться один и тот же результат; при этом и промежуточные результаты, полученные после соответствующих шагов алгоритмического процесса, тоже должны быть одинаковыми. Это свойство определенности и однозначности – детерминированности  алгоритма позволяет использовать в качестве исполнителя специальные машины-автоматы.

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

5. Цель выполнения алгоритма – получение конечного результата посредством выполнения указанных преобразований над исходными данными. В алгоритмах аль-Хорезми исходными данными и результатом являлись числа. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам – требование их результативности или конечности.

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

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

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

Рассмотрим общие правила построения схем алгоритмов.

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


Наименование символа

Обозначение
и размеры

Функция

Процесс
(вычислительный блок)

1

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

Решение (логический блок)

1

Выбор направления выполнения алгоритма в зависимости от некоторых условий

Модификация (заголовок цикла)

1

Выполнение операций по управлению циклом – повторением команды или группы команд алгоритма

Пуск-останов (начало-конец)

1

Начало или конец выполнения программы или подпрограммы

Предопределенный процесс (вызов подпрограммы)

1

Вызов и использование ранее созданных и отдельно описанных алгоритмов (подпрограмм)

Ввод/вывод

1

Общее обозначение ввода или вывода данных в алгоритме безотносительно к внешнему устройству

Соединитель

1

Указание прерванной связи между блокам в пределах одной страницы

Межстраничный соединитель

1

Указание прерванной связи между блоками, расположенными на разных листах


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



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

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

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

6. Для блоков приняты следующие размеры: а = 10, 15, 20 мм; b = 1,5а. Если необходимо увеличить размер блока, то допускается увеличение на число, кратное пяти. Необходимо выдерживать минимальное расстояние 3 мм между параллельными линиями потоков и 5 мм между остальными символами.

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

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

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

  1. Тестирование и отладка программ.

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

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

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

Тестирование программы – это выполнение программы на наборах исходных данных (тестах), для которых известны результаты, полученные другим методом. Система тестов подбирается таким образом, чтобы

а) проверить все возможные режимы работы программы;

б) по возможности, локализовать ошибку.

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

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

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

  1. Виды ошибок в программах.

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

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

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

  1. Методы получения дополнительной информации о процессе выполнения программы.

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

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

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

  1. Назначение и типы вычислительных комплексов.

  2. Назначение и типы компьютерных сетей.

Вычислительные сети используются в следующих целях:

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

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

3) обработка данных, хранящихся в сети;

4) передача данных между удаленными друг от друга пользователями.

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

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

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

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

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

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

- региональные сети объединяют несколько предприятий или город; примером сетей такого типа является сеть кабельного телевидения;

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

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

- одноранговые сети объединяют равноправные узлы; такие сети объединяют не более 10 узлов;

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


  1. Состав и основные характеристики компьютерных сетей.

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

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

Узлы обмениваются сообщениями. Здесь сообщение – это целостная последовательность данных, передаваемых по сети.

Отдельные части сети называются сегментами.

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

Вычислительные сети имеют следующие характеристики.

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

- времени передачи запроса от пользователя к узлу сети, ответственному за его исполнение;

- времени выполнения запроса в этом узле;

- времени передачи ответа на запрос пользователю.

2. Пропускная способность – это объем данных, передаваемых через сеть ее сегмент за единицу времени (трафик).

3. Надежность – это среднее время наработки на отказ.

4. Безопасность – это способность сети обеспечить защиту информации от несанкционированного доступа.

5. Масштабируемость – это возможность расширения сети без заметного снижения ее производительности.

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


  1. Виды топологии компьютерных сетей.

Однако порядок их подсоединения к сети определяется топологией – усредненной геометрической схемой соединений узлов сети.

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

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



Топология кольцо

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

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



Топология шина

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

В качестве центрального узла выступает концентратор (хаб, hub). Концентраторы выполняются в виде отдельных устройств с 8, 16, 24 или 48 портами, к которым подключаются ЭВМ. При получении пакета в одном из портов концентратор широковещательно передает его на все остальные порты. Узлы анализируют адрес получателя пакета и, если он предназначен им, то получают его, иначе игнорируют его.

Концентраторы могут быть трех типов:

1) пассивные: только соединяющие сегменты сети;

2) активные: это пассивные концентраторы, усиливающие сигналы, увеличивая расстояние между узлами;

3) интеллектуальные: это активные концентраторы, выполняющие маршрутизацию.

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

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



Топология звезда

При построении локальных сетей используются данные топологии или их сочетания.

  1. Сеть Интернет. Структура. Управление. Протоколы.

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

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

1) по модему (телефонному, ADSL или другого типа) (раздел Error: Reference source not found);

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

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

Протоколы сети Интернет можно разделить на два типа: базовые и прикладные. Базовые протоколы – это протоколы нижнего уровня. Они обеспечивают физическую передачу сообщений между узлами в сети Интернет. Примером базового протокола является протокол ТСР/IP. Прикладные протоколы – протоколы высокого уровня. Эти протоколы обеспечивают функционирование служб сети Интернет. Например, протокол HTTP служит для передачи гипертекстовых документов, протокол FTP – для передачи файлов, а SMTP – для передачи электронной почты. Базовые и прикладные протоколы находятся в такой же взаимосвязи, что и уровни модели OSI.

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

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


  1. Адреса компьютера в сети Интернет. Унифицированный указатель ресурса.

Каждому компьютеру, подключенному к сети Интернет, присваивается числовой адрес, называемый IP-адресом.

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

При сеансовом подключении к сети Интернет IP-адрес выделяется компьютеру только на время этого сеанса. Такое присвоение адреса компьютеру называется динамическим распределением IP-адресов. Динамическое распределение IP-адресов позволяет обслуживать большое количество пользователей, имея небольшое количество IP-адресов, так как один и тот же IP-адрес в разные моменты времени может быть выделен разным пользователям.

IP-адрес состоит из четырех чисел от 0 до 255 в десятичной системе счисления, разделенных точками. IP-адрес имеет иерархическую структуру. Например, адрес 152.207.71.12 состоит из следующих частей. Первые два числа (152.207) определяют сеть, третье число (71) – подсеть, четвертое число (12) – ЭВМ в этой подсети.

Так как каждое из четырех чисел IP-адреса изменяется от 0 до 255, то всего количество IP-адресов равно 2564 = 4,3 млрд. Однако некоторые адреса зарезервированы, поэтому они не используются.

IP-адрес трудно запоминаем пользователем, поэтому некоторые узлы в сети Интернет имеют символьные DNS-адреса (Domain Name System – система доменных имен), например, www.site.net. В сети Интернет существуют специальные DNS-серверы, которые по DNS-адресу выдают его IP-адрес.

DNS-адрес может иметь произвольную длину, образуется как символьный адрес в локальной сети (раздел Error: Reference source not found) и включает в себя несколько уровней доменов. Уровни доменов разделяются точками. Самый правый домен – домен верхнего уровня. Чем левее домен, тем ниже его уровень. Например, DNS-адрес rsrea.ryazan.ru включает следующие уровни:

ru – домен Российской Федерации;

ryazan – домен города Рязань;

rsrea – домен РГРТУ

Во время приема запроса на перевод DNS-адрес в IP-адрес DNS-сервер выполняет одно из следующих действий:

- выдает IP-адрес, если запрашиваемый DNS-адрес хранится в его базе адресов;

- взаимодействует с другим DNS-сервером для того, чтобы найти IP-адрес запрошенного имени, в случае отсутствия DNS-адрес в его базе; такой запрос может проходить по цепочке DNS-серверов несколько раз;

- сообщает, что такой DNS-адрес не существует.

Для ускорения работы в сети Интернет запрошенные IP-адреса сохраняются на компьютере, чтобы не запрашивать его вновь у DNS-сервера и сразу обратиться по этому адресу.

Для доступа к ресурсам, расположенным в сети Интернет, используется унифицированный указатель ресурса – URL (Uniform Resource Locator).

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

В ЭВМ, подключенной к сети Интернет, файлы расположены в папках с разным уровнем вложенности. Например, URL http://rsrea.ryazan.ru/docs/prikazy/p123.htm включает следующие составляющие:

http – протокол передачи гипертекста – страниц, отформатированных в формате HTML;

rsrea.ryazan.ru – DNS-адрес;

docs/prikazy/ – путь к файлу;

p123.htm – название ресурса – файла в формате HTML.

Как правило, путь к ресурсу на жестком диске компьютера, подключенного к сети Интернет, отличается от адреса URL. Таким образом, адрес URL является псевдонимом пути к ресурсу. Ресурсы сети Интернет доступны только для чтения, но не для записи.


  1. Основные службы сети Интернет.

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

Рассмотрим подробнее наиболее популярные службы сети Интернет: электронную почту, WWW и передачу файлов по протоколу FTP.
      1. 1   2   3   4   5


написать администратору сайта