И технологии программирования 3 страница

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

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

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

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

Первым таким языком стал Лисп {LISP, LIStProcessing - обра­ботка списков), созданный в 1959 г. Джоном Маккарти. Этот язык ориентирован на структуру данных в форме списка и позволяет орга­низовать эффективную обработку больших объемов текстовой ин­формации. Существенная черта языка — унификация программных структур и структур данных: все выражения записываются в виде списков.

Логическое программирование

Создание языка искусственного интеллекта Пролог (PROLOG, Programming in LOGic - программирование в терминах логики) в 1973 г. французским ученым Аланом Кольмероэ открыло новую об­ласть - логическое или реляционное программирование.

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

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

Объектно-ориентированное программирование (ООП)

Пионером данного направления явился язык Смолток (Smalltalk), первоначально предназначенный для реализаций функций машин­ной графики, Работа над языком началась в 1970 г. в исследователь­ской лаборатории XEROX (США), а закончилась в 1980 г. оконча­тельным вариантом интерпретатора Smalltalk-80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется ис­ключительно на понятии объекта. В нем отсутствуют операторы или данные, все, что входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. В настоящее время версия VisualAge for Smalltalk активно развивает­ся компанией IBM.

Основой объектно-ориентированного программирования (ООП) является понятие объект. Его сущность выражается формулой «объект = данные + процедуры». Каждый объект содержит некото­рую структуру данных и доступные только ему процедуры (методы)

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

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

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

При создании новых объектов их свойства могут добавляться или наследоваться от объектов-предков. Наследование предусматривает создание новых классов на базе существующих, что дает возможность классу-потомку иметь (наследовать) все свойства класса-родителя. В процессе работы с объектами допускается полиморфизм - возмож­ность использования методов с одинаковыми именами для обработ­ки данных разных типов. Полиморфизм (от греч. «многоликость») означает, что рожденные объекты обладают информацией о том, ка­кие методы они должны использовать в зависимости от того, в ка­ком месте цепочки наследования они находятся. Другим основопо­лагающим принципом ООП является модульность, — объекты заключают в себе полное определение их характеристик, никакие оп­ределения методов и свойств объекта не должны располагаться вне его, это делает возможным свободное копирование и внедрение од­ного объекта в другие.

К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java.

Язык C++ был разработан в начале 80-х гг. Бьярном Страуструпом в лаборатории Bell корпорации AT&T. Им была создана компак­тная компилирующая система, в основе которой лежал язык С, до­полненный элементами языков BCPL, Simula-67 и Алгол-68. Более ранние версии языка были известны как «С с классами». В июле 1983 г. C++ был впервые использован за пределами исследовательской груп­пы автора, однако тогда еще многие особенности языка не были придуманы. К 1990 г. была выпущена третья версия языка C++, стан­дартизированная американским государственным комитетом стан­дартов ANSI. В 1990 г. сотрудник корпорации Sun Д. Гослинг на ос­нове расширения C++ разработал объектно-ориентированный язык Oak, основным Достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка получила название Java. С января 1995 г. Java получает распространение в Internet.

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

Синтаксис языков C++ и Java практически полностью совпада­ет. Принципиальным различием является то, что язык C++ компи­лируемый в машинный код, a Java — в платформо-независимый байт-код (каждая команда занимает один байт), этот байт-код может выполняться с помощью интерпретатора — виртуальной Java-маши­ны (Java Virtual Machine), версии которой созданы сегодня для лю­бых платформ. С точки зрения возможностей объектно-ориентируе­мых средств, Java имеет ряд преимуществ перед C++. Язык Java имеет более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что способствует надежнос­ти и читабельности кода. Язык C++ обладает сложной неадекватной и трудной для понимания системой наследования. Возможности ди­намического связывания объектов одинаково хорошо представлены в обоих языках, но синтаксическая избыточность C++ и здесь при­нуждает к выбору языка Java. Сегодня Java по популярности зани­мает второе место в мире после Бейсика.

Идеи ООП проникли во многие процедурные языки. Например,

в состав интегрированной системы программирования Паскаль (кор­порации Borland International), начиная с версии 5.5, входит специ­альная библиотека ООП Turbo Vision.

