您的位置:首页 > 其它

操作系统的笔记--进程的通信

2016-09-27 21:24 330 查看
并发进程在执行过程中,不仅会发生进程的互斥和进程的同步关系,也时候也需要进行京城之间的通信,进程的通信就是指并发过程在运行过程中,相关进程之间进行交流信息,从定义看,进程同步也是一种进程通信方式,信号量机制和管程机制的通信量很小,不适合大量信息的传送,所以进程同步机制为低级通信方式,改方式主要用来协调进程之间的执行的速度,大量的信息的交换成为高级通信方式。

  信号量机制和管程机制除了交换的信息量较少以外,还有一个缺点就是,信号量机制和管程机制的实现都是通过共享存储器来实现的,如信号量管程中的条件变量等,都是存储在共享缓冲区中的共享变量。在网络环境或者分布式环境中,基于共享存储器方式的信号量和管程机制就不能使用。这样需要实现新的通信原语和手段来实现进程之间的数据的交换。

   进程的高级通信为的不是协调进程的推进的速度,目的是为了交换信息。进程之间通信的方式主要有:管道文件通信方式,共享存储器方式和消息传递方式。

1.管道文件通信方式:管道文件是链接两个命令的一个打开文件,一个命令向改管道文件写入数据,另一个文件从该管道文件读出数据。该管道文件就是两个命令交换信息的桥梁

2.共享存储器方式:在内存区域开辟一个共享存储器区,需要交换信息的进程将该共享存储区纳入到自己的进程的地址的空间去,这样进程之间的通信成为可能,当不需要通信时,取消这片区域。

3.消息传递方式:该方式以消息为单位在各个进程之间进行信息交换。

  当前的操作系统以及网络系统中,消息传递方式得到了广泛的使用,实际上,管道方式也可以看做是消息传递方式的一种,消息传递的方式实现进程之间的通信。不仅可以传递大量的信息,还可以使用在本计算机系统的共享存储器中,还可以再分布式的非共享存储器环境。并且从使用上看,在分布式环境下的消息传递的机制,使用起来就像在本机上使用一样简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息