关于操作系统的几个重要概念(五)

来源:互联网 发布:虚拟机ubuntu无法联网 编辑:程序博客网 时间:2024/06/10 02:07

IPC的几种通信方式

管道、有名管道

管道是一种半双工的通信方式,他不能同时进行读写,如果要同时进行读写就要设置两个通道,并且普通的通道只能在父子、兄弟这些有亲属关系的进程中进行通信。而有名管道则可以在无亲戚关系的进程中进行通信。对于管道方式的通信与我们对队列的操作比较相似。只能从缓冲区尾部写入数据,只能从缓冲区头部读取数据。管道是一种随进程持续的IPC,也就是说IPC对象在第一个进程打开到最后一个进程关闭之间都会存在。

消息队列

消息队列是消息的链接表,他不像管道那样受缓冲区大小限制,并且它的IPC对象是随内核持续的,也就是说除非发生内核重启或者删除该对象这样的情况,这个IPC对象是不会消失的。但是进程需要获取权限才能向消息队列中读取或者存放消息。

共享内存

共享内存是IPC方式中最快的一种,进程之间共享一块相同的内存,读取或存放数据时只需采用文件向内存直接操作的方式,而不需要经过服务器->管道->客户端这样的转接。

信号量

信号量主要作为进程之间同步互斥的手段。

套接字

套接字是作用于不同计算机上的进程通信方式。

1 0
原创粉丝点击