WWW.KNIGA.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА - Книги, пособия, учебники, издания, публикации

 


Pages:     | 1 | 2 || 4 |

«ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ЛЕСОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра ...»

-- [ Страница 3 ] --

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

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

ь меньшая трудоемкость (при монолитном тестировании требуются 5 драйверов и заглушек; при пошаговом тестировании требуются или только 5 драйверов - если модули подключаются “снизу вверх ”, - или только 5 заглушек - если модули подключаются “сверху вниз”);

ь более раннее обнаружение ошибок в интерфейсах между модулями (их сборка начинается раньше, чем при монолитном тестировании);

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

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

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

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

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





a) модули, содержащие операции ввода-вывода, должны подключаться к тестированию как можно раньше;

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

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

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

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

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

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

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

Существует 3 способа отладки программы:

1. Пошаговая отладка программ с заходом в подпрограммы;

2. Пошаговая отладка программ с выполнением подпрограммы как одного оператора;

3. Выполнение программы до точки остановки.

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

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

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

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

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

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

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

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

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

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

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

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

Документация по сопровождению программы можно разбить на две группы:

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

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

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

ь Внешнее описание;

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

ь Описание модульной системы, включая внешнюю спецификацию каждого включенного модуля;

ь Для каждого модуля - его спецификация и описание его строения;

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

Документы второй группы содержат:

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

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

Тема 17. Понятие языка программирования.

Классификация языков программирования.

Компьютер - автомат. И, в отличии от человека, работает только по программе, заложенной в него. Для написания таких программ в настоящее время применяются АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ, число которых уже превысило число языков человеческого общения. Но хотя разработаны тысячи языков программирования, лишь сотни из них реализованы хотя бы для одного компьютера, но и среди этих сотен языков активно используются лишь несколько десятков.

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

1. Группу языков программирования НИЗКОГО УРОВНЯ обычно "открывает" язык МИКРОКОМАНД. На основе простейшего набора микрокоманд пишутся специальные микропрограммы, определяющие, с одной стороны, элементарные операции компьютера, а с другой - управление выполнением программ из элементарных операций. Совокупность таких микропрограмм иногда называют ЭМУЛЯТОРОМ.

Следующий по уровню язык из этой группы - МАШИННЫЙ. Каждая его команда описывается последовательностью микрокоманд. Синтаксически эти команды не более, чем последовательности нулей и единиц. Машинный язык, как и язык микрокоманд, удобен для интерпретации аппаратурой компьютера, но плохо приспособлен для непосредственного использования человеком-программистом.

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

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

Следующим естественным усложнением стала замена часто встречающихся последовательностей команд более крупными единицами - макрокомандами. Такие языки называют МАКРОЯЗЫКАМИ.

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

2. Следующую, существенно более многочисленную группу составляют языки программирования ВЫСОКОГО УРОВНЯ. Для всех языков высокого уровня общее то, что ориентированы они не на систему команд того или иного компьютера, а на систему операторов, характерных для записи определённого Одним из первых языков высокого уровня был ФОРТРАН (Fortran). Уже само название его - ФОРмульный ТРАНслятор - говорит о том, что основное внимание здесь уделено удобному представлению формул. Уровень языка ФОРТРАН с позиций сегодняшнего дня не слишком высок, но он по-прежнему используется для инженерных и научных расчетов, и его популярность в значительной степени поддерживается физиками, усилиями которых созданы громадные библиотеки фортран-программ. В процессе создания, реализации и использования языка фортран были отработаны многие важные идеи "языкотворчества" в программировании, и можно даже сказать, что этот язык дал уверенность в Но честь научного обоснования всего направления безусловно принадлежит разработчикам языка АЛГОЛ (Algorithmic Language), первая версия которого появилась в 1958 году. В целом АЛГОЛ - это использование строгого и элегантного математического стиля для реализации сложных алгоритмов и, безусловно, это - целая эпоха в области языков программирования.

Алгоритмический язык ПАСКАЛЬ (Pascal) разработан в 1970 г. Норбертом Винером и назван в честь английского учёного Б. Паскаля. По своей идее это алголоподобный язык, вобравший в себя все лучшие проектные решения предшественника. Но вместе с тем это качественно новый шаг, связанный прежде всего с тем, что здесь впервые была воплощена концепция абстрактных типов данных.

Почти одновременно с паскалем, в начале 70-х годов, был разработан и язык программирования СИ (С). Но если паскаль шел больше от теории программирования, то язык СИ - типичный пример влияния практических потребностей системного программирования на разработку новых языков.

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

Язык БЕЙСИК (Basic), изучением которого мы с вами будем теперь заниматься, был разработан в 1964 году в США сотрудниками Дармутского колледжа Джоном Кемени и Томасом Курцем. Название языка образовано начальными буквами предложения Beginners All-purpose Simbolic Instruction Code, что в переводе означает Многоцелевой Символический Код для начинающих. Интересно отметить, что язык под названием Бейсик существовал задолго до появления компьютеров. Он состоял примерно из 300 английских слов и использовался в Африке местными жителями для общения с английскими миссионерами и как язык межплеменного общения.

Отношение к БЕЙСИКУ среди профессионалов весьма противоречивое. Одни вообще не считают его заслуживающим внимания (например, в энциклопедическом словаре ИНФОРМАТИКА для начинающих такого слова просто нет). А известный специалист в области информатики Р.Форсайт писал: "БЕЙСИК - это питон, пожирающий все на своем пути. БЕЙСИК только что закончил "переваривать" язык ПАСКАЛЬ со всеми его управляющими структурами. После небольшой паузы и нескольких отрыжек он будет в состоянии "слопать" ПРОЛОГ..."

