第3章进程管理Bppt课件.ppt

第3章进程管理Bppt课件.ppt

ID:59017845

大小:357.50 KB

页数:78页

时间:2020-09-26

第3章进程管理Bppt课件.ppt_第1页
第3章进程管理Bppt课件.ppt_第2页
第3章进程管理Bppt课件.ppt_第3页
第3章进程管理Bppt课件.ppt_第4页
第3章进程管理Bppt课件.ppt_第5页
资源描述:

《第3章进程管理Bppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.7进程通信介绍进程间互相传递信息的方法和原理。通信(communication)意味着在进程间传送数据。操作系统可以被看作是各种进程组成的。这些进程都具有各自的独立功能,且大多数被外部需要而启动执行。一般来说,进程间的通信根据通信内容可以划分为二种:即控制信息的传送与大批量数据传送。有时,也把进程间控制信息的交换称为低级通信,而把进程间大批量数据的交换称为高级通信。低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用。高级通信要传送大量数据。高级通信的目的不是为了控制进程的执行速度,而

2、是为了交换信息。3.7.1进程的通信方式在单机系统中,进程间通信可分为4种形式:(1)主从式;(2)会话式;(3)消息或邮箱机制;(4)共享存储区方式。(1)主从式通信系统的主要特点是:①主进程可自由地使用从进程的资源或数据;②从进程的动作受主进程的控制;③主进程和从进程的关系是固定的。主从式通信系统的典型例子是终端控制进程和终端进程。(2)会话方式中,通信进程双方可分别称为使用进程和服务进程。其中,使用进程调用服务进程提供的服务。它们具有如下特点:①使用进程在使用服务进程所提供的服务之前,必须得到服务进

3、程的许可;②服务进程根据使用进程的要求提供服务,但对所提供服务的控制由服务进程自身完成。③使用进程和服务进程在通信时有固定连接关系。用户进程与磁盘管理进程之间的通信是会话系统的一个例子。各用户进程向磁盘管理进程提出使用要求并得到许可之后,才可以使用相应的存储区。而且,由磁盘管理进程自身完成对磁盘存储区的管理和控制。另外,用户进程与磁盘管理进程之间,只有在用户进程要求使用磁盘存储区时才有通信关系。(3)消息或邮箱机制则无论接收进程是否已准备好接收消息,发送进程都将把所要发送的消息送入缓冲区或邮箱。消息的一般

4、形式为4个部分组成。即:发送进程名、接收进程名、数据和有关数据的操作。消息或邮箱机制的特点是:①只要存在空缓冲区或邮箱,发送进程就可以发送消息。②与会话系统不同,发送进程和接收进程之间无直接连接关系,接收进程可能在收到某个发送进程发来的消息之后,又转去接收另一个发送进程发来的消息。③发送进程和接收进程之间存在缓冲区或邮箱(图3.17)用来存放被传送消息。图3.16消息的组成图3.17缓冲区或邮箱通信结构(4)共享存储区方式不要求数据移动。两个需要互相交换信息的进程通过对同一共享数据区(sharedmemo

5、ry)的操作来达到互相通信的目的。这个共享数据区是每个互相通信进程的一个组成部分。以上几种通信方式都可用于大量数据传送,而且,由于其通信方式不同,需要使用不同的控制方式来达到通信进程之间同步或互斥的目的。3.7.2消息缓冲机制发送进程和接收进程采用消息缓冲机制进行数据传送时,发送进程在发送消息前,先在自己的内存空间设置一个发送区,把欲发送的消息填入其中,然后再用发送过程将其发送出去。接收进程则在接收消息之前,在自己的内存空间内设置相应的接收区,然后用接收过程接收消息。由于消息缓冲机制中所使用的缓冲区为公用

6、缓冲区,使用消息缓冲机制传送数据时,两通信进程必须满足如下条件:①在发送进程把消息写入缓冲区和把缓冲区挂入消息队列时,应禁止其他进程对该缓冲区消息队列的访问。否则,将引起消息队列的混乱。同理,当接收进程正从消息队列中取消息缓冲时,也应禁止其他进程对该队列的访问。②当缓冲区中无消息存在时,接收进程不能接收到任何消息。至于发送进程是否可以发送消息,则由发送进程是否申请到缓冲区决定。设公用信号量mutex为互斥信号量,其初值为1。设SM为接收进程的私用信号量,表示等待接收的消息个数,其初值为0。设发送进程将消息

7、m送往缓冲区,接收进程将消息m从缓冲区读往自己的数据区,则两个过程可分别描述为:发送消息:begin向系统申请一个消息缓冲区P(mutex)将发送区消息m送入新申请的消息缓冲区把消息缓冲区挂入接收进程的消息队列V(mutex)V(SM)end接收消息:beginP(SM)P(mutex)摘下消息队列中的消息n将消息n从缓冲区复制到接收区释放缓冲区V(mutex)end一般来说,尽管系统中可利用的缓冲区总数是已知的,但由于消息队列是按接收进程排列,因而,在同一时间内,系统中存在着多个消息队列;且这些队列的长

8、度是不固定的。因此,发送进程无法在Send过程用P操作判断信号量。3.7.3邮箱通信邮箱通信就是由发送进程申请建立一个与接收进程链接的邮箱。发送进程把消息送往邮箱,接收进程从邮箱中取出消息,从而完成进程间信息交换。设置邮箱的最大好处就是发送进程和接收进程之间没有处理时间上的限制。且邮箱可考虑成发送进程与接收进程之间的大小固定的私有数据结构。邮箱由邮箱头和邮箱体组成。期中邮箱头描述邮箱名称、邮箱大小、邮箱方向及拥有该邮箱的进程名

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。