С середины 90-х гг. многие объектно-ориентированные языки реализуются как системы визуального программирования. Такие систе­мы имеют интерфейс, позволяющий при составлении текста про­граммы видеть те графические объекты, для которых она пишется. Отличительной особенностью этих систем является наличие в них среды разработки программ из готовых «строительных блоков», по­зволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без написания программных опе­раций. Система берет на себя значительную часть работы по управ­лению компьютером, что делает возможным в простых случаях об­ходиться без особых знаний о деталях ее работы. Она сама пишет значительную часть текста программы: описания объектов, заголов­ки процедур и многое другое. Программисту остается только вписать необходимые строчки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть. Но даже в этих случаях система сама указывает место для размещения таких строк. К объектно-ориентированным системам визуального проек­тирования относятся: Visual Basic, Delphi, C++ Builder, Visual C++. Это системы программирования самого высокого уровня.

VBA (Visual Basic for Application) является общей языковой плат­формой для приложений Microsoft Office (Excel, Word, Power Point и др.). VBA соблюдает основной синтаксис и правила программирова­ния языков Бейсик-диалектов. VBA помогает довольно сильно рас­ширить возможности приложений за счет написания макросов — программ, предназначенных для автоматизации выполнения многих операций. VBA позволяет создавать объекты управления графичес­кого интерфейса пользователя, задавать и изменять свойства объек­тов, подключать к ним необходимый для конкретного случая про­граммный код. С помощью VBA можно производить интеграцию между различными программными продуктами. Программы на язы­ке VBA для приложений создаются двумя способами: в автоматичес­ком режиме как результат построения клавишной макрокоманды или путем написания программного кода.

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

Эти языки отличаются от алгоритмических прежде всего своим функциональным назначением. При работе с базами данных (БД) наиболее часто выполняются следующие операции: создание, преоб­разование, удаление таблиц в БД; поиск, отбор, сортировка по зап­росам пользователя; добавление новых записей или модификация существующих; удаление записей и др. Для обработки больших мас­сивов информации и выборки записей по определенным признакам был создан структурированный язык запросов SQL (Structured Query Language). Он был впервые создан фирмой IBM в начале 70-х гг., назывался Structured English Query Language (SEQUEL) и предназна­чался для управления прототипом реляционной базы данных IBM -System R. В дальнейшем SQL стал стандартом языка работы с реля­ционными базами данных, что зафиксировано американским наци­ональным комитетом стандартов ANSI в 1986 г.

Практически в каждой СУБД имеется свой универсальный язык, ориентированный на ее особенности. Сегодня в мире ведущие про­изводители СУБД: Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix и Sybase. Их продукты предназначены для со­вместной параллельной работы тысяч пользователей в сети, а базы данных могут храниться в распределенном виде на нескольких сер­верах. В Oracle имеется встроенный язык PL/SQL, в Informix -INFORMIX 4GL, в Adabas - Natural и т.д.

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

Появление и активное развитие компьютерных сетей стало при­чиной создания многочисленных версий популярных языков про­граммирования, адаптированных для использования в сети. Отличи­тельные особенности, присущие сетевым языкам: они являются интерпретируемыми. Интерпретаторы для них распространяются бес­платно, а сами программы — в исходных текстах. Такие языки полу­чили название скрипт-языков.

HTML (Hyper Text Markup Language) — универсальный язык раз метки гипертекста, используемый для подготовки Web-документов для сети Internet. Язык представляет собой набор элементарных ко­манд форматирования текста, добавления графических объектов (ри­сунков), задания шрифтов и цвета, организации ссылок и таблиц. В соответствии с командами HTML броузер отображает содержимое документа, команды языка не отображаются. В основе языка HTML лежит механизм гипертекстовых ссылок, обеспечивающий связь од­ного документа с другим. В HTML текст кодируется в ASCII и по­этому может быть создан и отредактирован в любом текстовом ре­дакторе. Все Web-страницы написаны на HTML или используют его расширение.

Perl. В 80-х гг. Ларри Уолл разработал язык Perl, который пред­назначался для эффективной обработки больших текстовых файлов, создания текстовых отчетов и управления задачами. В его состав вхо­дят многочисленные функции работы со строками, массивами, все­возможные средства преобразования данных, управления процесса­ми, работы с системной информацией и др.

Tcl/Tk. В конце 80-х гг. Джон Аустираут придумал скрипт-язык Tel и библиотеку Tk. Tсl — это попытка создания идеального скрипт-языка. Он ориентирован на автоматизацию рутинных операций и со­стоит из мощных команд, выполняющих обработку нетипизированных объектов.

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

Языки моделирования

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

6.7. Этапы подготовки и решения Задач на компьютере

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

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

2. Формальное построение модели задачи — предполагает построение
модели с характеристиками, адекватными оригиналу, на основе
какого-либо его физического или информационного принципа;
анализируется характер и сущность величин, используемых в
задаче.

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

