
- •5. Управление коммуникациями в ос
- •5.1. Общая характеристика коммуникаций
- •5.2. Концепции технологии Клиент-Сервер
- •5.3. Внутренние коммуникации между процессами
- •5.3.1. Неименованные каналы
- •5.3.2. Обмен сообщениями
- •5.3.3. Обмен данными через Clipboard
- •1. Подготовка данных для передачи в Clipboard;
- •1. Открытие Clipboard
- •2. Проверка наличия требуемого формата данных в Clipboard
- •3. Чтение данных из Clipboard
- •4. Закрытие Clipboard
- •5.3.4. Обмен данными по технологии dde
- •5.3.5. Обмен данными по технологии ole
- •5.3.5.1. Введение
- •5.3.5.2. Понятие документ-ориентированной среды
- •5.3.5.3. Принципы ole
- •5.3.5.4. Характеристика технологии ole
- •5.3.5.4.1. Ole реализует концепцию визуального редактирования - редактирования на месте.
- •5.3.5.4.2. Другой особенностью ole является возможность приложения предоставить ряд своих функций (например, проверку орфографии) для доступа из других приложений - ole-Automation.
- •5.3.5.4.3. Ядром ole стал способ хранения данных в составном документе.
- •5.3.5.4.4. Дополнительные возможности ole:
- •5.3.5.4.5. Иерархия средств ole
- •5.3.5.4.6. Недостатки ole
- •5.3.5.4.7. Трехуровневая адресация ole-объекта
- •5.4. Внешние коммуникации
- •5.4.1. Протоколы тср/ip
- •5.4.1.1. Определение и достоинства протокола tcp/ip
- •5.4.1.2. Архитектура tcp/ip
- •5.4.1.3. Соответствие между моделями tcp/ip и iso osi
- •5.4.2. Протокол ip
- •5.4.2.1. Структура заголовка ip-пакета
- •5.4.3. Протокол udp
- •5.4.4. Протокол tcp
- •5.4.4.1. Структура tcp-сегмента
- •5.4.4.2. Этапы tcp-сеанса
- •5.4.5. Программные средства поддержки сетей
- •5.4.5.1. Состав программных средств поддержки сетей
- •1. Почтовые ящики
- •2. Именованные каналы
- •3. Удаленные вызовы процедур
- •4. Протокол NetBios
- •5.4.5.2. Программные средства работы с сокетами
- •5.4.6. Сетевое программное обеспечение уровня приложений
- •5.4.6.1. Протокол ftp
- •5.4.6.2. Протокол smtp
5. Управление коммуникациями в ос
5.1. Общая характеристика коммуникаций
Излишне говорить о важности коммуникаций между различными компонентами вычислительных систем. Коммуникации являются важнейшим видом взаимодействия процессов. Отдельные аспекты этого взаимодействия мы уже рассматривали, когда знакомились с файлами, отображаемыми в память. В данном разделе рассмотрим вопросы коммуникаций более подробно.
Коммуникации между процессами можно разделить на два следующих варианта:
внутренние коммуникации
сетевые коммуникации
Внутренние коммуникации - это коммуникации между процессами, выполняющимися на одном компьютере.
Сетевые коммуникации - это коммуникации между процессами, выполняющимися на различных компьютерах.
Вопрос (
)Вопрос
Вопрос (
)Вопрос
Существует различия между способами организации коммуникаций этих двух видов. Однако и существует тенденция на некотором высоком логическом уровне не различать эти два вида коммуникаций.
Программист при создании приложения использует некоторый набор примитивов обмена данными между процессами, а среда сама подключает сетевые коммуникации, если процессы выполняются на разных компьютерах, или ограничивается внутренними коммуникациями, если процессы выполняются на одной машине.
Независимо от способа реализации коммуникаций, каждый партнер должен понимать другую сторону. Поэтому в коммуникациях, как ни в какой другой области, существует огромная потребность в стандартизации. Стандартизация способствует стыкуемости различных систем и тем самым сокращает усилия по их программированию.
В рамках стандартов создаются коммуникационные протоколы. Один из наиболее удачных вариантов системы коммуникационных протоколов разработала Международная организация стандартизации ISO (International Standards Organisation), создавшая стандартную многоуровневую модель коммуникаций - модель OSI (Open System Interconnection).
Эта модель используется в основном для сетей, но может быть использована и для построения протоколов внутренних коммуникаций, если рассматривать только три верхних уровня модели.
Эта модель имеет следующий вид.
Вопрос (
------------------ ------------------
| Приложения | | Приложения |
------------------ ------------------
| Презентации | | Презентации |
------------------ ------------------
| Сеанса | | Cеанса |
------------------ ------------------
| Транспортный | | Транспортный |
------------------ ------------------
| Сетевой | | Сетевой |
------------------ ------------------
| Канальный | | Канальный |
------------------ ------------------
| Физический | | Физический |
------------------ ------------------
v ^
-------------------------------------------
)Вопрос
Вопрос (
Взаимодействие между парами уровней (верх-низ) описывается межуровневыми интерфейсами.
)Вопрос
Вопрос (
Взаимодействие между процессами на одном уровне описывается протоколами.
)Вопрос
Если взаимодействующие приложения выполняются на разных машинах, то в работе участвуют все уровни модели. Если приложения выполняются на одной машине, то задействуются три верхних уровня модели.
Краткая характеристика уровней
Вопрос (
Уровень приложения. Протоколы этого уровня уникальны для каждой программной системы и определяют характер и объем передаваемых данных.
Уровень презентации. Этот уровень отвечает за преобразование собственных данных приложений в форматы, подготавливаемые для обмена. И наоборот, принятые данные преобразует в вид, понятный приложению.
Уровень сеанса. Этот уровень обеспечивает синхронизацию коммуникаций в определенных точках выполнения приложений.
Транспортный уровень. Этот уровень обеспечивает надежную и последовательную передачу данных между узлами сети.
Сетевой уровень. Этот уровень обеспечивает маршрутизацию пакетов с данными и передачу отдельных пакетов.
Канальный уровень. Этот уровень обеспечивает помехоустойчивое кодирование данных.
Физический уровень. Этот уровень отвечает за характеристики сигналов в линиях связи.
)Вопрос
Для каждого уровня создается свой протокол передачи данных. Основным в протоколе является формат пакета протокола данного уровня. С точки зрения поля данных различают жесткие и гибкие протоколы.
В жестком протоколе структура передаваемых данных известна и не меняется. Это обеспечивает высокую эффективность жесткого протокола.
Вопрос (
Структура жесткого протокола имеет следующий вид:
-
Заголовок
Данные
Хвост
Заголовок в основном содержит адресную информацию, хвост - контрольную информацию.
)Вопрос
В гибком протоколе формат данных не определен заранее. Гибкие протоколы легче адаптируются к изменяющимся требованиям.
Вопрос (
Структура гибкого протокола имеет следующий приблизительный вид:
Заголовок |
Тип |
Данные |
Тип |
Данные |
Тип |
Данные |
Хвост |
)Вопрос
Гибкие протоколы используются, как правило, на более высоких уровнях системы. Известны гибкие протоколы для уровня приложений.
Принципы взаимодействия уровней соответствуют тем принципам, которые мы рассматривали при знакомстве с уровнями операционной системы.
Важным принципом является принцип прозрачности уровней. Т.е. протокол каждого уровня не знает данных и не пользуется данными протоколов других уровней.
При переходе от уровня к уровню используется принцип вложенности протоколов. Т.е. поле данных протокола некоторого уровня - это весь протокол следующего уровня.
Например.
Вопрос (
)Вопрос
Далее мы будем знакомиться с протоколами, начиная с сетевого уровня и выше вплоть до уровня презентации.
Подчеркнем, что эту многоуровневую модель коммуникаций мы рассматриваем в рамках 8-го уровня многоуровневой модели операционной среды.
На всех уровнях, которые мы в дальнейшем собираемся изучать, используется терминологические особенности технологии КЛИЕНТ-СЕРВЕР, поэтому ниже рассмотрим элементы этой технологии.