Языки логического программирования ЛИСП (1959 г.), ПРОЛОГ (1973 г.), РЕФАЛ, предназначены для обработки не столько числовой, сколько символьной информации.

Центральным понятием в логическом программировании является отношение.

Программа представляет собой совокупность определений отношений между объектами и цели.

Прототипом объектно-ориентированного программирования явился язык SIMULA-67.

Но оформилось оно в самостоятельный стиль программирования с появлением языка (SMALLTALK-1972 г.), первоначально предназначенного для реализаций функций машинной графики. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов. Современные объектно-ориентированные языки: Visual Basic, Delphi, Visual C#, в основе которых лежат всё те же Basic, Pascal и C.

Сейчас уже невозможно представить себе жизнь в мире ПК без Интернета. Язык гипертекстовой разметки - HTML (Hyper Text Markur Language) позволяет создавать интернет-сайты.

ТРАНСЛЯТОРЫ.

Все языки построены по определенным законам, в основе которых лежат алфавит и правила образования слов и предложений. Языки программирования строятся по тем же законам, что и человеческие: у них есть свой алфавит, свои слова (их еще называют служебными), свои правила написания. ПРОГРАММЫ, написанные на таких языках, состоят из последовательности предложений, которые называются КОМАНДАМИ или ОПЕРАТОРАМИ. Двоим, говорящим на разных языках, для общения, наверное, понадобится человек, который знает эти оба языка. Он может помочь в разговоре, переводя с одного языка на другой. Если мы "заложим" в компьютер программу, написанную на одном из языков программирования, она не будет выполняться, компьютер ее не поймет. Сам компьютер понимает только один язык - язык машинных кодов (помните? Нули и единицы. Двоичное кодирование.) Чтобы программа была понята, ее надо перевести в машинный код. Для этого используются программыпереводчики, их называют трансляторами (от латинского translatio - "передача").

Трансляторы обычно подразделяют на два типа:

1. КОМПИЛЯТОРЫ, переводящие целиком всю программу, написанную на языке программирования высокого уровня, на машинный язык, после чего программа записывается в память компьютера и лишь потом реализуется;

2. ИНТЕРПРЕТАТОРЫ, переводящие команды или операторы входной программы по очереди и немедленно выполняющие их.

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

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

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

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

4. Распределяет машинную память для выходной программы.

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

Также система программирования может включать в себя:

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

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

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

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

Ведущими разработчиками систем программирования в настоящее время являются фирмы Microsoft и Borland International.

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

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

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

Примером функционального языка является язык LISP (List Processing-обработка списков) Разработан и реализован в Массачусетском технологическом институте в 1959 г.

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

Логическое программирование Логика и программирование долгое время были непересекающимися областями исследований. Только в 1973 впервые было опубликовано описание языка PROLOG (PROgramming in LOGic- программирование в терминах логики) Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами и цели. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Логические программы отличаются принципиально низким быстродействием.

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

Объектно-ориентированное программирование. Корни объектно - ориентирования уходят в одну из ветвей логики, в которой первичной является не отношение, а объект.

Прототипом объектно-ориентированного программирования явился язык SIMULA-67. Но оформилось оно в самостоятельный стиль программ ирония с появлением языка (SMALLTALK-1972 г.), первоначально предназначенного для реализаций функций машинной графики. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов. Как пример объектно-ориентированного языка можно назвать Visual Basic и Delfi.

Сейчас уже невозможно представить себе жизнь в мире ПК без Интернета. Язык гипертекстовой разметки-HTML (Hyper Text Markur Language) позволяет создавать программы, с помощью которых можно блуждать по Сети.

Тема 18. Понятие алгоритма. Способы записи алгоритмов.

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

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

Алгоритм деления отрезка АВ пополам:

1) поставить ножку циркуля в точку А;

2) установить раствор циркуля равным длине отрезка АВ;

3) провести окружность;

4) поставить ножку циркуля в точку В;

5) провести окружность;

6) через точки пересечения окружностей провести прямую;

7) отметить точку пересечения этой прямой с отрезком АВ.

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

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

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

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

2. Каждый алгоритм строится в расчете на некоторого исполнителя. Для того чтобы исполнитель мог решить задачу по заданному алгоритму, необходимо, чтобы он был в состоянии понять и выполнить каждое действие, предписываемое командами алгоритма. Такое свойство алгоритмов называется определенностью (или точностью) алгоритма. (Например, в алгоритме указано, что надо взять 3— стакана муки. Какие стаканы, что значит 3—4, какой муки?) 3. Еще одно важное требование, предъявляемое к алгоритмам, - результативность (или конечность) алгоритма. Оно означает, что исполнение алгоритма должно закончиться за конечное число шагов.

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

Способы задания алгоритма:

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

Графическая форма представления алгоритма называется блок-схемой Исполнитель алгоритмов. Система команд исполнителя.

Компьютер как формальный исполнитель алгоритмов.

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

элементарные действия;

Среда (или обстановка) - это «место обитания» исполнителя.

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

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

Исполнитель ничего не знает о цели алгоритма. Он выполняет все полученные команды, не задавая вопросов «почему» и «зачем».

Компьютер как формальный исполнитель алгоритмов.

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

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

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

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

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

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

Вырезать этот фрагмент и поместить его в буфер.

Установить курсор на позицию после 7-го символа.

Вставить вырезанный фрагмент текста.

Этот алгоритм пользователь может выполнять формально. Пользователь в процессе выполнения алгоритма на компьютере будет нажимать клавиши клавиатуры, а при работе с графическим интерфейсом с помощью мыши активизировать те или иные кнопки, пункты меню и т.д. Фактически пользователь будет давать команды объектам программной среды Windows&Office, которые и будут исполнителями алгоритма.

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

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

Тема 19. Разветвляющиеся алгоритмы.

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

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

