进程通信和线程课件.ppt

进程通信和线程课件.ppt

ID:57050728

大小:60.00 KB

页数:21页

时间:2020-07-28

进程通信和线程课件.ppt_第1页
进程通信和线程课件.ppt_第2页
进程通信和线程课件.ppt_第3页
进程通信和线程课件.ppt_第4页
进程通信和线程课件.ppt_第5页
资源描述:

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

1、操作系统深圳大学计算机与软件学院白鉴聪8/30/20211上节回顾哲学家就餐问题记录型信号量会发生死锁AND信号量的应用读者-写者问题记录型信号量的编程,加入if判断信号量集的编程,swait(s,1,0)表示只检查锁不上锁8/30/202122.5进程通信进程的通信:进程之间的信息交换交换少信息量是低级通信,例如信号量机制交换大信息量是高级通信信号量机制实现低级进程通信的缺点效率低,通信的数据量太少不透明,用户需要自己编写交换过程的代码,设置数据结构,控制进程互斥与同步等操作系统只是提供内存空间高级进程通信:定义P65用户直接利用操作系统提供的通信指令高效传送大

2、量数据8/30/202132.5进程通信高级进程通信类型共享存储器,ShareMemory,信息无格式消息传递,MessagePassing,信息有格式管道通信,Pipe,以文件方式8/30/202142.5进程通信共享存储器基于共享数据结构的通信方式生产者-消费者问题中的缓冲池该方式增加程序员负担,OS只须提供共享空间,低效,只能传递少量数据基于共享存储区的通信方式Windows的动态数据交换(DynamicDataExchange,DDE)是一种进程间通信形式。两个程序通过DDE方式交换数据,采用客户/服务器模式,当服务器中的数据发生变化后就会马上通知客户端进

3、行更新8/30/202152.5进程通信消息传递系统:不论是单机系统、多机系统,还是计算机网络,消息传递机制都是用得最广泛的一种进程间通信的机制在消息传递系统中,进程间的数据交换,是以格式化的消息(message)为单位在计算机网络中,又把message称为报文程序员直接利用系统提供的一组通信命令(原语)进行通信操作系统隐藏了通信的实现细节,大大减化了通信程序编制的复杂性,而获得广泛的应用。消息传递分成直接通信方式和间接通信方式两种8/30/202162.5进程通信管道通信:所谓“管道”,是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名pi

4、pe文件。写进程:以字符流形式将大量的数据送入共享文件,即送入管道读进程:从管道中接收数据,即从共享文件中读数据实质采用文件的读写操作,支持大数据量传输8/30/202172.6进程通信管道特点管道只能由使用者进程创建只有创建进程的同族进程(即自己和子孙进程)才能使用管道每次写入或读出的信息长度是可变的因为数据没有来源标志,所以每次数据交换是单向,即每次管道只有一个进程在读取数据,同时只有一个进程在写入数据管道的协调机制互斥:读写不能同时使用管道同步:写完才读,读完才写确认存在:三方握手8/30/202182.5进程通信消息传递通信的实现方法:直接通信和间接通信直

5、接通信方式发送进程利用OS命令,直接把消息发送给目标进程要求发送进程和接收进程显式地提供对方标识符系统提供下述两条通信命令(原语)Send(Receiver,message);Receive(Sender,message);息;例如原语Send(P2,m1):表示将消息m1发送给接收进程P2原语Receive(P1,m1):表示接收由P1发来的消息m18/30/202192.5进程通信直接通信原语解决生产者-消费者问题生产者生产一个产品(消息)后,使用Send原语将消息发送给消费者消费者进程使用Receive原语来得到一个消息如果消息尚未生产出来,消费者必须等待,

6、直至生产者进程将消息发送过来。repeatrepeat…receive(producer,nextc);produceaniteminnextp;…send(consumer,nextp);consumetheiteminnextc;untilfalse;untilfalse;进程的阻塞与唤醒由消息机制内部实现8/30/2021102.5进程通信间接通信方式:需要某种共享数据结构的实体作为中介,一般用信箱(mailbox),间接通信又称为信箱通信信箱可以提供保存信息、核查用户等功能原语:Create(mailbox)、Delete(mailbox)S

7、end(mailbox,message)Receive(mailbox,message)8/30/2021112.5进程通信信箱类型:私用信箱、公用信箱、共享信箱信箱创建者也是信箱的拥有者私用信箱:用户进程创建,随进程结束而消失单向通信,其他用户进程发送信息,信箱拥有者读信息公用信箱:操作系统创建,在系统运行期间始终存在。允许系统中的所有核准进程使用。双向通信,核准进程从信箱中发送或读取给自己消息共享信箱:用户进程创建,指明属于共享类型,同时确定共享名单双向通信,信箱的拥有者和共享者都可以从信箱中发送或读取给自己消息8/30/2021122.5进程通信使用信息通信

8、的发送进程

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

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

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