🗊Презентация Взаимодействие между процессами

Нажмите для полного просмотра!
Взаимодействие между процессами, слайд №1Взаимодействие между процессами, слайд №2Взаимодействие между процессами, слайд №3Взаимодействие между процессами, слайд №4Взаимодействие между процессами, слайд №5Взаимодействие между процессами, слайд №6Взаимодействие между процессами, слайд №7Взаимодействие между процессами, слайд №8Взаимодействие между процессами, слайд №9Взаимодействие между процессами, слайд №10Взаимодействие между процессами, слайд №11Взаимодействие между процессами, слайд №12Взаимодействие между процессами, слайд №13Взаимодействие между процессами, слайд №14Взаимодействие между процессами, слайд №15Взаимодействие между процессами, слайд №16Взаимодействие между процессами, слайд №17Взаимодействие между процессами, слайд №18Взаимодействие между процессами, слайд №19Взаимодействие между процессами, слайд №20Взаимодействие между процессами, слайд №21Взаимодействие между процессами, слайд №22Взаимодействие между процессами, слайд №23Взаимодействие между процессами, слайд №24Взаимодействие между процессами, слайд №25Взаимодействие между процессами, слайд №26Взаимодействие между процессами, слайд №27Взаимодействие между процессами, слайд №28Взаимодействие между процессами, слайд №29Взаимодействие между процессами, слайд №30Взаимодействие между процессами, слайд №31Взаимодействие между процессами, слайд №32Взаимодействие между процессами, слайд №33Взаимодействие между процессами, слайд №34Взаимодействие между процессами, слайд №35Взаимодействие между процессами, слайд №36Взаимодействие между процессами, слайд №37Взаимодействие между процессами, слайд №38Взаимодействие между процессами, слайд №39Взаимодействие между процессами, слайд №40Взаимодействие между процессами, слайд №41Взаимодействие между процессами, слайд №42Взаимодействие между процессами, слайд №43Взаимодействие между процессами, слайд №44Взаимодействие между процессами, слайд №45Взаимодействие между процессами, слайд №46Взаимодействие между процессами, слайд №47Взаимодействие между процессами, слайд №48Взаимодействие между процессами, слайд №49Взаимодействие между процессами, слайд №50Взаимодействие между процессами, слайд №51Взаимодействие между процессами, слайд №52Взаимодействие между процессами, слайд №53Взаимодействие между процессами, слайд №54Взаимодействие между процессами, слайд №55Взаимодействие между процессами, слайд №56Взаимодействие между процессами, слайд №57Взаимодействие между процессами, слайд №58Взаимодействие между процессами, слайд №59Взаимодействие между процессами, слайд №60Взаимодействие между процессами, слайд №61Взаимодействие между процессами, слайд №62Взаимодействие между процессами, слайд №63Взаимодействие между процессами, слайд №64Взаимодействие между процессами, слайд №65

Содержание

Вы можете ознакомиться и скачать презентацию на тему Взаимодействие между процессами. Доклад-сообщение содержит 65 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Параллельное программирование
Взаимодействие между процессами
Описание слайда:
Параллельное программирование Взаимодействие между процессами

Слайд 2





План лекции
Модели вычислителей с общей и разделяемой памятью
Реализация вычислений с разделяемой памятью
Файлы
Пайпы
Мэйлслоты
Общая память
Сокеты
Описание слайда:
План лекции Модели вычислителей с общей и разделяемой памятью Реализация вычислений с разделяемой памятью Файлы Пайпы Мэйлслоты Общая память Сокеты

Слайд 3





Примеры параллельных вычислений
Локальные
Описание слайда:
Примеры параллельных вычислений Локальные

Слайд 4





Примеры параллельных вычислений
Глобальные
Описание слайда:
Примеры параллельных вычислений Глобальные

Слайд 5





Open-source software for volunteer computing
Choose projects
Download BOINC software
Enter an email address and password.
Описание слайда:
Open-source software for volunteer computing Choose projects Download BOINC software Enter an email address and password.