Команда ветвления, как и любая другая, может быть:

Структура ветвление существует в четырех основных вариантах:

SELECT CASE

END SELECT

SELECT CASE

END SELECT

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

В циклах типа пока тело цикла выполняется до тех пор, пока выполняется условие.

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

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

Цикл, как и любая другая алгоритмическая структура, может быть:

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

Изображен в виде блок-схемы;

Закодирован на языке программирования.

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

1. Цикл с предусловием. (Цикл пока.) Предписывает выполнение тела цикла до тех пор, пока выполняется условие, записанное после слова пока 2. Цикл с постусловием.

Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне Тема20. Структурное программирование Вспомогательные алгоритмы. Библиотека алгоритмов.

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

В 60 - 70 годах активно развивалось методика, которая получила название «структурное программирование». Структурная методика программирования включает в себя следующие принципы:

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

линейную, разветвляющуюся и циклическую.

2. Метод последовательной детализации.

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

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

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

Пример вспомогательных алгоритмов в языке Бейсик:

Объявление вспомогательного алгоритма:

DECLARE SUB PROBEL ()

Описание (тело) вспомогательного алгоритма:

П/п обработки нажатия клавиши пробел - передвижения от одного ответа к другому

SUB PROBEL

X = POINT(0) LINE (X - 150, 200)-(X, 290), 2, B IF X 630 THEN LINE (X, 200)-(X + 150, 290), 15, B ELSE LINE (0, 200)-(150, 290), 15, B

END SUB

Вызов вспомогательного алгоритма:

A$ = INKEY$ IF A$ = CHR$(32) THEN CALL PROBEL Из отдельных вспомогательных алгоритмов формируются библиотеки вспомогательных алгоритмов, которыми могут пользоваться разработчики программного обеспечения.

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

Стандартные подпрограммы имеют единую форму обращения, что обеспечивает простоту и удобство настройки параметров подпрограммы на решение конкретной задачи.

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

Тема 21. КОМПОНЕНТЫ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ Информатизация - это сложный социальный процесс, связанный со значительными изменениями в образе жизни населения. Он требует серьезных усилий на многих направлениях, включая ликвидацию компьютерной неграмотности, формирование культуры использования новых информационных технологий и др.

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

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

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

Основными критериями развитости информационного общества являются следующие:

1. Наличие компьютеров;

2. Уровень развития компьютерных сетей 3. Владение информационной культурой, т.е. знаниями и умениями в области информационных технологий Появление и развитие компьютеров – это необходимая составляющая процесса информатизации общества. Информатизация общества является одной из закономерностей современного социального прогресса. При информатизации общества основное внимание уделяется комплексу мер, направленных на обеспечение полного использования достоверного, исчерпывающего и своевременного знания во всех видах человеческой деятельности. Для обеспечения доступности общения с компьютером на естественном языке он будет оснащен средствами мультимедиа, в первую очередь аудио – и видео- средствами. В перспективе портативные компьютеры должны стать более миниатюрными, при том быстродействие их микропроцессоров должно быть таким, как на современных супер ЭВМ. Они должны иметь плоский дисплей с хорошей разрешающей способностью. Их внешние запоминающие устройства – магнитные диски – будут портативными, иметь емкость более 100 Гбайт.

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

Инфракрасные каналы в пределах прямой видимости.

Телевизионные каналы.

Беспроводная технология высокоскоростной цифровой связи на частоте 10 Мгц.

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

Таким образом, человек обладает информационной культурой, если:

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

умеет использовать информационное моделирование при решении задач с помощью компьютера;

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

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

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

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

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

знает и не нарушает законы об авторских правах на компьютерные программы;

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

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

Локальная сеть - ЛВС [local area network - LAN] – это группа связанных друг с другом ЭВМ, расположенных в ограниченной территории, например, в здании. Расстояния между ЭВМ в локальной сети может достигать нескольких километров. Локальные сети развёртываются обычно в рамках некоторой организации, поэтому их называют также корпоративными сетями.

Если сеть выходит за пределы здания, то такая ВС называется глобальной [wide area network -WAN]. Глобальная сеть может включать в себя другие глобальные сети, локальные сети и отдельные ЭВМ.

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

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

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

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

обеспечения централизованного хранения данных для облегчения их защиты и архивирования.

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

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

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

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

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

3. Повышение достоверности информации и надежности ее хранения путем создания устойчивой к сбоям информационной системы.

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

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

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

Для эффективной работы сетей используются специальные ОС, которые в отличие от персональных ОС предназначены для решения специальных задач по управлению работой сети и называются сетевыми. Сетевые ОС устанавливаются на специально выделенные компьютеры, называемые серверами. Признанными лидерами сетевых операционных систем являются Windows-NT и Novell Net Ware.

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

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

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

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

Физическая топология [physical topology] – это физическая структура сети, способ физического соединения всех аппаратных компонентов сети. Существует несколько видов физической топологии.

Наиболее простой является физическая шинная топология [bus topology], в которой кабель идёт от ЭВМ к ЭВМ, связывая их в цепочку. Различают толстые и тонкие сети.

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

В тонкой сети [thinnet] используется более тонкий и гибкий кабель, к которому напрямую подключены рабочий станции.

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

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

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

Рис. 2. Шинная топология - тонкая сеть Если сеть имеет много узлов, причём многие располагаются на большом удалении друг от друга, то расход кабеля при использовании звездообразной топологии будет большим. Кроме того, к концентратору можно подключить лишь ограниченное число кабелей. В таких случаях применяется распределённая звездообразная топология [distributed star topology], при которой несколько концентраторов соединяются друг с другом.

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

Логическая топология сети [logical topology] определяет способ, в соответствии с которым устройства сети передают информацию от одного узла к следующему.

