进程间的通信(1)

进程间的通信,简称为IPC

根据进程间通信信息量的不同,划分为两个类别:控制信息的通信(低级通信)和大批量数据信息的通信(高级通信)。

常见的通信接口有:用于实现低级通信的有软中断信号、信号量集,实现高级通信的有管道、消息队列、共享内存等。

软中断信号: 

是操作系统用来通知进程有事件发生的一种信号机制,用于实现简单的异步通信的一些信息,函数定义在signal.h

常见信号类型的定义:

其中,预置函数signal()的调用格式为signal(sig,function) //说明:sig为软中断信号的序号或版本,function是中断过程中相关联的函数。

软中断信号函数kill(pid,sig)//说明:



管道信号: 一个进程写文件,一个进程从文件中读

为了协调双方通信,必须具备以下的三个条件:
1.互斥:一个进程正在对pipe进行读/写操作时,另外一个进程必须等待
2.同步:当写(输入)进程把一定数量(如4KB)数据写入pipe后,便去睡眠等待,直到读(输出)进程取走数据后,再把它唤醒;
当读(输出)进程读到一空pipe时,也应睡眠等待,直至写进程将数据写入管道后,才将它唤醒。
3.只有确定对方已存在时,才能进行通信 




猜你喜欢

转载自blog.csdn.net/weixin_37224686/article/details/65440446
今日推荐