修订计算机操作系统.ppt
《修订计算机操作系统.ppt》由会员分享,可在线阅读,更多相关《修订计算机操作系统.ppt(46页珍藏版)》请在三一办公上搜索。
1、计算机操作系统,第三章 进程管理,本章主要内容(续),3.7进程通信3.8死锁问题3.9线程,3.7进程通信,进程通信(communication):定义:简单地说,就是进程间的信息交换。分类:低级通信:进程间控制信息的交换。信号量及锁变量只能传递信号,没有数据转送能力。高级通信:进程间大批量信息(数据)的交换。高级通信的目的不是为了控制进程的执行速度,而是为了交换信息。,进程通信,进程的通信方式,主从式 主进程可自由使用从进程的资源或数据;从进程动作受主进程的控制;主进程和从进程关系固定。会话式 使用进程在使用服务进程所提供的服务之前,必须得到服务进程的许可;服务进程根据使用进程的请求提供服
2、务,但对所提供服务的控制由服务进程自身完成;通信时连接关系固定。,进程通信,进程的通信方式,消息或邮箱机制 消息:区别于命令或指令,一方面表示有大量信息,另一方面表示互相通信进程的平等。只要存在空缓冲区或邮箱,发送进程可发送消息;发送进程和接收进程之间没有直接联系,与会话式不同;存在缓冲区或邮箱存放消息。,进程通信,进程的通信方式,共享存储方式 不要求数据移动,两个需要互相交换信息的进程通过对同一共享数据区的操作来达到互相通信的目的。这个共享数据区是每个互相通信的进程的组成部分。,进程通信,消息缓冲机制,消息缓冲机制的基本思想:根据生产者与消费者关系原理,利用内存的共用消息缓冲池实现进程之间的
3、信息交换。消息缓冲区是指含有如下信息的缓冲区:指向发送进程的指针指向下一个消息缓冲区的指针消息长度消息正文消息缓冲区作为进程通信的一个基本单位,即每当发送进程欲发送消息时,便申请并形成一个消息缓冲区,并发送给指定的接收进程。,进程通信,消息缓冲机制,消息缓冲机制的实现过程:发送进程在发送消息前,先在自己的内存空间设置一个始地址为a的消息发送区,把欲发送的消息填入其中,然后再用发送过程send(B,a)将其发送到缓冲区。接收进程则在接收消息之前,在自己的内存空间内设置一个始地址为b的消息接收区,然后用接收过程receive(b)接收缓冲区内的消息。注:由于接收进程可能接收到多个进程发来的多个消息
4、缓冲区,故它将所有的消息缓冲区连接成一个消息队列,其队列头由接收进程PCB中的消息队列头指针给出。,进程通信,消息缓冲机制,消息缓冲机制的实现过程:,进程通信,消息缓冲通信过程,消息缓冲机制,通信进程必须满足如下条件:在发送进程把消息写入缓冲区和把缓冲区挂入消息队列时,应禁止其他进程对该消息缓冲区队列的访问。否则,将引起消息队列的混乱。同理,当接收进程正从消息队列中取消息缓冲区消息时,也应禁止其他进程对该队列的访问。间接制约设置公用信号量:mutex,其初值为1。当消息缓冲区队列中无消息存在时,接收进程不能接收到任何消息。直接制约设置私用信号量:SM为接收进程的私用信号量,表示等待接收的消息个
5、数,其初值为0。,进程通信,消息缓冲机制,进程之间通信的实现:,进程通信,向系统申请一个消息缓冲区,将发送区消息m送入新申请的消息缓冲区,把消息缓冲区挂入接收进程的消息队列,摘下消息队列中的消息n,将消息n从缓冲区复制到接收区,释放缓冲区,开始,结束,开始,结束,P(SM),V(SM),Send(m):,Receive(n):,邮箱通信,进程通信,邮箱通信的基本思想:邮箱通信是由发送进程申请建立一个与接收进程连接的邮箱,发送进程把消息送往邮箱,接收进程从邮箱取走消息,从而完成进程间信息交换。邮箱由邮箱头和邮箱体组成。其中邮箱头描述邮箱名称、邮箱大小、邮箱方向以及拥有该邮箱的进程名等。邮箱体主要
6、用来存放消息(如图)。设置邮箱的最大好处就是发送进程和接收进程之间没有处理时间上的限制(消息缓冲需要互斥使用消息队列)。,邮箱通信,进程通信,注:一个邮箱可以考虑成发送进程与接收进程之间的大小固定的私有数据结构。它不像缓冲区那样被系统内所有进程共享。,进程通信,两通信进程之间的关系:发送进程发送消息时,邮箱中至少要有一个空格能存放该消息。接收进程接收消息时,邮箱中至少要有一个消息存在。即发送进程与接收进程间存在着直接制约。发送进程的私用信号量:nullnum表示邮箱中空格个数,初值为信箱的空格数 n。接收进程的私用信号量:fullnum表示邮箱中消息个数,初值为0。,邮箱通信,实现(两个进程通
7、信):设发送进程调用过程 deposit(m)将消息发送到邮箱,接收进程调用过程remove(m)将消息m 从邮箱中取出。,进程通信,deposit(m):begin local x(nullnum)选择空格x将消息m放入空格x中置格x的标志为满(fullnum)end,remove(m):begin local x(fullnum)选择满格x把满格x中的消息取出置格x标志为空(nullnum)end,3.8死锁定义,定义:各并发进程彼此互相等待对方所拥有的资源,且这些进程在得到对方的资源之前不会释放自己所拥有的资源,从而造成并发进程不能继续向前推进的状态。若死锁只存在于部分进程中,称系统发生
8、了局部死锁;若系统中所有进程都出现了死锁,则称系统发生了全局死锁。,死锁,死锁的起因,死锁的起因是并发进程的资源竞争,而根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。,死锁,系统资源不足,进程推进顺序非法,死锁发生的必要条件,互斥条件:一个资源在某一时刻只能分配给一个进程。若一个进程申请某资源时,该资源被另一进程占用,则申请者等待,直到占有者释放该资源时才可能获得。部分分配:进程在占用部分资源后,运行时还可以申请其余的资源,而且在申请其余资源时并不释放已占用的资源。,死锁,死锁发生的必要条件,不剥夺条件:已分配给进程的资源不可被剥夺,只能被占有者自行释放。环路条件:系统中存在着
9、一条由两个或两个以上的进程组成的循环链,链中的每个进程都在等待相邻进程已占用的资源。,死锁,S3,P3,S1,P2,P1,S2,解决死锁的方法,预防 采用某种策略使得死锁的必要条件在系统执行的任何时间都得不到满足。避免 可称为动态预防,是指在系统分配资源时,根据资源的使用情况提前作出预测,从而避免死锁发生。检查与恢复 是指系统设有专门的机构,死锁发生时,该机构能够检测到死锁发生的位置和原因,并能通过外力破环死锁发生的必要条件,从而使得并发进程从死锁状态中恢复过来。,死锁,解决死锁的方法,预防死锁 死锁产生的必要条件为解决死锁问题提供了思路。限制“互斥条件”然而对于临界资源必须互斥访问,这是某些
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 修订 计算机 操作系统
链接地址:https://www.31ppt.com/p-6242140.html