Физическая топология не имеет прямого отношения к логической.

Различают два вида логической топологии: шинную и кольцевую.

Рис. 3. Звездообразная топология В шинной логической топологии процесс передачи данных организован следующим образом. Если какой-либо узел сети имеет данные для другого узла, то первый узел производит «оповещение» всей сети. Все остальные узлы «слушают» сеть и проверяют, предназначены эти данные для них или нет. Если предназначены, то они оставляют их себе, если нет – игнорируют. Любые передаваемые данные «слышны»

всем узлам сети. Узел, который хочет передать какие-то данные, сначала «слушает»

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

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

Аппаратные компоненты локальной сети Основными компонентами, составляющими любую локальную сеть, являются:

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

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

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

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

Таблица 1. Типы кабелей Сетевые интерфейсные платы [network interface card] представляют собой дополнительные платы, устанавливаемые на материнскую плату ПЭВМ. К сетевой плате подключаются сетевые кабели. Сетевая плата определяет тип локальной сети.

Пример На практике используют два типа локальных сетей - Ethernet и Token Ring. Оба типа имеют модификации.

Таблица 2. Типы сетей Ethernet Модем [modem] – это устройство, предназначенное для связи между ЭВМ по телефонным линиям. По телефонной сети любые данные могут передаваться лишь в аналоговой форме. Данные от ЭВМ поступают в цифровом виде. Задача модема заключается в преобразовании цифровых данных в аналоговую форму и наоборот.

Сервер [server] – это любая сетевая ЭВМ, обслуживающая другие сетевые ЭВМ.

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

Файловый сервер [file server] предоставляет другим ЭВМ (клиентам) доступ к данным, которые хранятся во внешней памяти сервера. Таким образом, на файловый сервер возложены все задачи по безопасности хранения данных, поиску данных, архивированию и др. Внешняя память сервера становится распределяемым ресурсом, так как её могут использовать несколько клиентов.

Сервер печати [printer server] организует совместное использование принтера.

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

Модемный пул [modem pool] представляет собой ЭВМ, снабжённую особой сетевой платой, к которой можно подключить несколько модемов. Таким образом достигается определённая экономия, когда, например, десять ЭВМ работают, используя три модема.

Прокси-сервер [proxy server] не только использует единственное соединение с Internet, но и предоставляет свою память для хранения временных файлов, что убыстряет работу с Internet.

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

Сервер приложений [application server] используется для выполнения программ, которые по каким-то причинам нецелесообразно или невозможно выполнить на других сетевых ЭВМ. Очевидной причиной может быть недостаточная производительность клиентских ЭВМ. Другая причина – использование каких-нибудь стандартных библиотек, копирование которых на каждую клиентскую ЭВМ трудоёмко и, кроме того, создаёт возможность несогласованности версии библиотеки.

Многопользовательские операционные системы (Linux, Windows NT) позволяют построить так называемую тонкую клиентную сеть, в которой все ресурсы клиентов предоставлены сервером. Сами клиентские ЭВМ не тратят ничего на обработку данных. Тогда ЭВМ пользователей в такой сети называются терминалами, а сам сервер – терминальным сервером. Такой сервер должен иметь большой объём основной и внешней памяти и высокую производительность.

Глобальная сеть Internet Общая характеристика глобальной сети Internet В структуре глобальной сети можно выделить три уровня (см. рис. 4.8).

Первый – внутренний уровень составляет сеть передачи данных. Она состоит из узлов связи. Каждый узел связи представляет собой совокупность средств передачи данных и состоит из коммутационной ЭВМ и аппаратуры передачи данных.

Рис. 5. Структура глобальной сети Во второй уровень входят разнообразные серверы, называемые хост-ЭВМ [host computer], которые выполняют в сети задачи по хранению и обработке данных.

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

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

Каждая локальная сеть называется сайтом [site], а юридическое лицо, обеспечивающее работу сайта – провайдером. Сайт состоит из группы серверов, которая выполняет определённые задачи.

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

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

Производительность сети представляет собой суммарную производительность серверов.

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

Тип сети и все её характеристики в основном определяются строением и принципами работы сети передачи данных, которые описываются протоколом. Протокол [protocol] – это система правил, определяющих формат и процедуры передачи данных по сети.

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

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

Пример Свойства глобальной сети Internet определяются так называемым IP-протоколом.

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

Для удобства пользователей в Internet так же используется другой способ адресации, который называется системой доменных имён [domain naming system - DNS].

Пример DNS-адрес имеет вид: win.smtp.dol.ru. В этом примере:

ru – домен страны, здесь означает все хост-ЭВМ России;

dol – домен провайдера, означает все ЭВМ локальной сети некоторой формы;

smtp – домен группы почтовых серверов этой же фирмы.;

win – имя конкретной ЭВМ из группы smtp.

Особое значение имеют организационные и географические домены – те, которые пишутся крайними справа в DNS-адресе. Имена для этих доменов зарегистрированы международной организацией InterNIC (Internet Network Information Center).

Например, edu означает образовательную организацию, com – коммерческую, gov – правительственную, us – США, uk –Великобританию, de – Германию и т.д. DNS-адрес всегда действует совместно с IP-адресом.

При организации связи сеть должна по адресу получателя определить путь передачи данных – маршрут. Для определения маршрута используются различные алгоритмы маршрутизации [routing]. Эффективность алгоритма маршрутизации существенно влияет на скорость передачи данных по сети.

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

Одной из наиболее используемых служб является электронная почта [e-mail]. Для обслуживания электронной почты в сети имеются специальные почтовые серверы.

Такой сервер выделяет своим клиентам определённый объём внешней памяти (обычно 1-3 Мб) и назначает этой памяти некоторое имя – адрес и пароль для доступа.

