一:进程通信的原因
1):为了提高计算机系统的效率,增强计算机系统内各种硬件的并行操作能力,操作系统要求程序结构必须适应并发处理的需要,为此引入了进程。
2):由于不同的进程运行在各自不同的内存空间中,一方变量的修改另一方是无法感知到的。因此,进程之间的信息传递不可能通过变量或其它数据结构直接进行,只能通过进程间通信来完成。
二:什么是进程通信:
两个应用程序(进程)之间的交互过程称为进程通信。
三:进程通信的分类
进程通信根据交换信息量的多少和效率的高低,分为低级通信(只能传递状态和整数值)和高级通信(提高信号的通信效率,传递大量数据,减轻程序编制的复杂度),其中,高级进程通信分为三种:共享内存模式,消息传递模式,共享文件模式。
四:进程通信的基本方式:
1) 文件和记录锁定。
为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放。这是UNIX为共享资源提供的互斥性保障。
2)管道。
管道一般用于两个不同进程之间的通信。当一个进程创建一个管道,并调用fork创建自己的一个子进程后,
父进程关闭读管道端,子进程关闭写管道端,这样 提供了两个进程之间数据流动的一种方式。
3)FIFO。