Слайд 6





MilkiWay project
Milkyway@Home uses the BOINC platform to harness volunteered computing resources, creating a highly accurate three dimensional model of the Milky Way galaxy using data gathered by the Sloan Digital Sky Survey. This project enables research in both astroinformatics and computer science.
Описание слайда:
MilkiWay project Milkyway@Home uses the BOINC platform to harness volunteered computing resources, creating a highly accurate three dimensional model of the Milky Way galaxy using data gathered by the Sloan Digital Sky Survey. This project enables research in both astroinformatics and computer science.

Слайд 7





Архитектура памяти параллельных вычислителей
Две основных модели:
С общей памятью
С разделяемой памятью
Описание слайда:
Архитектура памяти параллельных вычислителей Две основных модели: С общей памятью С разделяемой памятью

Слайд 8





Архитектура памяти параллельных вычислителей
1. Общая память
(Shared Memory)
Описание слайда:
Архитектура памяти параллельных вычислителей 1. Общая память (Shared Memory)

Слайд 9





Общая память (1/4)
Все процессоры имеют доступ к общей памяти
Процессоры работают независимо
Исключение hyperthreading
Изменение памяти одним из процессоров видят все остальные процессоры
Описание слайда:
Общая память (1/4) Все процессоры имеют доступ к общей памяти Процессоры работают независимо Исключение hyperthreading Изменение памяти одним из процессоров видят все остальные процессоры

Слайд 10





Общая память
Uniform Memory Access (2/4)
Несколько однотипных процессоров
Одинаковое время доступа ко всей памяти для всех процессоров
Описание слайда:
Общая память Uniform Memory Access (2/4) Несколько однотипных процессоров Одинаковое время доступа ко всей памяти для всех процессоров

Слайд 11





Общая память 
Non Uniform Memory Access  (3/4)
Несколько однотипных процессоров
Быстрое время доступа к своей памяти
Медленное время доступа к памяти другого процессора
Описание слайда:
Общая память Non Uniform Memory Access (3/4) Несколько однотипных процессоров Быстрое время доступа к своей памяти Медленное время доступа к памяти другого процессора

Слайд 12





Общая память
Достоинства и недостатки (4/4)
Достоинства
Достаточно простая модель программирования
Быстрый и одинаковый доступ к любым данным
Недостатки
Необходимо использование примитивов синхронизации для корректной работы с общей памятью
Слабая масштабируемость (вертикальная)
Количество процессоров ограничено
Количество памяти ограничено
Описание слайда:
Общая память Достоинства и недостатки (4/4) Достоинства Достаточно простая модель программирования Быстрый и одинаковый доступ к любым данным Недостатки Необходимо использование примитивов синхронизации для корректной работы с общей памятью Слабая масштабируемость (вертикальная) Количество процессоров ограничено Количество памяти ограничено

Слайд 13





Архитектура памяти параллельных вычислителей
2. Распределенная память
(Distributed Memory)
Описание слайда:
Архитектура памяти параллельных вычислителей 2. Распределенная память (Distributed Memory)

Слайд 14





Распределенная память (1/2)
Все процессоры имеют локальную память
Полная изоляция данных между процессорами
Процессоры работают независимо
Требуется канал связи между процессорами
Задача программиста – обеспечить передачу необходимых для вычисления данных к процессору
Описание слайда:
Распределенная память (1/2) Все процессоры имеют локальную память Полная изоляция данных между процессорами Процессоры работают независимо Требуется канал связи между процессорами Задача программиста – обеспечить передачу необходимых для вычисления данных к процессору

Слайд 15