Такая именованная память называется почтовым ящиком [mailbox]. Все сообщения, адресованные данному клиенту, помещаются в этот ящик и могут быть прочитаны, уничтожены или переправлены в другое место клиентом, которому этот ящик принадлежит. Для отправления и получения почты используются специальные почтовые программы. Адрес почты – это DNS-адрес с добавлением имени абонента.

Пример Существует множество почтовых серверов. Одним из известных серверов является mail.ru. Адрес почты на этом сервере будет иметь вид:

ivanov@mail.ru где ivanov – это имя абонента, а mail.ru – это DNS-адрес почтового сервера.

Примером почтовой программы является Outlook Express для Windows98.

Другая широко используемая служба – FTP-служба [file transfer protocol]. Эта служба используется для удалённого доступа к файлам. FTP-сервер представляет собой хранилище всевозможных файлов. Эти файла пользователь может прочитать или скопировать на свою ЭВМ. DNS-адрес таких серверов начинается с ftp, например, ftp.microsoft.com. Информация на FTP-серверах организована в виде традиционных каталогов. Узлы FTP-службы используются разработчиками программного обеспечения для его распространения.

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

Web-сервер хранит данные в виде набора текстовых файлов, которые написаны на специальном языке HTML [hypertext markup language]. Специальная программа – броузер [browser] - интерпретирует HTML-текст и выводит на экран монитора страницу, в которой сочетаются текст, графика, анимация и, самое главное, ссылки на другие страницы. Таким образом, с помощью ссылок Web-страницы пользователь имеет возможность переходить от одной страницы к другой и более оперативно разыскивать нужную информацию.

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

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

Пример Существует большое количество поисковых серверов: Alta Vista, Lycos, Yahoo.

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

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

Прикладная программа – это ядро приложения, которое выполняет основные функции данного приложения: перевод текста, математические расчёты и т.д.

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

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

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

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

Различают четыре способа организации вычислительного процесса:

централизованная архитектура;

распределённая архитектура;

архитектура клиент-сервер;

многозвенная архитектура.

Централизованная архитектура Классическое представление централизованной архитектуры показано на рис. 4.7.

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

Рис. 7. Централизованная архитектура вычислительной системы Все приложения, работающие в такой архитектуре, полностью находятся в основной памяти хост-ЭВМ. Терминалы являются лишь устройствами ввода-вывода и таким образом в минимальной степени поддерживают интерфейс пользователя рис 4.8.

Рис. 8. Архитектура централизованного приложения Такая архитектура вычислительных систем была распространена в 70-х и 80-х годах и реализовывалась на базе мейнфреймов (например, IBM-360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или их отечественного аналога СМ-4). Характерная особенность такой архитектуры – полная «неинтеллектуальность» терминалов. Их работой управляет хост-ЭВМ. Достоинства такой архитектуры состоят в том, что пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства. Кроме того, централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы. Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Пользователь не может настроить рабочую среду под свои потребности – всё используемое программное обеспечение является коллективным. Использование такой архитектуры является оправданным, если хостЭВМ очень дорогая, например, супер-ЭВМ.

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

Рис. 9. Распределённая архитектура вычислительной системы Как видно из рис. 4.10, основная обработка данных происходит на клиентных ЭВМ, то есть клиенты в отличие от терминалов должны обладать некоторыми ресурсами, поэтому их называют «толстыми» клиентами.

Распределённая архитектура лишена недостатков централизованной архитектуры, к тому же дорогие периферийные устройства (принтеры, RAID-массивы) в такой архитектуре также могут использоваться совместно.

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

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

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

Рис. 10. Архитектура распределённого приложения Если число пользователей не слишком велико и объём общих данных также невелик, то распределённая архитектура является наилучшим выбором.

Архитектура клиент-сервер Вычислительная система, соответствующая архитектуре клиент-сервер состоит из трёх компонентов:

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

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

сети и коммуникационного оборудования.

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

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

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

Рис. 11. Архитектура приложения типа клиент-сервер В случае архитектуры клиент-сервер сервер баз данных должен обладать высокой производительностью.

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

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

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

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


Рис. 13. Архитектура многозвенного приложения Организация и структура телекоммуникационных компьютерных сетей.

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

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

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

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

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

Скорость передачи данных определяет, какое количество информации (бит) модем может передавать/принимать за единицу времени (секунду). Наиболее распространенные модемы имеют скорости в 14 400 бит/с и 28 800 бит/с. Чем выше скорость передачи данных, тем меньше времени потребуется модему на передачу или прием информации.

Например, при пересылке файла размером 500 Кб модему со скоростью передачи данных 2400 бит/с понадобится около 36 минут, модему на 9600 бит/с – около 9 минут, модему на 14 400 бит/с – около 6 минут.

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

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

Для связи абонента с сервером сети, как правило, используется обычная коммутируемая телефонная линия.

Сервер сети, отвечая на телефонный звонок компьютера абонента, работает в одном из двух режимов: on-line (оператор на линии) или off-line (без оператора).

Абонент, используя специальную коммуникационную программу и связываясь через свой компьютер с сервером, работающем в режиме on-line получает возможность во время сеанса связи давать серверу определенные команды:

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

Связываясь с сервером, работающим в режимe off-line, абонент не имеет возможности непосредственно работать с сервером: коммуникационная программа абонента автоматически производит обмен информацией с сервером и прекращает сеанс связи.

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

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

Проиллюстрируем сказанное на примере упрощенной схемы:

Структура сети такова, что каждый сервер имеет по отношению к себе вышестоящий сервер, с которым и обменивается информацией. Так, серверы D и Е обмениваются информацией с серверами В и С. сервера А, В, С обмениваются информацией с сервером N. Сервер же N имеет шлюз в мировое содружество сетей, включая наиболее распространенные в России сети: Relcom, GlasNet и др.

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

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

