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

Нажмите для полного просмотра!
Взаимодействие процессов в UNIX, слайд №1Взаимодействие процессов в UNIX, слайд №2Взаимодействие процессов в UNIX, слайд №3Взаимодействие процессов в UNIX, слайд №4Взаимодействие процессов в UNIX, слайд №5Взаимодействие процессов в UNIX, слайд №6Взаимодействие процессов в UNIX, слайд №7Взаимодействие процессов в UNIX, слайд №8Взаимодействие процессов в UNIX, слайд №9Взаимодействие процессов в UNIX, слайд №10Взаимодействие процессов в UNIX, слайд №11

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

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


Слайд 1





Взаимодействие процессов в UNIX
Описание слайда:
Взаимодействие процессов в UNIX

Слайд 2





IPC PIPE
Канал – однонаправленная передача данных между двумя процессами.
 Low level Piping
int pipe(int fd[2]);
int filedes[2]={outdes,indes};
 Formatted Piping
FILE *popen(char *command, char *type);
pclose(FILE *stream);
Описание слайда:
IPC PIPE Канал – однонаправленная передача данных между двумя процессами. Low level Piping int pipe(int fd[2]); int filedes[2]={outdes,indes}; Formatted Piping FILE *popen(char *command, char *type); pclose(FILE *stream);

Слайд 3





Low-level piping
Описание слайда:
Low-level piping

Слайд 4





FIFO
int mknod(char *pathname, int mode, int dev);
pathname – имя FIFO
mode – флаг S_IFIFO, а также флаги владения, прав доступа и т.д. 
dev – игнорируется
Описание слайда:
FIFO int mknod(char *pathname, int mode, int dev); pathname – имя FIFO mode – флаг S_IFIFO, а также флаги владения, прав доступа и т.д. dev – игнорируется

Слайд 5





Каналы
При чтении меньшего числа байт, чем есть в канале, остаток сохраняется
При чтении большего числа байт, чем есть в канале, возвращается доступное число байт
Если канал пуст и ни один процесс не открыл его на запись, будет возвращено 0 байт. Если какой-либо процесс открыл канал на запись, то read будет переведен в состояние ожидания (если канал не работает в режиме NO_DELAY).
Запись числа байт, меньше емкости канала гарантировано атомарно.
При записи числа байт, больше емкости канала, write блокируется, атомарность не гарантируется
Описание слайда:
Каналы При чтении меньшего числа байт, чем есть в канале, остаток сохраняется При чтении большего числа байт, чем есть в канале, возвращается доступное число байт Если канал пуст и ни один процесс не открыл его на запись, будет возвращено 0 байт. Если какой-либо процесс открыл канал на запись, то read будет переведен в состояние ожидания (если канал не работает в режиме NO_DELAY). Запись числа байт, меньше емкости канала гарантировано атомарно. При записи числа байт, больше емкости канала, write блокируется, атомарность не гарантируется

Слайд 6





IPC FIFO
mknod(“myfifo”, S_IFIFO | 0666, 0);
open(“myfifo”, O_RDONLY);
open(“myfifo”, O_WRONLY);
read(handle, buff, MAXBUFF);
write(handle, “Hello, world!”);
close(handle);
unlink(“myfifo”);
Описание слайда:
IPC FIFO mknod(“myfifo”, S_IFIFO | 0666, 0); open(“myfifo”, O_RDONLY); open(“myfifo”, O_WRONLY); read(handle, buff, MAXBUFF); write(handle, “Hello, world!”); close(handle); unlink(“myfifo”);

Слайд 7





Взаимодействие потоков в Win32
Описание слайда:
Взаимодействие потоков в Win32

Слайд 8





Unnamed pipes
Неименованные каналы
Однонаправленный локальный механизм взаимодействия
BOOL CreatePipe(
  PHANDLE phRead,
  PHANDLE phWrite,
  LPSECURITY_ATTRIBUTES lpsa,
  DWORD cbPipe );
Описание слайда:
Unnamed pipes Неименованные каналы Однонаправленный локальный механизм взаимодействия BOOL CreatePipe( PHANDLE phRead, PHANDLE phWrite, LPSECURITY_ATTRIBUTES lpsa, DWORD cbPipe );

Слайд 9





Named pipes
Именованные каналы
Двунаправленный механизм взаимодействия, может использоваться локально и удаленно
HANDLE CreateNamedPipe(
   LPCTSTR lpszPipeName,
   DWORD fdwOpenMode,
   DWORD fdwPipMode,
   DWORD nMaxInstances,
   DWORD cbOutBuf,
   DWORD cbInBuf,
   DWORD dwTimeOut,
   LPSECURITY_ATTRIBUTES lpsa );
Описание слайда:
Named pipes Именованные каналы Двунаправленный механизм взаимодействия, может использоваться локально и удаленно HANDLE CreateNamedPipe( LPCTSTR lpszPipeName, DWORD fdwOpenMode, DWORD fdwPipMode, DWORD nMaxInstances, DWORD cbOutBuf, DWORD cbInBuf, DWORD dwTimeOut, LPSECURITY_ATTRIBUTES lpsa );

Слайд 10





Named pipes
Именованные каналы
m_hPipe = ::CreateNamedPipe (
  "\\\\.\\pipe\\ipcdemo", // Имя канала
  PIPE_ACCESS_OUTBOUND, // Доступ только для записи
  PIPE_TYPE_BYTE | PIPE_NOWAIT, // Запись байтов, без ожидания
  1, // По одному экземпляру за один раз
  0, // Размер выходного буфера (байт)
  0, // Размер входного буфера (байт)
  0, // Время ожидания (мс)
  NULL // Использовать дескриптор безопасности
       // по умолчанию
);
Описание слайда:
Named pipes Именованные каналы m_hPipe = ::CreateNamedPipe ( "\\\\.\\pipe\\ipcdemo", // Имя канала PIPE_ACCESS_OUTBOUND, // Доступ только для записи PIPE_TYPE_BYTE | PIPE_NOWAIT, // Запись байтов, без ожидания 1, // По одному экземпляру за один раз 0, // Размер выходного буфера (байт) 0, // Размер входного буфера (байт) 0, // Время ожидания (мс) NULL // Использовать дескриптор безопасности // по умолчанию );

Слайд 11





Named pipes
Именованные каналы
CString string = "\\\\" + strServerName + "\\pipe\\ipcdemo";
hPipe = CreateFile(
  string,
  GENERIC_READ,
  FILE_SHARE_READ,
  NULL,
  OPEN_EXISTING,
  FILE_ATTRIBUTE_NORMAL,
  NULL);
Описание слайда:
Named pipes Именованные каналы CString string = "\\\\" + strServerName + "\\pipe\\ipcdemo"; hPipe = CreateFile( string, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);



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