Распределенная память
Достоинства и недостатки (2/2)
Достоинства
Хорошая масштабируемость (горизонтальная)
А также отказоустойчивость
Быстрый доступ процессора к локальной памяти
Пакетная обработка - задача + данные
Можно использовать широко распространенные недорогие ресурсы
Гиперконвергентные среды
Недостатки
Более сложная модель программирования
Сложный переход от вертикального к горизонтальному масштабированию
Пример TravelLine: Sheduler, SQL, хранилище
Доступ к данным на удаленном вычислителе – очень длительная операция
Описание слайда:
Распределенная память Достоинства и недостатки (2/2) Достоинства Хорошая масштабируемость (горизонтальная) А также отказоустойчивость Быстрый доступ процессора к локальной памяти Пакетная обработка - задача + данные Можно использовать широко распространенные недорогие ресурсы Гиперконвергентные среды Недостатки Более сложная модель программирования Сложный переход от вертикального к горизонтальному масштабированию Пример TravelLine: Sheduler, SQL, хранилище Доступ к данным на удаленном вычислителе – очень длительная операция

Слайд 16





Архитектура памяти параллельных вычислителей
3. Гибридная архитектура
(Hybrid Distributed-Shared Memory)
Описание слайда:
Архитектура памяти параллельных вычислителей 3. Гибридная архитектура (Hybrid Distributed-Shared Memory)

Слайд 17





Гибридная архитектура (1/2)
Современные системы используют оба подхода одновременно
Shared memory – ОЗУ + GPU
Distributed memory - сеть
Описание слайда:
Гибридная архитектура (1/2) Современные системы используют оба подхода одновременно Shared memory – ОЗУ + GPU Distributed memory - сеть

Слайд 18





Гибридная архитектура
Достоинства и недостатки (2/2)
Достоинства
Те же что и в предыдущих случаях
Высокая степень масштабируемости
Недостатки
Те же что и в предыдущих случаях 
Высокая сложность
Описание слайда:
Гибридная архитектура Достоинства и недостатки (2/2) Достоинства Те же что и в предыдущих случаях Высокая степень масштабируемости Недостатки Те же что и в предыдущих случаях Высокая сложность

Слайд 19





Модели параллельных вычислений
Потоки
Общая память
Распределенная память / Обмен сообщениями
Параллельная обработка данных
Гибридные архитектуры
Single Program/Instruction Multiple Data (SPMD, SIMD)
Multiple Program/Instruction Multiple Data (MPMD , MIMD)
Описание слайда:
Модели параллельных вычислений Потоки Общая память Распределенная память / Обмен сообщениями Параллельная обработка данных Гибридные архитектуры Single Program/Instruction Multiple Data (SPMD, SIMD) Multiple Program/Instruction Multiple Data (MPMD , MIMD)

Слайд 20





Модели параллельных вычислений
Общая память
(Shared Memory)
Описание слайда:
Модели параллельных вычислений Общая память (Shared Memory)

Слайд 21





Shared memory
Именованная область памяти, которая разделяется между несколькими процессами на одном компьютере.
Процессы имеют общую память, которую они читают и пишут асинхронно
Должны использоваться механизмы синхронизации доступа к памяти
Описание слайда:
Shared memory Именованная область памяти, которая разделяется между несколькими процессами на одном компьютере. Процессы имеют общую память, которую они читают и пишут асинхронно Должны использоваться механизмы синхронизации доступа к памяти

Слайд 22





Преимущества
Простое использование
Быстрый обмен данными между вычислителями
Нет необходимости реализации коммуникаций между вычислителями
Наиболее распространенная модель вычислений в Web приложениях
TravelLine BackEnd
TravelLine ChannelManager
Описание слайда:
Преимущества Простое использование Быстрый обмен данными между вычислителями Нет необходимости реализации коммуникаций между вычислителями Наиболее распространенная модель вычислений в Web приложениях TravelLine BackEnd TravelLine ChannelManager

Слайд 23





Недостатки
Сложно не нарушить инкапсуляцию данных отдельных задач
Все что можно нарушить будет нарушено
Требуются реализация коммуникаций между вычислителями
Описание слайда:
Недостатки Сложно не нарушить инкапсуляцию данных отдельных задач Все что можно нарушить будет нарушено Требуются реализация коммуникаций между вычислителями

Слайд 24





