Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Obschee.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
402.77 Кб
Скачать

4. Связь на основе потоков данных.

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

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

1. По физическому содержанию потока:

а) Дискретный поток данных - поток байт;

б) Непрерывный поток данных - поток бит;

2. По информационному содержанию потока:

а) Простой поток данных - содержит только одну последовательность данных;

б) Комплексный поток данных - содержит несколько связанных между собой простых потоков, называемых вложенными потоками данных (напр.: видео со стереозвуком).

Различают три режима передачи потоков данных:

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

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

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

Наиболее просто синхронизация вложенных потоков данных достигается путем их взаимного мультиплексирования (напр.: стандарт MPEG - Motion Picture Expert Group).

13. Распределенные системы. Системы типа «клиент - сервер»

14. Распределенная обработка информации в системах клиент-сервер.

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

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

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

1. Сервер. Сервер - это процесс, реализующий некоторую сетевую службу. Существует второе определение сервера, как ЭВМ, осуществляющая управление доступом к ресурсам сети. Эти два определения не противоречат друг другу, а первое определение является даже более общим. С точки зрения первого определения, второе определение можно перефразировать, как ЭВМ, на которой работает процесс, реализующий сетевую службу предоставления доступа к ресурсам сети;

2. Клиент. Клиент - это процесс, запрашивающий службы у серверов. Взаимодействие клиента и сервера осуществляется в режиме «запрос-ответ».

Прикладные программы типа «клиент-сервер» принято делить на три логических уровня:

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

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

3. Уровень данных - содержит программы обеспечения доступа к данным и их сохранности. Обычно уровень данных реализуется на серверах.

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

 

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]