进程之间的通信方式

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

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

1.管道及有名管道:

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

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

2.信号:

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

3.消息队列:

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

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

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

4.共享内存:

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

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

5.信号量:

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

6.套接字:

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


互斥和同步的区别:

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

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


你可能感兴趣的:(进程)