Реализация
Модель может быть реализована как на Shared Memory архитектуре так и на Distributed Memory с использованием дополнительных библиотек или аппаратных реализаций.
Проект SHMEM (Symmetric Hierarchical Memory access)
Описание слайда:
Реализация Модель может быть реализована как на Shared Memory архитектуре так и на Distributed Memory с использованием дополнительных библиотек или аппаратных реализаций. Проект SHMEM (Symmetric Hierarchical Memory access)

Слайд 25





Пример с созданием разделяемого блока памяти
hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, BUF_SIZE, “MyMem”); 
void* buf = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE); 
…
UnmapViewOfFile(buf);
CloseHandle(hMapFile);
Описание слайда:
Пример с созданием разделяемого блока памяти hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, BUF_SIZE, “MyMem”); void* buf = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, BUF_SIZE); … UnmapViewOfFile(buf); CloseHandle(hMapFile);

Слайд 26





Пример с работой с готовым разделяемым блоком памяти
hMapFile = OpenFileMapping( FILE_MAP_ALL_ACCESS, FALSE, “MyMem”); 
А дальше все то же самое
…
Описание слайда:
Пример с работой с готовым разделяемым блоком памяти hMapFile = OpenFileMapping( FILE_MAP_ALL_ACCESS, FALSE, “MyMem”); А дальше все то же самое …

Слайд 27





Модели параллельных вычислений
Потоки
(Threads)
Описание слайда:
Модели параллельных вычислений Потоки (Threads)

Слайд 28





Потоки
Разновидность реализации модели с общей памятью
Один тяжелый процесс может иметь несколько легковесных нитей
Описание слайда:
Потоки Разновидность реализации модели с общей памятью Один тяжелый процесс может иметь несколько легковесных нитей

Слайд 29





Реализация
Исторически разработчики аппаратного обеспечения разработали разные стандартны параллельной обработки.
Позже были разработаны два непохожих стандарта:
POSIX
Определены стандартном IEEE POSIX 1003.1c в 1995 году только для языка C
Изначально были частью Unix систем
Реализованы в библиотеках
Явный паралеллизм
OpenMP
Стандарт, разработанный группой крупных компаний
Поддержка на уровне компилятора
Изначально мультиплатформенный
Позволяет гибко менять степень паралеллизма
Другие реализация
Microsoft Windows Threads
Описание слайда:
Реализация Исторически разработчики аппаратного обеспечения разработали разные стандартны параллельной обработки. Позже были разработаны два непохожих стандарта: POSIX Определены стандартном IEEE POSIX 1003.1c в 1995 году только для языка C Изначально были частью Unix систем Реализованы в библиотеках Явный паралеллизм OpenMP Стандарт, разработанный группой крупных компаний Поддержка на уровне компилятора Изначально мультиплатформенный Позволяет гибко менять степень паралеллизма Другие реализация Microsoft Windows Threads

Слайд 30





Достоинства и недостатки
Наследуют все от модели Shared Memory
Более легковесны
Описание слайда:
Достоинства и недостатки Наследуют все от модели Shared Memory Более легковесны

Слайд 31





Модели параллельных вычислений
Распределенная память. Обмен сообщениями.
(Distributed Memory. Messaging)
Описание слайда:
Модели параллельных вычислений Распределенная память. Обмен сообщениями. (Distributed Memory. Messaging)

Слайд 32





Распределенная память.
Разные роли вычислителей
Требуется канал коммуникации
Обмен при помощи сообщений
Как правило есть контроперации send/receive
Клиент серверная архитектура
К некоторых случаях размытая граница с системами распределенной памяти
Описание слайда:
Распределенная память. Разные роли вычислителей Требуется канал коммуникации Обмен при помощи сообщений Как правило есть контроперации send/receive Клиент серверная архитектура К некоторых случаях размытая граница с системами распределенной памяти

Слайд 33





