8.进程之间的通信
根据交换信息量的多少和效率的高低,进程通信分为低级通信和高级通信
方式
低级:由于进程的互斥和同步,需要在进程之间交换一定的信息,所以也归类为进程通信,只能传递状态和整数值(控制信息),特点时传送信息量小,效率低,每次通信传递的信息量固定,如果传递较多信息需要进行多次通信,编程复杂,用户直接实现通信的细节,容易出错。
高级:提高信号通信的效率,传递大量数据,减轻程序编制的复杂度
有三种方式
1.共享内存模式:在通信进程之间存在一块可以直接访问的共享空间,通过对这片共享空间进行读写操作实现进程之间的信息交换,在对共享空间进行读写操作,需要同步互斥工具,对共享空间的读写操作进行控制
2.消息传递模式:在消息传递系统中,进程之间的数据交换是以格式化的信息message为单位,
如果通信线程之间不存在可以直接访问的共享空间,必须利用操作系统提供的消息传递方法实现进程通信,进程通过系统提供的发送消息和接收消息的两个原语进行数据交换。
又分为直接通信和间接通信方式,
直接通信:将消息发送给接受进程,并将它挂在接受进程的消息缓冲队列中,接受进程从消息缓冲队列中取得的消息,
间接通信:将消息发送给某个中间实体(信箱),接受进程从中间实体中取得消息,又称为信箱通信方式,
甲给乙写信,通过邮差送给乙,这就是直接方式,邮差把信放在乙家门口的邮箱,属于间接方式。
3.共享文件模式
用于连接一个读进程和一个写进程以实现它们之间通信的文件就是共享文件,又称为管道文件
向管道提供输入的写进程,以字符流形式将大量的数据送入写管道,
接受管道输出的读进程,从管道中接受读数据,为了协调双方的通信,管道机制必须提供互斥,同步和确定对方存在的三方面的协调能力。
屏幕剪辑的捕获时间: 2021/1/9 20:39
进程通信:进程之间的信息交换
1.共享存储器系统
2.消息传递系统
直接通信
间接通信
3.管道通信系统
屏幕剪辑的捕获时间: 2021/1/9 20:42
屏幕剪辑的捕获时间: 2021/1/9 20:43
屏幕剪辑的捕获时间: 2021/1/9 20:44
原语:不可分割的操作
原子操作:不可打断的操作
原语:通常由若干条指令组成,用来实现某个特定的操作,通过一段不可分割或不可中断的程序实现其功能,
引入原语的目的:实现进程的通信和控制(包括进程创建,调度,终止,这些操作均不可中断)
屏幕剪辑的捕获时间: 2021/1/9 20:50