HYZ-OS-2013-进程管理-4.ppt

HYZ-OS-2013-进程管理-4.ppt

ID:49464503

大小:252.00 KB

页数:57页

时间:2020-02-05

HYZ-OS-2013-进程管理-4.ppt_第1页
HYZ-OS-2013-进程管理-4.ppt_第2页
HYZ-OS-2013-进程管理-4.ppt_第3页
HYZ-OS-2013-进程管理-4.ppt_第4页
HYZ-OS-2013-进程管理-4.ppt_第5页
资源描述:

《HYZ-OS-2013-进程管理-4.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统(A)北京交通大学计算机学院何永忠副教授第二章:进程管理9/16/20211北京交通大学计算机学院何永忠第二章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程同步问题2.5管程2.6进程通信2.7线程9/16/20212北京交通大学计算机学院何永忠2.6进程通信2.6.1进程通信概念及分类2.6.2消息传递通信实现方式2.6.3消息传递系统实现若干问题9/16/20213北京交通大学计算机学院何永忠进程通信概念为什么要进程通信(Inter-ProcessCommunication

2、-IPC)有进程合作,进程之间就需要信息交换例子1:生产者进程消费者进程例子2:浏览器进程调用word进程通信的难点进程隔离通过虚拟内存实现进程隔离到达了保护进程的目的但是,如何进行大量的数据交换?9/16/20214北京交通大学计算机学院何永忠进程通信概念进程通信的问题信号量也可以用于传递信息每次只能传输1个bit9/16/20215北京交通大学计算机学院何永忠进程通信实现机制实现机制低级进程通信:效率低、不透明(不方便)。高级进程通信:效率高:能传送大量数据对用户透明:进程通信实现细节由操作系统提供,

3、通信程序编制简单9/16/20216北京交通大学计算机学院何永忠进程通信的类型利于存储器系统进行通讯(共享内存)内存隔离:每个进程只能访问自己分配的内存内存共享操作系统可以将同一块物理内存分配给两个或者多个进程。基于共享内存的IPC(本地IPC)基于共享数据结构的通信方式INTBuffer[100]基于共享存储区的通信方式无固定数据格式9/16/20217北京交通大学计算机学院何永忠进程通信的类型利用文件系统进行通讯(管道)文件系统是进程间可共享的数据资源通过文件来实现进程间传送数据是完全可行的。需要考虑的因

4、素:两个进程同时读写文件?数据没有准备好?文件最大大小?写满了怎么办?9/16/20218北京交通大学计算机学院何永忠进程通信的类型管道通信基于文件的方式透明支持协调机制互斥、同步、通信前提管道分类单向、双向匿名(本地)、命名(本地、远程)9/16/20219北京交通大学计算机学院何永忠进程通信的类型利用操作系统内核进行的通讯(消息传递系统)什么是格式化消息数据内容和信封实现消息传递的途径本地:必须通过操作系统内核中转远程:通过操作系统内核和网络中转间接通信方式发送给中间信箱直接通信方式直接发送给接受进程9/

5、16/202110北京交通大学计算机学院何永忠2.6进程通信2.6.1进程通信概念及分类2.6.2消息传递通信实现方式2.6.3消息传递系统实现若干问题9/16/202111北京交通大学计算机学院何永忠消息传递的间接通信方式信箱进程间通信有关共享数据结构的中间实体信箱通信操作原语信箱的创建和撤销由操作系统或用户进程创建或撤销消息的发送和接收Send(mBox,message)Receive(mBox,message)9/16/202112北京交通大学计算机学院何永忠消息传递的间接通信方式信箱分类私有信箱(创建

6、进程可读消息,其他进程可发送消息)公有信箱(操作系统创建公开信箱,所有进程均可使用)共享信箱(创建进程指定可共享该信箱的进程)可实现实时/非实时通信9/16/202113北京交通大学计算机学院何永忠直接通信方式通信原语Send(Receiver,message)Receive(Sender,message)一个接收进程可与多个发送进程通信打印服务进程Sender无法事先指定,故为变参性质基于进程直接通信原语的应用生产者-消费者通信过程9/16/202114北京交通大学计算机学院何永忠基于通信原语的生产者子程序

7、设计producer:Varnextp:item;beginrepeatproduceaniteminnextp;wait(empty);wait(mutex);buffer[in]nextp;in(in+1)modn;signal(mutex);signal(full);untilfalse;endSend(consumer,nextp);9/16/202115北京交通大学计算机学院何永忠基于通信原语的消费者子程序设计consumer:Varnextc:item;beginrepeatwait(fu

8、ll);wait(mutex);nextcbuffer[out];out(out+1)modn;signal(mutex);signal(empty);consumetheiteminnextc;untilfalse;endReceive(producer,nextc);9/16/202116北京交通大学计算机学院何永忠消息缓冲通讯的实现用户态核心态发送进程P1接收进程P2PCB2Send(

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

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

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