Достоинства и недостатки
Достоинства
Высокая степень инкапсуляции данных
Предоставляются через API
Высокая степень защищенности данных
Географическая удаленность
Шифрование канала
Недостатки
Сложность реализации
Ненадежный канал
Дублирование сообщений
Идемпотентные протоколы
Медленный канал
Асинхронный UI
Описание слайда:
Достоинства и недостатки Достоинства Высокая степень инкапсуляции данных Предоставляются через API Высокая степень защищенности данных Географическая удаленность Шифрование канала Недостатки Сложность реализации Ненадежный канал Дублирование сообщений Идемпотентные протоколы Медленный канал Асинхронный UI

Слайд 34





Обмен сообщениями
1. Оконные сообщения
Описание слайда:
Обмен сообщениями 1. Оконные сообщения

Слайд 35





Оконные сообщения
Серия сообщений WM_USER+I
Можно передать два числа по 4 байт или 8 байт в сумме
Сообщения WM_COPYDATA
Можно передать произвольный массив данных
Описание слайда:
Оконные сообщения Серия сообщений WM_USER+I Можно передать два числа по 4 байт или 8 байт в сумме Сообщения WM_COPYDATA Можно передать произвольный массив данных

Слайд 36





Оконные сообщения
WM_USER+N
#define MY_CUSTOM_MESSAGE (WM_USER+1)
#define MY_NEXT_CUSTOM_MESSAGE (WM_USER+2)
SendMessage - синхронно
PostMessage – асинхронно
Два параметра
lParam - контекст
wParam - контекст
Описание слайда:
Оконные сообщения WM_USER+N #define MY_CUSTOM_MESSAGE (WM_USER+1) #define MY_NEXT_CUSTOM_MESSAGE (WM_USER+2) SendMessage - синхронно PostMessage – асинхронно Два параметра lParam - контекст wParam - контекст

Слайд 37





Оконные сообщения
Не WM_USER+N
Допустимо, но не рекомендуется
При желании можно управлять другим приложением, как будто им управляет пользователь
Описание слайда:
Оконные сообщения Не WM_USER+N Допустимо, но не рекомендуется При желании можно управлять другим приложением, как будто им управляет пользователь

Слайд 38





Оконные сообщения
SendMessage - синхронно
PostMessage – асинхронно
Два параметра
lParam - контекст
wParam - контекст
Описание слайда:
Оконные сообщения SendMessage - синхронно PostMessage – асинхронно Два параметра lParam - контекст wParam - контекст

Слайд 39





Оконные сообщения
WM_COPYDATA
If (strlen(cmdLine) != 0) 
{ 
	COPYDATASTRUCT cds; 
	cds.cbData = strlen(cmdLine) + 1;
	cds.lpData = cmdLine; 
	SendMessage(hWnd, WM_COPYDATA, 0, (LPARAM)&cds); 
}
Описание слайда:
Оконные сообщения WM_COPYDATA If (strlen(cmdLine) != 0) { COPYDATASTRUCT cds; cds.cbData = strlen(cmdLine) + 1; cds.lpData = cmdLine; SendMessage(hWnd, WM_COPYDATA, 0, (LPARAM)&cds); }

Слайд 40





Преимущества
Просто
Работает «прямо из коробки»
Описание слайда:
Преимущества Просто Работает «прямо из коробки»

Слайд 41





Недостатки
Работает только под Windows
Надо искать Handle второго процесса
Все работает только на одной машине
Отсылка сообщений может подвисать, если процессор загружен и второй процесс сейчас не выполняется
Описание слайда:
Недостатки Работает только под Windows Надо искать Handle второго процесса Все работает только на одной машине Отсылка сообщений может подвисать, если процессор загружен и второй процесс сейчас не выполняется

Слайд 42





Обмен сообщениями
2. Named Pipes
Описание слайда:
Обмен сообщениями 2. Named Pipes

Слайд 43





Pipes
“Быстрые файлы”, которые работают по локальной сети
У пайпа есть имя
Можно одновременно читать и писать
Обычно с пайпами работают в потоках
Описание слайда:
Pipes “Быстрые файлы”, которые работают по локальной сети У пайпа есть имя Можно одновременно читать и писать Обычно с пайпами работают в потоках

