1 / 55
文档名称:

linux进程间通信(中嵌教育-嵌入式linux开发课件).ppt

格式:ppt   页数:55
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

linux进程间通信(中嵌教育-嵌入式linux开发课件).ppt

上传人:yzhlyb 2014/11/23 文件大小:0 KB

下载得到文件列表

linux进程间通信(中嵌教育-嵌入式linux开发课件).ppt

文档介绍

文档介绍:linux进程间通信
进程间通信概述
管道通信
信号
共享内存
消息队列
1、进程间通信概述
进程间通信有如下一些目的:
数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。
共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。
通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。
资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制。
进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。
linux进程间通信(IPC)由以下几部分发展而来:
早期UNIX进程间通信、基于System V进程间通信、基于Socket进程间通信和POSIX进程间通信。
UNIX进程间通信方式包括:管道、FIFO、信号。
System V进程间通信方式包括:System V消息队列、System V信号灯、System V共享内存。
POSIX进程间通信包括:posix消息队列、posix信号灯、posix共享内存。
现在linux使用的进程间通信方式:
(1)管道(pipe)和有名管道(FIFO)
(2)信号(signal)
(3)消息队列
(4)共享内存
(5)信号量
(6)套接字(socket)
2、管道通信
普通的Linux shell都允许重定向,而重定向使用的就是管道。例如:
ps | grep vsftpd
管道是单向的、先进先出的、无结构的、固定大小的字节流,它把一个进程的标准输出和另一个进程的标准输入连接在一起。写进程在管道的尾端写入数据,读进程在管道的首端读出数据。数据读出后将从管道中移走,其它读进程都不能再读到这些数据。管道提供了简单的流控制机制。进程试图读空管道时,在有数据写入管道前,进程将一直阻塞。同样,管道已经满时,进程再试图写管道,在其它进程从管道中移走数据之前,写进程将一直阻塞。
管道主要用于不同进程间通信。
管道创建与关闭
创建一个简单的管道,可以使用系统调用pipe( )。它接受一个参数,也就是一个包括两个整数的数组。如果系统调用成功,此数组将包括管道使用的两个文件描述符。创建一个管道之后,一般情况下进程将产生一个新的进程。
系统调用:pipe( );
原型:int pipe( int fd[2] );
返回值:如果系统调用成功,返回0。如果系统调用失败返回- 1:
errno = EMFILE (没有空闲的文件描述符)
EMFILE (系统文件表已满)
EFAULT (fd数组无效)
注意:fd[0] 用于读取管道,fd[1] 用于写入管道。
图1 linux中管道与文件描述符的关系
#include <>
#include <>
#include <>
#include <>
int main()
{
int pipe_fd[2];
if(pipe(pipe_fd)<0)
{
printf("pipe create error\n");
return -1;
}
else
printf("pipe create ess\n");
close(pipe_fd[0]);
close(pipe_fd[1]);
}
管道读写
管道主要用于不同进程间通信。实际上,通常先创建一个管道,再通过fork函数创建一个子进程。
图2 父子进程管道的文件描述符对应关系
子进程写入和父进程读的命名管道:
图 3 关闭父进程fd[1] 和子进程[0]

最近更新

2025年郑州工业安全职业学院单招综合素质考试.. 45页

2025年长垣烹饪职业技术学院单招职业技能测试.. 44页

2026年中医住培带教师资理论考核题库100道及完.. 39页

2026年中医住培带教师资理论考核题库100道附完.. 39页

2026年主管中药师考试备考题100道及答案【全国.. 38页

2026年主管中药师考试备考题100道附答案【夺分.. 38页

2026年网络安全知识竞赛题库【各地真题】 39页

小学历史与文化知识竞赛题库100道(轻巧夺冠).. 37页

最新煤气操作证考试题100道及参考答案一套 39页

最新煤气操作证考试题100道(精选题) 39页

最新煤气操作证考试题100道及参考答案【b卷】.. 39页

庆阳市冬小麦夏收后复种玉米栽培技术及效益分.. 31页

2025年医疗仪器项目合作计划书 65页

2025年农药制剂项目发展计划 79页

2025年福州黎明职业技术学院单招职业技能测试.. 44页

2025年达州职业技术学院单招职业倾向性考试题.. 42页

2025年重庆市资阳地区单招职业适应性考试题库.. 42页

2025年马鞍山十七冶医院招聘15人备考题库附答.. 49页

2025广西百色平果市乡镇卫生院招聘乡村医生21.. 49页

2026年安徽城市管理职业学院单招职业适应性考.. 37页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

2025年江西信息应用职业技术学院单招职业适应.. 127页

2025年江西信息应用职业技术学院单招职业倾向.. 73页

喝酒给老婆的检讨书 6页

vae乳液低温发泡工艺 29页

《口蹄疫》ppt课件 42页

自然条件对城市的影响 48页

DL T 5783-2019《水电水利地下工程地质超前预.. 36页

德国科隆柯伦巴艺术博物馆_建筑空间解析 14页