ответник 10-11. 11. Технология объектноориентированного программирования
Скачать 0.83 Mb.
|
Модемы - устройство, применяющееся в системах связи для физического сопряжения информационного сигнала со средой его распространения, где он не может существовать без адаптации (то есть переносе его на несущую с модуляцией), и выполняющее функцию модуляции и демодуляции этого сигнала (чаще всего в речевом диапазоне). Модулятор в модеме осуществляет модуляцию несущего сигнала, то есть изменяет его характеристики в соответствии с изменениями входного информационного сигнала, демодулятор — осуществляет обратный процесс. Модем выполняет функцию оконечного оборудования линии связи. Само формирование данных для передачи и обработки принимаемых данных осуществляет т. н. терминальное оборудование (в его роли может выступать и персональный компьютер). Модемы широко применяются для связи компьютеров (одно из их периферийных устройств), позволяющее одному из них связываться с другим (также оборудованным модемом) через телефонную сеть (телефонный модем) или кабельную сеть (кабельный модем). Также модемы ранее применялись в сотовых телефонах (пока не были вытеснены цифровыми способами передачи данных). Программное обеспечение ИВС. Основные программные и аппаратные компоненты сети Даже в результате достаточно поверхностного рассмотрения работы в сети становится ясно, что вычислительная сеть - это сложный комплекс взаимосвязанных и согласованно функционирующих программных и аппаратных компонентов. Изучение сети в целом предполагает знание принципов работы ее отдельных элементов:
Весь комплекс программно-аппаратных средств сети может быть описан многослойной моделью. В основе любой сети лежит аппаратный слой стандартизованных компьютерных платформ. В настоящее время в сетях широко и успешно применяются компьютеры различных классов - от персональных компьютеров до мэйнфреймов и суперЭВМ. Набор компьютеров в сети должен соответствовать набору разнообразных задач, решаемых сетью. Второй слой - это коммуникационное оборудование. Хотя компьютеры и являются центральными элементами обработки данных в сетях, в последнее время не менее важную роль стали играть коммуникационные устройства. Кабельные системы, повторители, мосты, коммутаторы, маршрутизаторы и модульные концентраторы из вспомогательных компонентов сети превратились в основные наряду с компьютерами и системным программным обеспечением как по влиянию на характеристики сети, так и по стоимости. Сегодня коммуникационное устройство может представлять собой сложный специализированный мультипроцессор, который нужно конфигурировать, оптимизировать и администрировать. Изучение принципов работы коммуникационного оборудования требует знакомства с большим количеством протоколов, используемых как в локальных, так и глобальных сетях. Третьим слоем, образующим программную платформу сети, являются операционные системы (ОС). От того, какие концепции управления локальными и распределенными ресурсами положены в основу сетевой ОС, зависит эффективность работы всей сети. При проектировании сети важно учитывать, насколько просто данная операционная система может взаимодействовать с другими ОС сети, насколько она обеспечивает безопасность и защищенность данных, до какой степени она позволяет наращивать число пользователей, можно ли перенести ее на компьютер другого типа и многие другие соображения. Самым верхним слоем сетевых средств являются различные сетевые приложения, такие как сетевые базы данных, почтовые системы, средства архивирования данных, системы автоматизации коллективной работы и др. Очень важно представлять диапазон возможностей, предоставляемых приложениями для различных областей применения, а также знать, насколько они совместимы с другими сетевыми приложениями и операционными системами. 12.3. Распределенные вычислительные системы. Топология локальных вычислительных сетей. Понятие распределенных систем Введение Развитие вычислительной техники шло не только по пути наращивания вычислительной мощности процессоров, создания систем с несколькими процессорами или объединения нескольких компьютеров в единую сеть. С развитием операционных систем и разработчикам, и пользователям стало ясно, что можно создавать системы, состоящие из нескольких машин, на которых одновременно выполняется одна задача. Управление в таких сис-темах может быть централизованное или децентрализованное. В центра-лизованных системах управление осуществляется с одной машины (под управлением планировщика одной из ОС), не важно, какой именно, воз-можно даже изменяемой во времени, В децентрализованных системах фак- тически каждая машина имеет самостоятельное управление и мало связана с другими, а связь осуществляется на основе посылаемых и принимаемых запросов на выполнение каких-либо операций от других машин распреде-ленной системы. Классификация распределенных систем По одной из таксономий типы распределенных систем определяются на основе вида связей на аппаратном и программном уровнях. Существуют системы с сильными и слабыми связями. В системах с сильными аппаратными связями оперативная память и другие ресурсы разделены между всеми процессорами системы. В систе-мах со слабой аппаратной связью каждый процессор имеет свою опера-тивную память и другие ресурсы. Часто системы со слабыми аппаратными связями состоят из отдельных компьютеров, соединенных специальной шиной для обмена информацией. В системах со слабой программной связью как компьютеры, так и поль-зователи распределенной системы независимы. Только при выполнении некоторой задачи они обмениваются информацией. На каждом компьюте-ре установлена своя операционная система (имеется своя память, жесткие диски, сетевые ресурсы и т.п.), но некоторые ресурсы, например, принте-ры, сканеры, RAID массивы, разделены между всеми пользователями. В системах с сильной программной связью управление всей системой осуществляется единым планировщиком всей системы, так что любой по-ступивший в систему запрос будет выполняться на любой машине в сис-теме. Комбинация сильной аппаратной связи и сильной программной связи характерна для мультипроцессорных систем, целью которых является мак-симальная производительность всей системы. Комбинация слабой аппаратной связи и слабой программной связи ха-рактерна для сетей, в которых отдельные машины мало связаны, а взаимо-действие осуществляется на основе запросов, реализованных на основе разных механизмов. Комбинация слабой аппаратной связи и сильной программной связи ха-рактерна для систем, которые состоят из отдельных компьютеров, но име-ют единую память и другие ресурсы для всех компьютеров. В такой сис-теме механизмы доступа к ресурсам системы скрыты от пользователей, в том числе и место выполнения некоторого процесса, которое может быть сосредоточено на одной машине или распределено среди нескольких ма-шин. Распределенной системой в настоящее время принято считать систему со слабыми аппаратными и программными связями, в которой некоторое программное приложение выполняется одновременно на нескольких ма-шинах. Частным случаем распределенных приложений являются программные приложения, реализованные в архитектуре клиент-сервер. При этом при-ложение как бы разделено на две и более части. Одна часть исполняется на машине сервера и поставляет данные на вторую часть приложения, рабо-тающую на машине клиента. Архитектура распределенных систем Как уже было отмечено, для распределенных систем характерны слабые аппаратные и программные связи. Однако большое значение имеет орга-низация этих связей и архитектура всей системы. Одним из самых распространенных типов распределенных систем явля-ются кластеры, которые будут рассмотрены ниже. Однако их по количест-ву опережают системы, в которых имеются клиенты, расположенные на машинах одного типа, и серверы - машины другой категории.Существует несколько вариантов такой организации. Наиболее раннее исторически использование одних машин в качестве хранилища данных и/или программ привело к появлению машинной ассо-циации, называемой файл-серверной архитектурой. В ней сервер только хранит данные и/или программы, а все приложения выполняются на кли-енте. Так, если некоторая база данных находится на сервере, то запрос на выборку будет сопровождаться полным копированием базы на машину клиента, а затем поиском в ней искомого элемента, после чего база будет возвращена на сторону сервера. Другой, не менее ранний способ работы с сервером заключается в под-ключении к серверу клиента как удаленного пользователя (удаленного терминала). При этом клиентская машина используется только в качестве терминала. Все операции, заказанные клиентом, выполняются на сервере. Клиенту передаются только их результаты. Такая организация носит на-звание Х-сервера (терминала) или удаленного клиента. Существуют и промежуточные версии. Они носят название клиент-серверных. В них работа некоторого программного приложения расслаивается на части. Если в работе приложения участвует только клиент и сервер, то архитектура носит название двухзвенного клиент-серверного приложения. В нем работа клиентской программы разделяется на две части, причем одна работает на машине клиента, а другая на машине сервера. При этом некоторый запрос к базе данных, расположенной на сервере, пе-редается с клиентской части приложения на серверную часть, выполняется там же, а затем результаты передаются клиентской части по сети. В этом случае нагрузка на сеть существенно снижается, однако требования к сер-веру сильно возрастают. Поскольку обе части пользовательского приложе-ния тесно связаны, то физический разрыв соединения в сети приводит к нарушению работы всего приложения. Такая архитектура и организация связи носит название "толстого клиента". В настоящее время для разгрузки серверов применяют промежуточное звено - сервер приложений (Application Server - AS). Он забирает на себя функции связи с клиентом, с одной стороны, а с другой - часть бизнес-правил со стороны сервера баз данных. При этом происходит как существенная разгрузка серверов БД, так и упрощение клиентской части приложений. Фактически на стороне клиента остается только графическая часть (GUI) приложения. Такой подход называется трехзвенной клиент-серверной архитектурой или "тонким клиентом", так как разрыв соединения с клиентской частью не приводит к нарушениям работы приложений. При этом стараются, чтобы связь между серверами была организована по технологии "толстого клиента" (то есть без повторной аутентификации и проверки прав клиентской части ). Расширяя такую методологию, часто приходят к распределенному сер-веру приложений, то есть к множеству таких серверов, каждый из которых может быть специализированным, для выполнения отдельных операций (а может быть, и нет). Кроме того, сервер баз данных тоже может быть рас-пределенным в пространстве. Одним из аппаратно-программных решений, по которому с клиентской машины совсем убирается клиентская часть приложения, приводит к тому, что роль клиента играет стандартный браузер. При этом для организации работы необходим еще один сервер - Web-сервер, который размешается обычно на одной машине с сервером приложений. В этом случае принято говорить о четырёхзвенной структуре клиент-сервер. о-первых, он обусловлен тем, что стоимость компьютеров постоянно снижается по отношению к растущей производительности. Поэтому на распределенной системе возможно достижение быстродействия, значи-тельно превышающего быстродействие отдельного компьютера, при не-большой стоимости отдельных компьютеров в сети. Во-вторых, этот интерес обусловлен тем фактом, что появились такие программные приложения, работа которых требует наличия распределен-ной системы. Характерным примером таких распределенных приложений являются приложения, работающие с единой серверной базой данных. В этом случае часть приложения работает на серверной стороне, а часть - на стороне клиента. Возможны ситуации, когда такое программное приложе-ние работает на трех, а то и на четырех машинах сразу (трех и четырех-звенная клиент-серверная технология). Когда говорят о преимуществах распределенных систем, то одним из основных считается надежность, которая понимается как способность сис-темы выполнять свои функции при отказах отдельных объектов системы. Так, в трехзвенных системах отказ одного сервера приложений приводит к перераспределению его нагрузки на другие. Отказ сервера распределенной базы данных всего лишь приводит к повышению нагрузки на другие сер-веры. Однако правильно построенная система никогда не должна полно-стью выходить из строя при отказе одного из ее объектов. Однако у распределенных систем имеются и недостатки. К ним относят-ся: • Большая сложность построения и взаимодействия операционных систем в системе. • Более сложная технология создания программного обеспечения (про- граммирования), и, следовательно, более сложное обслуживание таких систем. Особенности распределенных систем Поскольку вычислительные сети реально объединяют сегодня значи-тельную долю имеющихся и работающих компьютеров и представляют собой один из типов распределенных (или децентрализованных) вычисли-тельных систем, то становится понятным интерес к таким системам. Во-первых, он обусловлен тем, что стоимость компьютеров постоянно снижается по отношению к растущей производительности. Поэтому на распределенной системе возможно достижение быстродействия, значи-тельно превышающего быстродействие отдельного компьютера, при не-большой стоимости отдельных компьютеров в сети. Во-вторых, этот интерес обусловлен тем фактом, что появились такие программные приложения, работа которых требует наличия распределен-ной системы. Характерным примером таких распределенных приложений являются приложения, работающие с единой серверной базой данных. В этом случае часть приложения работает на серверной стороне, а часть - на стороне клиента. Возможны ситуации, когда такое программное приложе-ние работает на трех, а то и на четырех машинах сразу (трех и четырех-звенная клиент-серверная технология). Когда говорят о преимуществах распределенных систем, то одним из основных считается надежность, которая понимается как способность сис-темы выполнять свои функции при отказах отдельных объектов системы. Так, в трехзвенных системах отказ одного сервера приложений приводит к перераспределению его нагрузки на другие. Отказ сервера распределенной базы данных всего лишь приводит к повышению нагрузки на другие сер-веры. Однако правильно построенная система никогда не должна полно-стью выходить из строя при отказе одного из ее объектов. Однако у распределенных систем имеются и недостатки. К ним относят-ся: • Большая сложность построения и взаимодействия операционных систем в системе. • Более сложная технология создания программного обеспечения (про- граммирования), и, следовательно, более сложное обслуживание таких систем. • Проблемы безопасности, которые в распределенной системе стоят все-гда более остро, чем при функционировании независимых компьютеров в сети. Локальные сети Существуют два подхода к построению локальных сетей и, соответственно два типа: сети типа клиент/сервер и одноранговые сети. Сети типа клиент/сервер. В сетях типа клиент/сервер используется выделенный компьютер (сервер), на котором сосредоточены файлы общего пользования и который предоставляет сервис печати для многих пользователей (рис. 1). Рис. 1. Сети типа клиент/сервер Сервер – компьютер, подключенный к сети и обеспечивающий ее пользователей определенными услугами. Серверы могут осуществлять хранение данных, управление базами данных, удаленную обработку заданий, печать заданий и ряд других функций, потребность в которых может возникнуть у пользователей сети. Сервер – источник ресурсов сети. Серверов может быть довольно много в сети, и каждый из них может обслуживать свою группу пользователей или управлять определенными базами данных. Рабочая станция – персональный компьютер, подключенный к сети, через который пользователь получает доступ к ее ресурсам. Рабочая станция сети функционирует как в сетевом, так и в локальном режиме. Она оснащена собственной операционной системой (MSDOS, Windows и т. д.), обеспечивает пользователя всеми необходимыми инструментами для решения прикладных задач. Рабочие станции, подключаемые к серверу, называются клиентами. В качестве клиентов могут использоваться как мощные компьютеры для ресурсоемкой обработки электронных таблиц, так и маломощные PC для простой обработки текстов. В противоположность этому в качестве серверов обычно устанавливают мощные компьютеры. В связи с необходимостью обеспечивать одновременную обработку запросов большого количества клиентов и хорошую защиту данных сети от несанкционированного доступа, сервер должен работать под управлением специализированной операционной системы. Примеры: Novell Net Ware, Windows NT Server, IBM OS/2 Lan Server, Banyan Vines. Одноранговые сети. В одноранговых сетях выделенные серверы не используются (рис. 2). Рис. 2. Расположение компьютеров в одноранговых сетях Одновременно с обслуживанием пользователя компьютер в одноранговой сети может брать на себя функции сервера, выполняя задания на печать и отвечая на файловые запросы с других рабочих станций сети. Конечно, если компьютер не предоставляет в общее пользование свое дисковое пространство или свой принтер, то он является только клиентом по отношению к другим рабочим станциям, выполняющим функции сервера. Windows 95 имеет встроенные возможности для построения одноранговой сети. Если возникнет необходимость подключения к другим одноранговым сетям, то Windows 95 поддерживает следующие сети: - Net Ware Lite - Artisoft LANtastic. |