Слайд 44





Имя pipe-канала
Имя удаленного pipe-канала: 
\\<сервер>\Pipe\<имя_канала>
<сервер> - IP, DNS, NetBIOS
<имя_канала> – уникальное имя
Имя pipe-канала внутри одного компьютера:
\\.\Pipe\<имя_канала>
Описание слайда:
Имя pipe-канала Имя удаленного pipe-канала: \\<сервер>\Pipe\<имя_канала> <сервер> - IP, DNS, NetBIOS <имя_канала> – уникальное имя Имя pipe-канала внутри одного компьютера: \\.\Pipe\<имя_канала>

Слайд 45





Pipes API
CreateNamedPipe – создать именованный канал 
ConnectNamedPipe – ждать подключения, подключиться (синхронно или асинхронно)
DisconnectNamedPipe – отключиться
Описание слайда:
Pipes API CreateNamedPipe – создать именованный канал ConnectNamedPipe – ждать подключения, подключиться (синхронно или асинхронно) DisconnectNamedPipe – отключиться

Слайд 46





Pipes API: обмен сообщениями 
CreateFile – открыть канал (как файл);
ReadFile(Ex) – читать из файла (файл – абстракция);
WriteFile(Ex) – записать в файл;
TransactNamedPipe – чтение и запись одновременно;
PeekNamedPipe – просматривает данные из буфера пайпа без их извлечения;
Описание слайда:
Pipes API: обмен сообщениями CreateFile – открыть канал (как файл); ReadFile(Ex) – читать из файла (файл – абстракция); WriteFile(Ex) – записать в файл; TransactNamedPipe – чтение и запись одновременно; PeekNamedPipe – просматривает данные из буфера пайпа без их извлечения;

Слайд 47





Преимущества
Быстрее файлов
Работают по локальной сети
Есть если не везде, то много где (в Linux/MacOS X/Windows)
Описание слайда:
Преимущества Быстрее файлов Работают по локальной сети Есть если не везде, то много где (в Linux/MacOS X/Windows)

Слайд 48





Недостатки
Не работают через интернет
Нужны потоки (в отличие от оконных сообщений)
Описание слайда:
Недостатки Не работают через интернет Нужны потоки (в отличие от оконных сообщений)

Слайд 49





Обмен сообщениями
3. Mailslots
Описание слайда:
Обмен сообщениями 3. Mailslots

Слайд 50





Mailslots
обеспечивают «ненадежную» связь в режиме широковещания;
серверы и клиенты ящиков: связь только в одну сторону
Имя ящика: 
\\<сервер>\Mailslot\<имя_ящика>
<сервер> - IP, DNS, NetBIOS
< имя_ящика> – уникальное имя
Описание слайда:
Mailslots обеспечивают «ненадежную» связь в режиме широковещания; серверы и клиенты ящиков: связь только в одну сторону Имя ящика: \\<сервер>\Mailslot\<имя_ящика> <сервер> - IP, DNS, NetBIOS < имя_ящика> – уникальное имя

Слайд 51





Схема взаимодействия 
через Mailslots
Описание слайда:
Схема взаимодействия через Mailslots

Слайд 52





Mailslots API: сервер
CreateMailslot – создать ящик;
SetMailslotInfo – установить настройки;
GetMailslotInfo – получить настройки и статистику;
ReadFile – читать данные (используется дескриптор ящика).
Описание слайда:
Mailslots API: сервер CreateMailslot – создать ящик; SetMailslotInfo – установить настройки; GetMailslotInfo – получить настройки и статистику; ReadFile – читать данные (используется дескриптор ящика).

Слайд 53





Mailslots API: клиент
CreateFile – открыть ящик
\\*\Mailslot\<имя_ящика>\...
\\<сервер>\Mailslot\<имя_ящика>\...
WriteFile – отправить сообщение;
широковещательное – до 424 байт
Описание слайда:
Mailslots API: клиент CreateFile – открыть ящик \\*\Mailslot\<имя_ящика>\... \\<сервер>\Mailslot\<имя_ящика>\... WriteFile – отправить сообщение; широковещательное – до 424 байт

