Содержание
- 2. 8.1. Каналы передачи данных
- 3. Отправители и адресаты Под обменом данными между параллельными процессами понимается пересылка данных от одного потока к
- 4. Обмен данными между потоками одного процесса Если потоки выполняются в контексте одного процесса, то обмен данными
- 5. Обмен данными между потоками разных процессов Если потоки выполняются в контекстах разных процессах, то потоки не
- 6. Схема канала передачи данных T1, T2 – потоки пользователя B1, B2 – буферы ввода-вывода K1, K2
- 7. Порядок работы канала передачи данных Пересылка данных из потока T1 в поток T2 происходит следующим образом:
- 8. Реализация канала Обычно канал реализуется как кольцевой буфер, работающий по принципу FIFO. Для работы с каналом
- 9. Различают два способа передачи данных по каналам: потоком; сообщениями. Если данные передаются непрерывной последовательностью байтов, то
- 10. 8.2. Связи между процессами Прежде чем пересылать данные между процессами, нужно установить между этими процессами связь.
- 11. Направления передачи данных С точки зрения направления передачи данных различают следующие виды связей: полудуплексная связь –
- 12. Топологии связей Теперь, предполагая, что рассматриваются только полудуплексные связи, определим возможные топологии связей. Под топологией связи
- 13. Виды связей С точки зрения топологии различают следующие виды связей: 1 → 1 - между собой
- 14. Обозначения - процесс - канал - связь
- 15. Топология связей между процессами 1→1 1→N N→1 N→M
- 16. Порты и почтовые ящики Канал передачи данных, реализующий топологию N→1 обычно называется портом. Канал передачи данных,
- 17. Порядок разработки систем обмена данными При разработке систем с обменом данными между процессами, прежде всего, должна
- 18. Функции для установки связей между процессами Для установки связей между процессами обычно используются функции типа: connect
- 19. 8.3. Передача сообщений Обмен сообщениями между процессами выполняется при помощи двух функций: send - послать сообщение;
- 20. Структура сообщения Заголовок сообщения Тело сообщения
- 21. Типы адресации процессов При передаче сообщений может использоваться прямая или косвенная адресация процессов.
- 22. Прямая адресация процессов При прямой адресации процессов в функциях send и receive явно указываются процессы отправитель
- 23. Косвенная адресация процессов При косвенной адресации в функциях send и receive указываются не адреса процессов, а
- 24. Симметричная и асимметричная адресация Адресация процессов может быть симметричной и асимметричной. Если при передаче сообщений используется
- 25. Адресация в системах клиент-сервер Асимметричная адресация процессов используется в системах клиент-сервер. В этом случае клиенты знают
- 26. Протокол Набор правил, по которым устанавливаются связи и передаются данные между процессами, называется протоколом.
- 27. 8.4. Синхронный и асинхронный обмен данными При передаче данных различают синхронный и асинхронный обмен данными.
- 28. Синхронное и асинхронное отправление сообщения Если поток отправитель, отправив сообщение функцией send, блокируется до получения этого
- 29. Синхронное и асинхронное получение сообщения Если поток получатель, вызвавший функцию receive, блокируется до тех пор, пока
- 30. Синхронный и асинхронный обмен сообщениями Обмен сообщениями называется синхронным, если поток отправитель синхронно передает сообщения, а
- 31. Рандеву Синхронный обмен данными в случае прямой адресации процессов называется рандеву (rendezvous), что переводится с французского
- 32. 8.5. Буферизация Буфером называется вместимость связи между процессами, то есть количество сообщений, которые могут одновременно пересылаться
- 33. Типы буферизации Существенно различаются три типа буферизации: нулевая вместимость связи (нет буфера), в этом случае возможен
- 34. Как видно из этих определений типы буферизации тесно связаны с синхронизацией передачи данных и поэтому также
- 35. 8.6. Анонимные каналы в Windows Анонимным каналом называется объект ядра операционной системы, который обеспечивает передачу данных
- 36. Свойства анонимных каналов не имеют имени; полудуплексные; передача данных потоком; синхронный обмен данными; возможность моделирования любой
- 37. Порядок работы с анонимным каналом создание анонимного канала сервером; соединение клиентов с каналом; обмен данными по
- 38. Так как анонимный канал не имеет имени, то доступ к такому каналу имеют только родительский процесс-сервер
- 39. Функции для работы с анонимным каналом CreatePipe – создание анонимного канала; WriteFile – запись данных в
- 40. 8.7. Именованные каналы в Windows Именованным каналом называется объект ядра операционной системы, который обеспечивает передачу данных
- 41. Свойства именованных каналов имеют имя, которое используется клиентами для связи с именованным каналом; могут быть как
- 42. Порядок работы с именованными каналами создание именованного канала сервером: соединение сервера с экземпляром именованного канала; соединение
- 43. Функции для соединения с именованным каналом CreateNamedPipe – создание именованного канала; ConnectNamedPipe – соединение сервера с
- 44. WriteFile – запись даннх в именованный канал; ReadFile – чтение данных из именованного канала; PeekNamedPipe –
- 45. Функции для работы с состоянием и свойствами именованного канала GetNamedPipeHandleState – определение состояния именованного канала; SetNamedPipeHandleState
- 46. 8.8. Почтовые ящики в Windows Почтовым ящиком называется объект ядра операционной системы, который обеспечивает передачу сообщений
- 47. Свойства почтовых ящиков имеют имя, которое используется клиентами для связи с почтовыми ящиками; направление передачи данных
- 48. Передача сообщений почтовыми ящиками Хотя передача данных осуществляется только от клиента к серверу, один почтовый ящик
- 49. Порядок работы с почтовым ящиком создание почтового ящика сервером: соединение клиента с почтовым ящиком; обмен данными
- 51. Скачать презентацию