Электронное письмо – обычный текстовый файл, снабженный несколькими служебными строками (конвертом).

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

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

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

По аналогии с почтовым адресом электронный адрес содержит два основных компонента:

идентификатор абонента (аналогично строке КОМУ: на почтовом конверте);

координаты абонента, указывающие его местонахождение (аналогично строке КУДА: дом, улица, город, страна).

Для того чтобы отделить идентификатор абонента от его почтовых координат, используется значок @. Например: kuz@tit-bit.msk.ru - kuz - идентификатор абонента, отражающий обычно начальные буквы его фамилии или имени.

- далее справа от знака @ указываются почтовые координаты абонента, которые описывают его местонахождение. Эти координаты называют доменом.

Составные части домена разделяются точками.

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

Код страны определяется международным стандартом ISO.

В нашем случае ru - код России.

Следующая часть домена – msk – указывает код города – Москвы.

Третья часть домена обозначает имя машины (tit-bit), которой пользуется данный абонент.

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

3. Дальнейшее развитие идеи электронного обмена информацией – это телеконференция.

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

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

Тема 23. Понятие сетевого стандарта Функционирование локальной сети обусловлено разнообразными стандартами, в частности моделью взаимодействия открытых систем. Кроме того, на основе модели ISO/OSI создано множество стандартов, которые ориентированы на передачу данных в локальной сети с достаточными по современным меркам скоростью и безопасностью.

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

Логично, что сами по себе эти стандарты не появляются: они - результат слаженной работы множества организаций. Принимая во внимание современные требования и возможности, организации разрабатывают все необходимые правила, использование которых позволяет создать сеть с необходимыми возможностями. К числу таких организаций относятся уже упомянутая международная организация по стандартизации, международная комиссия по электротехнике (International Electrotechnical Commision, IEC), международный союз электросвязи (International Telecommunications Union, ITU), институт инженеров электротехники и радиоэлектроники (Institute of Electrical and Electronic Engineers, IEEE), ассоциация производителей компьютеров и оргтехники (Computer and Business Equipment Manufacturers Association, CBEMA), американский национальный институт стандартов (American National Standards Institute, ANSI) и др.

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

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

Что касается локальных компьютерных сетей, то за разработку сетевых стандартов отвечает комитет 802 по стандартизации локальных сетей, который в 1980 году был радиоэлектроники). Именно поэтому все стандарты, разрабатываемые этим комитетом, в своем названии содержат IEEE 802.

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

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

- IEEE 802.1. Данный подкомитет занимается разработкой стандартов межсетевого взаимодействия и управления сетевыми устройствами. Он разрабатывает стандарты по управлению локальной сетью, принципам и логике работы активного сетевого оборудования, безопасности протоколов MAC-уровня и т. д.

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

- IEEE 802.3. Работа данного подкомитета представляет особый интерес в рамках данной книги, поскольку именно он занимается разработкой стандартов для проводных сетей стандарта Ethernet, которые для доступа к среде передачи данных используют метод множественного доступа с контролем несущей частоты и обнаружением коллизий CSMA/CD. Данный комитет разработал более 30 стандартов, большая часть которых находит свое применение в современных локальных сетях.

- IEEE 802.4. Этот комитет разрабатывает стандарты для локальных сетей, которые используют маркерный метод доступа к передающей сети и топологию "шина".

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

- IEEE 802.6. Стандарты данного комитета описывают принципы и правила функционирования сетей городского масштаба (MAN).

функционирования устройств в беспроводных локальных сетях, которые работают с частотами 2,4; 3,6 и 5 ГГц.

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

функционирования локальных сетей (WiMAX) с использованием беспроводной связи в широком диапазоне частот (2-66 ГГц).

Сетевые стандарты: семиуровневая эталонная модель OSI Модель взаимодействия открытых систем (Open System Interconnection, OSI) определяет различные уровни взаимодействия систем в сетях с коммутацией пакетов, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень.

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

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

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

Протоколы физического уровня OSI:

Ethernet (включая 10BASE-T, 10BASE2, 10BASE5, 100BASE-TX, 100BASE-FX, 100BASE-T, 1000BASE-T, 1000BASE-SX и другие) Канальный уровень Канальный уровень предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Другая задача канального уровня — реализация механизмов обнаружения и коррекции ошибок. Для этого на канальном уровне биты группируются в наборы, называемые кадрами (frames).

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

Реализуются программно-аппаратно.

Спецификация IEEE 802 разделяет этот уровень на два подуровня — MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.

На этом уровне работают коммутаторы, мосты.

Протоколы канального уровня:

Ethernet, Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay High-Level Data Link Control (HDLC), IEEE 802.2 (provides LLC functions to IEEE 802 MAC layers), Link Access Procedures, D channel (LAPD) В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS, UDI.

Сетевой уровень Сетевой уровень сетевой модели OSI предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и «заторов» в сети.

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

На этом уровне работает маршрутизатор (роутер).

Сетевой уровень — доставка пакета:

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

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

маршрутизаторов в составной сети.

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

Такие протоколы часто называют протоколами разрешения адресов — Address Resolution Protocol, ARP. Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют сути.

Пример: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange, протокол межсетевого обмена), X.25 (частично этот протокол реализован на уровне 2) CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security), ICMP (Internet Control Message Protocol), RIP (Routing Information Protocol), OSPF (Open Shortest Path First), ARP (Address Resolution Protocol).

Транспортный уровень Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека — прикладному и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

Транспортный уровень — обеспечение доставки информации с требуемым качеством между любыми узлами сети:

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