Слайд 54





Преимущества
??
Описание слайда:
Преимущества ??

Слайд 55





Недостатки
Односторонняя передача данных
Нет гарантии доставки
424 БАЙТА МАКСИМУМ
случайности не случайны (424000)
To send messages that are larger than 424 bytes between computers, use named pipes or Windows Sockets instead.
Описание слайда:
Недостатки Односторонняя передача данных Нет гарантии доставки 424 БАЙТА МАКСИМУМ случайности не случайны (424000) To send messages that are larger than 424 bytes between computers, use named pipes or Windows Sockets instead.

Слайд 56





Обмен сообщениями
4. Сокеты
Описание слайда:
Обмен сообщениями 4. Сокеты

Слайд 57





Сокеты
Сокет – программный интерфейс сетевого обмена между процессами
Прямое соединение
IP
Порт
Описание слайда:
Сокеты Сокет – программный интерфейс сетевого обмена между процессами Прямое соединение IP Порт

Слайд 58





Сокеты
Синхронные
Асинхронные
Блокирующие
Неблокирующие
TCP
UDP
Описание слайда:
Сокеты Синхронные Асинхронные Блокирующие Неблокирующие TCP UDP

Слайд 59





Сокет:
Сокет:
создается;
настраивается на заданный режим работы;
применяется для организации обмена;
ликвидируется.
Описание слайда:
Сокет: Сокет: создается; настраивается на заданный режим работы; применяется для организации обмена; ликвидируется.

Слайд 60





семейство протоколов
семейство протоколов
локальный IP-адрес
удаленный IP-адрес
номер локального порта
номер удаленного порта
Описание слайда:
семейство протоколов семейство протоколов локальный IP-адрес удаленный IP-адрес номер локального порта номер удаленного порта

Слайд 61





s = socket(INT AF, INT type, INT protocol), где: 
s = socket(INT AF, INT type, INT protocol), где: 
AF (address_family)  - набор протоколов (Internet, Unix, Appletalk и т. д.);
type - тип коммуникаций (SOCK_STREAM, SOCK_RAW, и SOCK_DGRAM);
protocol - код конкретного протокола из указанного набора (заданного AF) (например, IPPROTO_TCP или IPPROTO_UDP).
Описание слайда:
s = socket(INT AF, INT type, INT protocol), где: s = socket(INT AF, INT type, INT protocol), где: AF (address_family) - набор протоколов (Internet, Unix, Appletalk и т. д.); type - тип коммуникаций (SOCK_STREAM, SOCK_RAW, и SOCK_DGRAM); protocol - код конкретного протокола из указанного набора (заданного AF) (например, IPPROTO_TCP или IPPROTO_UDP).

Слайд 62





Схема взаимодействия
Описание слайда:
Схема взаимодействия

Слайд 63





Обмен данными
write(s, buf, len); 
read(s, buf, len); 
send(s, buf, len, flags); 
recv(s, buf, len, flags), где
s — дескриптор сокета, 
buf — имя массива, подлежащего пересылке (или предназначенного для приема),
len — длина этого массива
flags - флаги диагностики и управления передачей данных
Описание слайда:
Обмен данными write(s, buf, len); read(s, buf, len); send(s, buf, len, flags); recv(s, buf, len, flags), где s — дескриптор сокета, buf — имя массива, подлежащего пересылке (или предназначенного для приема), len — длина этого массива flags - флаги диагностики и управления передачей данных

Слайд 64





Преимущества и недостатки
Преимущества
Работают везде
Высокий уровень масштабируемости
Недостатки
Высокая сложность
Все проблемы, связанные с сетью
Описание слайда:
Преимущества и недостатки Преимущества Работают везде Высокий уровень масштабируемости Недостатки Высокая сложность Все проблемы, связанные с сетью

Слайд 65





Вопросы?
Описание слайда:
Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию