(P23)进程间通信介绍一

文章目录


(P23)进程间通信介绍一
顺序性:后一条指令要在第一条指令的基础上才能执行
通用寄存器,系统堆栈,进程上下文,不会受其它程序的影响,他是封闭的
不管在慢机器还是在快机器,给定程序输入,程序有输出
什么时候都可以再现结果

共享某些资源
(P23)进程间通信介绍一
排他性地使用资源称之为互斥资源、临界资源
(P23)进程间通信介绍一
互斥:两个进程对共享资源的有序的访问,可用信号量实现
进程与进程之间是CPU时间片轮转的
当时间片轮转到了B进程,B进程x-1等于0,接着时间片又轮转给了A进程,先前x>0已经做完了,接着做x–,则此时x=-1,相当于一张票卖了2次,这是不允许的
(P23)进程间通信介绍一

(P23)进程间通信介绍一
同步:两个进程的协作,可用信号量实现
司机要等到售票员关门后,才可以启动车辆;
售票员要等到司机到站停车后,才可以开门;
(P23)进程间通信介绍一
进程控制也可以通过信号SIGTRAP的方式来实现,
(P23)进程间通信介绍一

管道只能用于父子进程之间的通信,有名管道可以用于不相关的进程间通信
(P23)进程间通信介绍一
文件锁:读写锁,一个进程写时,另外一个进程不能写,也不能读;一个进程读时,另外一个进程可以读,但是不能写。
所以可以施加读锁或者写锁,排它锁;用于互斥和同步;

管道:数据传输
信号:一个进程可以向另外一个进程发送通知事件,eg:SIGTRAP、SIGCHLD子进程退出信号
(P23)进程间通信介绍一
消息队列:进程间数据传输
共享内存:进程间共享数据
信号量:进程间对数据的同步访问和互斥访问,system v实现互斥量要用信号量来实现
(P23)进程间通信介绍一
(P23)进程间通信介绍一

(P23)进程间通信介绍一
(P23)进程间通信介绍一
因为进程间共享信息有3种方式,所以IPC对象的持续性也有3种
pipe匿名管道和pipe有名管道FIFO

进程结束的时候,这些IPC对象不会删除,当显式删除或者机器重启时,这些对象会被删除。

即使访问这些IPC对象的进程都结束了或者计算机重启,这些对象还会保留着;只有显示删除,这些对象才会被删除
;若不使用映射文件的方式,则它就是随内核持续的。

(P23)进程间通信介绍一