Пример: ATP (AppleTalk Transaction Protocol), CUDP (Cyclic UDP), DCCP (Datagram Congestion Control Protocol), FCP (Fiber Channel Protocol), IL (IL Protocol), NBF (NetBIOS Frames protocol), NCP (NetWare Core Protocol), SCTP (Stream Control Transmission Protocol), SPX (Sequenced Packet Exchange), SST (Structured Stream Transport), TCP (Transmission Control Protocol), UDP (User Datagram Protocol).

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

Сеансовый уровень — управление диалогом объектов прикладного уровня:

установление способа обмена сообщениями (дуплексный или полудуплексный);

Пример: ADSP (AppleTalk Data Stream Protocol), ASP (AppleTalk Session Protocol), H.245 (Call Control Protocol for Multimedia Communication), ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS (Internet Storage Name Service), L2F (Layer 2 Forwarding Protocol), L2TP (Layer 2 Tunneling Protocol), NetBIOS (Network Basic Input Output System), PAP (Password Authentication Protocol), PPTP (Point-to-Point Tunneling Protocol), RPC (Remote Procedure Call Protocol), RTCP (Real-time Transport Control Protocol), SMPP (Short Message Peer-to-Peer), SCP (Secure Copy Protocol), ZIP (Zone Information Protocol), SDP (Sockets Direct Protocol).



Pages:     | 1 | 2 || 4 |
 


Похожие работы:

«2.2. Основны е итоги научной деятельности ТНУ  2.2.1.Вы полнение тематического плана научны х исследований университета  Научная деятельность университета осуществлялась в соответствии с законом Украины  О  научной  и  научно­технической  деятельности  по приоритетным  направлениям  развития  наук и  и  техники:  КПКВ  –  2201020  Фундаментальные  исследования  в  высших  учебных  заведениях,  КПКВ  –  2201040  Прикладные  разработки  по  направлениям  научно­ ...»

«24 августа 2012 года № 146 Периодическое печатное издание Официальный вестник Цивильского района Издается с 23 июля 2008 года Распространяется бесплатно ЧУВАШСКАЯ РЕСПУБЛИКА ЦИВИЛЬСКИЙ РАЙОН АДМИНИСТРАЦИЯ ЦИВИЛЬСКОГО РАЙОНА ПОСТАНОВЛЕНИЕ 24 августа 2012 года № г. Цивильск Ходатайство перед Кабинетом Министров Чувашской Республики о переводе земель сельскохозяйственного назначения в категорию земли промышленности, энергетики, транспорта, связи, радиовещания, телевидения, информатики, земли для...»

«Таблица – Сведения об обеспеченности образовательного процесса специализированным и лабораторным оборудованием Наименование Код, наименование № аудитории, специализированных направления подготовки и Перечень основного оборудования фактический адрес аудиторий, кабинетов, специальности лабораторий и пр. 1 2 3 4 38.03.01 Экономика ауд. 301 Лекционная аудитория Мультимедийное оборудование 38.04.01 Экономика ул. Панкратова, 9 ауд. 311 Лекционная аудитория Мультимедийное оборудование ул. Панкратова,...»

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

«Теоретические, организационные, учебно-методические и правовые проблемы информатизации и информационной безопасности О СОВРЕМЕННОМ СОСТОЯНИИ ИНФОРМАТИЗАЦИИ ОРГАНОВ ВНУТРЕННИХ ДЕЛ И ПЕРСПЕКТИВАХ РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ДО 2015 ГОДА Д.ю.н, профессор. М.Л. Тюркин (начальник Департамента информационных технологий, связи и защиты информации МВД России) Раскрытие и расследование преступлений не может обойтись без использования современных информационных технологий. Потребность сотрудников...»

«ТЕХНИЧЕСКИЙ КОДЕКС ТКП 192 – 2009 (02140) УСТАНОВИВШЕЙСЯ ПРАКТИКИ ПРАВИЛА ТЕХНИЧЕСКОЙ ЭКСПЛУАТАЦИИ СЕТЕЙ ПРОВОДНОГО ВЕЩАНИЯ ПРАВIЛЫ ТЭХНIЧНАЙ ЭКСПЛУАТАЦЫI СЕТАК ПРАВАДНОГА ВЯШЧАННЯ Издание официальное Минсвязи Минск ТКП 192 – 2009 УДК 654.1 МКС 33.020 КП 02 Ключевые слова: правила, сети проводного вещания, техническая эксплуатация, техническое обслуживание, распределительная сеть, эксплуатационно-технические нормы Предисловие Цели, основные принципы, положения по государственному регулированию...»

«В Ы С Ш Е Е П Р О Ф Е СС И О Н А Л Ь Н О Е О Б Р А З О В А Н И Е ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ЮРИСПРУДЕНЦИИ Под редакцией заслуженного юриста России, проф. С. Я. Казанцева Допущено Научно-методическим советом по информатике при Министерстве образования и науки РФ в качестве учебного пособия по дисциплине ЕНФ02 Информатика и математика для студентов высших учебных заведений, обучающихся по дисциплине Юриспруденция УДК 34:002(075.8) ББК 32.81:67я73 И741 Р е ц е н з е н т ы: доцент кафедры...»

«Государственный комитет по науке и технологиям Республики Беларусь ГУ Белорусский институт системного анализа и информационного обеспечения научно-технической сферы Молодежный инновационный форум ИНТРИ – 2010. Материалы секционных заседаний 29–30 ноября 2010 г. Минск 2010 УДК 001 (063)(042.3) ББК 72.4 М 34 Под общей редакцией д-ра техн. наук И. В. Войтова М 34 Материалы секционных заседаний. Молодежный инновационный форум ИНТРИ – 2010. — Минск: ГУ БелИСА, 2010. — с. ил., табл. с.: ISBN...»