4. Выбор и обоснование метода решения - модель решения задачи
реализуется на основе конкретных приемов и методов решения.
В большинстве случаев математическое описание задачи трудно
перевести на машинный язык. Выбор и использование метода
решения позволяет свести решение задачи к конкретному набо­ру машинных команд. При обосновании метода решения рассматриваются вопросы влияния различных факторов и условий
на конечный результат, в том числе на точность вычислений,
время решения задачи на компьютере, требуемый объем памяти
и др.

5. Построение алгоритма — на данном этапе составляется алгоритм
решения задачи, в соответствии с выбранным методом решения.
Процесс обработки данных разбивается на отдельные относи­тельно самостоятельные блоки, определяется последовательность
выполнения этих блоков.

Составление программы - алгоритм решения переводится на кон­кретный язык программирования.

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

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

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

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

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

Компьютерные сети

Эта глава посвящена компьютерным сетям — основам построе­ния, протоколам, стандартам, сетевым компонентам. Здесь, также рассмотрены основы построения Internet - способы передачи инфор­мации, адресация и службы,

7.1. Назначение и классификация компьютерных сетей

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

Для каких же целей используются компьютерные сети?

• Первая цель — предоставление доступа к программам, обору­дованию и особенно данным для любого пользователя сети. Это
называется совместным использованием ресурсов.

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

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

• Четвертая цель — масштабируемость, т.е. способность увели­чивать производительность системы по мере роста нагрузки. В
случае модели клиент-сервер новые клиенты и новые серверы
могут добавляться по мере необходимости.

• Пятая цель — ускорение передачи информации. Компьютерная
сеть является мощным средством связи между удаленными друг
от друга пользователями. Если один из них изменяет документ,
находящийся на сервере, в режиме on-line, остальные могут не­
медленно увидеть эти изменения.

Имеется два важнейших параметра классификации сетей: техно­логия передачи и размеры.

Существуют два типа технологии передачи;

• широковещательные сети;

• сети с передачей от узла к узлу.

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

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

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

Другим критерием классификации сетей является их размер. Сети можно разделить на локальные, муниципальные и глобальные. И, наконец, существуют объединения двух и более сетей. Хорошо из­вестным примером такого объединения является Internet. Размеры

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

Локальными сетями (ЛВС — локальные вычислительные сети или LAN — Local Area Network) называют сети, размещающиеся, как пра­вило, в одном здании или на территории какой-либо организации размерами до нескольких километров. Их часто используют для пре­доставления совместного доступа компьютеров к ресурсам (напри­мер, принтерам) и обмена информацией. Локальные сети отличают­ся от других сетей тремя характеристиками: размерами, технологией передачи данных и топологией. Обычные ЛВС имеют пропускную способность канала связи от 10 до 100 Мбит/с, небольшую задержку — десятые доли мкс и очень мало ошибок.

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

Глобальные сети (Wide AN или ГВС) охватывают значительную территорию, часто целую страну или даже континент. Они объеди­няют множество машин, предназначенных для выполнения прило­жений. Эти машины называются хостами. Хосты соединяются ком­муникационными подсетями или просто подсетями. Задачей подсети является передача сообщений от хоста хосту, подобно тому, как теле­фонная система переносит слова говорящего слушающему. То есть коммуникативный аспект сети — подсеть отделен от прикладного ас­пекта — хостов, что значительно упрощает структуру сети.

7,2. Типы сетей

Сети подразделяются на два типа: одноранговые и на основе сер­вера

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

В одноранговой сети все компьютеры равноправны, Каждый компьютер функционирует и как клиент, и как сервер. Нет отдель­ного компьютера, ответственного за администрирование всей сети. Пользователи сами решают, какие ресурсы на своем компьютере сде­лать доступными в сети.

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

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

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

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

7.3, Топология сетей

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

Шина. Эту топологию (рис. 7.1) часто называют линейной шиной. Она наиболее простая из всех.топологий и весьма распространенная. В ней используется один кабель, называемый магистралью или сег­ментом., вдоль которого подключены все компьютеры.

И технологии программирования 3 страница - student2.ru

Рис. 7. 1. Топология шина; С — сервер, К - компьютер, Т — терминатор

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

• тип аппаратного обеспечения сетевых компьютеров;

• частота, с которой компьютеры передают данные;

• тип работающих сетевых приложений;

• тип сетевого кабеля;

• расстояние между компьютерами в сети.

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

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

Звезда. При топологии звезда (рис. 7.2) все компьютеры с помо­щью сегментов кабеля подключаются к центральному устройству, называемому концентратором (hub). Сигналы от передающего ком­пьютера поступают через концентратор ко всем остальным.

И технологии программирования 3 страница - student2.ru

Наши рекомендации