进程之间的通信方式

进程之间需要通信的原因:即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。

进程之间的通信方式有6种:管道和有名管道,信号,消息队列,共享内存,信号量,套接字 (记忆方式:管信消,共信

1.管道及有名管道:

    前者:具有亲缘关系的父子进程间的通信

    后者:有无亲缘关系均可。

2.信号:

  在软件层上对终端机制的一种模拟,通知有事发生,与处理器收到一个中断请求是一致的。

3.消息队列:

  1).是消息的链接表:有写权限的:按一定规则向队列中添加新信息

                                 有读权限的:从消息队列中读取信息

  2).克服了以上两种信号量有限的缺点

4.共享内存:

  1).多个进程可访问同一块内存空间,不同进程可及时看到对方进程中共享数据内存中数据的更新

  2).最有用的进程间的通信方式,依靠同步来完成,如互斥锁和信号量

5.信号量:

  是进程间或同一进程中不同线程间的同步和互斥的手段

6.套接字:

  网络中不同机器间的进程的通信,应用广泛


互斥和同步的区别:

  前者:某一资源同时只允许一个访问者访问,具有唯一性和排他性,但是访问顺序是无序的。

  后者:在互斥的基础上,实现访问者对资源的有序访问。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值