«SINCE 1989 (к XXV-летию ЗАО АНАЛИТИКА) Петров Сергей Павлович, к.т.н., ведущий эксперт ЗАО АНАЛИТИКА А началось с того, что исполком Бабушкинского районного совета народных депутатов города Москвы 20 февраля 1989 года зарегистрировал устав научно-производственного кооператива (НПК) Аналитика, созданного группой молодых учёных с целью внедрения в отечественную лабораторную медицину передовых аналитических технологий. Сотрудничество с ГКБ №40 г. Москвы позволило Аналитике поместиться на 9...»

«Учредитель Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Южно-Уральский государственный университет (национальный исследовательский университет) Основной целью издания является пропаганда научных исследований в следующих областях: Вычислительная математика и численные методы • Информатика • Математическое программирование • Математическое и программное обеспечение • Распознавание образов высокопроизводительных вычислительных систем •...»

«1 2 1. ЦЕЛИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ После изучения дисциплины студенты должны 1. Иметь представление о фундаментальных понятиях информации, о методах ее получения, хранения, обработки и передачи; об основных сферах применения полученных знаний; о современном состоянии, перспективах и направлениях развития средств вычислительной техники. 2. Знать основные понятия, определения и термины информатики (информация, алгоритм, объект, метод); методы, средства, алгоритмы обработки информации, а так же...»

«Мультиварка RMC-M150 РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ www.multivarka.pro УВАЖАЕМЫЙ ПОКУПАТЕЛЬ! Благодарим вас за то, что вы отдали предпочтение бытовой технике REDMOND. REDMOND — это качество, надежность и неизменно внимательное отношение к потребностям наших клиентов. Надеемся, что вам понравится продукция нашей компании, и вы также будете выбирать наши изделия в будущем. Мультиварка REDMOND RMC-M150 — современный много- Чтобы вы могли быстрее освоить технику приготовления в функциональный прибор...»

«В мире научных открытий, 2010, №6.3 (12) Физико-математические науки УДК 537.8 СТИМУЛИРОВАННАЯ ПРОЗРАЧНОСТЬ ЗАПРЕДЕЛЬНЫХ ВОЛНОВОДНЫХ СТРУКТУР Глущенко Александр Григорьевич, доктор физико-математических наук, профессор Захарченко Евгения Павловна, старший преподаватель кафедры физики Поволжский государственный университет телекоммуникаций и информатики г. Самара, Россия gag@psati.ru Установлено, что введение усиливающих сред в полость запредельных экранированных волноводных структур приводит к...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. Н.И. ЛОБАЧЕВСКОГО В.Е. АЛЕКСЕЕВ, В.А. ТАЛАНОВ ГРАФЫ. МОДЕЛИ ВЫЧИСЛЕНИЙ. СТРУКТУРЫ ДАННЫХ Учебник Нижний Новгород Издательство Нижегородского госуниверситета 2004 1 Предисловие В этой книге под одной обложкой собраны учебные тексты, по внешности разнородные, но относящиеся к одной сравнительно молодой области человеческой деятельности. Это деятельность по созданию и исследованию алгоритмов, для которой...»

«Стандарт университета СТУ 2.8-2012 ДОУНИВЕРСИТЕТСКАЯ ПОДГОТОВКА Стандарт университета СТУ 2.8-2012 ДОУНИВЕРСИТЕТСКАЯ ПОДГОТОВКА Предисловие 1 РАЗРАБОТАН Учреждением образования Белорусский государственный университет информатики и радиоэлектроники ИСПОЛНИТЕЛИ: Маликова И.Г., зам. декана ФДПиПО Дражина Т.А., методист ФДПиПО Метлицкая О.П., инспектор ФДПиПО ВНЕСЕН Рабочей группой по созданию и внедрению системы менеджмента качества образования 2 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ приказом ректора от...»

«Численные методы и математическое моделирование _ (наименование учебной дисциплины) Уровень основной образовательной программы бакалавриат _ (бакалавриат, магистратура, подготовка специалистов) Направление(я) подготовки (специальность) 011200 Физика _ Профиль(и) Физика наносистем, Прикладная физика Форма обучения очная (очная, очно-заочная (вечерняя), заочная) Срок освоения ООП 4 года (нормативный или сокращенный срок обучения) Цели освоения учебной дисциплины: формирование мировоззрения и...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования САМАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИКАЗ 19 октября 2009 г. городской округ Самара № 568-01-6 Об обеспечении защиты персональных данных В целях обеспечения защиты персональных данных и выполнения требований Федерального закона О персональных данных ПРИКАЗЫВАЮ 1. Утвердить Положение об организации работы с персональными данными работников и обучающихся в Самарском...»

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

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

«ТЕХНИЧЕСКИЙ КОДЕКС ТКП 209-2009 (02140) УСТАНОВИВШЕЙСЯ ПРАКТИКИ МОЛНИЕЗАЩИТА ОБЪЕКТОВ РАДИОСВЯЗИ. ПРАВИЛА ПРОЕКТИРОВАНИЯ МАЛАНКААХОЎВАННЕ АБЪЕКТАЎ РАДЫЁСУВЯЗI. ПРАВIЛЫ ПРАЕКТАВАННЯ Издание официальное Минсвязи Минск ТКП 209-2009 УДК 621.396.6:621.316.98 МКС 33.060; 91.120.40 КП 02 Ключевые слова: объекты радиосвязи, молниезащита, молниеотводы, сооружения антенные, заземлитель, радиостанция, мачта, токоотвод, фидер Предисловие Цели, основные принципы, положения по государственному регулированию...»






 
© 2014 www.kniga.seluk.ru - «Бесплатная электронная библиотека - Книги, пособия, учебники, издания, публикации»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.