进程通信和线程课件

上传人:我*** 文档编号:145242052 上传时间:2020-09-18 格式:PPT 页数:21 大小:60KB
返回 下载 相关 举报
进程通信和线程课件_第1页
第1页 / 共21页
进程通信和线程课件_第2页
第2页 / 共21页
进程通信和线程课件_第3页
第3页 / 共21页
进程通信和线程课件_第4页
第4页 / 共21页
进程通信和线程课件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《进程通信和线程课件》由会员分享,可在线阅读,更多相关《进程通信和线程课件(21页珍藏版)》请在金锄头文库上搜索。

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

2、65 用户直接利用操作系统提供的通信指令 高效传送大量数据,2020/9/18,4,2.5 进程通信,高级进程通信类型 共享存储器,Share Memory,信息无格式 消息传递,Message Passing,信息有格式 管道通信,Pipe,以文件方式,2020/9/18,5,2.5 进程通信,共享存储器 基于共享数据结构的通信方式 生产者-消费者问题中的缓冲池 该方式增加程序员负担,OS只须提供共享空间,低效,只能传递少量数据 基于共享存储区的通信方式 Windows的动态数据交换 (Dynamic Data Exchange,DDE)是一种进程间通信形式。 两个程序通过DDE方式交换数据

3、,采用客户/服务器模式,当服务器中的数据发生变化后就会马上通知客户端进行更新,2020/9/18,6,2.5 进程通信,消息传递系统:不论是单机系统、多机系统,还是计算机网络,消息传递机制都是用得最广泛的一种进程间通信的机制 在消息传递系统中,进程间的数据交换,是以格式化的消息(message)为单位 在计算机网络中,又把message称为报文 程序员直接利用系统提供的一组通信命令(原语)进行通信 操作系统隐藏了通信的实现细节,大大减化了通信程序编制的复杂性,而获得广泛的应用。 消息传递分成直接通信方式和间接通信方式两种,2020/9/18,7,2.5 进程通信,管道通信:所谓“管道”,是指用

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

5、20/9/18,9,2.5 进程通信,消息传递通信的实现方法:直接通信和间接通信 直接通信方式 发送进程利用OS命令,直接把消息发送给目标进程 要求发送进程和接收进程显式地提供对方标识符 系统提供下述两条通信命令(原语) Send(Receiver, message); Receive(Sender, message); 息; 例如 原语Send(P2, m1):表示将消息m1发送给接收进程P2 原语Receive(P1,m1):表示接收由P1发来的消息m1,2020/9/18,10,2.5 进程通信,直接通信原语解决生产者-消费者问题 生产者生产一个产品(消息)后,使用Send原语将消息发送

6、给消费者 消费者进程使用Receive原语来得到一个消息 如果消息尚未生产出来,消费者必须等待,直至生产者进程将消息发送过来。 repeat repeat receive(producer, nextc); produce an item in nextp; send(consumer, nextp); consume the item in nextc; until false; until false; 进程的阻塞与唤醒由消息机制内部实现,2020/9/18,11,2.5 进程通信,间接通信方式: 需要某种共享数据结构的实体作为中介,一般用信箱(mailbox),间接通信又称为信箱通信 信

7、箱可以提供保存信息、核查用户等功能 原语: Create (mailbox)、Delete (mailbox) Send(mailbox, message) Receive(mailbox, message),2020/9/18,12,2.5 进程通信,信箱类型:私用信箱、公用信箱、共享信箱 信箱创建者也是信箱的拥有者 私用信箱: 用户进程创建,随进程结束而消失 单向通信,其他用户进程发送信息,信箱拥有者读信息 公用信箱: 操作系统创建,在系统运行期间始终存在。 允许系统中的所有核准进程使用。 双向通信,核准进程从信箱中发送或读取给自己消息 共享信箱: 用户进程创建,指明属于共享类型,同时确定

8、共享名单 双向通信,信箱的拥有者和共享者都可以从信箱中发送或读取给自己消息,2020/9/18,13,2.5 进程通信,使用信息通信的发送进程和接收进程关系 一对一关系:一个发送进程,一个接收进程 建立一条两者专用的通信链路,不受其他进程干扰 多对一关系:多个发送进程,一个接收进程 多个用户进程发送服务请求,一个提供服务器进程提供服务;称为客户/服务器交互(client/server interaction) 一对多关系:一个发送进程,多个接收进程 发送进程采用广播方式向多个接收者发送消息 多对多关系。多个发送进程,多个接收进程 建立一个公用信箱,让多个进程都能向信箱中投递消息;也可从信箱中取

9、走属于自己的消息。,2020/9/18,14,2.5 进程通信,消息传递系统实现的关键问题 通信链路、消息格式 通信链路(communication link) 显式建立:用命令或原语请求系统建立通信链路;使用完后,也用命令或原语拆除。 主要用于计算机网络 自动建立:无须明确提出建立链路的请求,发送进程只须利用系统提供的发送命令(原语),系统会自动地建立一条链路。主要用于单机系统,2020/9/18,15,2.5 进程通信,链路类型 点点连接:一条链路只连接两个结点(进程) 多点连接:一条链路连接多个(n2)结点(进程) 单向链路、双向链路 消息的格式 定长格式:比较短,减少了对消息的处理和存

10、储开销 可变长格式:系统付出更多的开销,但方便了用户 两种格式各有优缺点,很多系统都同时使用,2020/9/18,16,2.5 进程通信,消息同步方式 发送进程阻塞、 接收进程阻塞 两者间无缓冲,有消息就立刻传递,无消息则同时阻塞 发送进程不阻塞、 接收进程阻塞 接受进程在有消息才被唤醒,常用于C/S模式 发送进程和接收进程均不阻塞 两者间联系着消息队列,只有队列满或队列空才发生阻塞,2020/9/18,17,2.5 进程通信,2.5.4 消息缓冲队列通信机制(自学),2020/9/18,18,2.6 线 程,进程的不足 为使程序能并发执行,系统必须进行以下一系列操作: 1) 创建进程;2)

11、撤消进程;3) 进程切换 进程同时作为资源分配单位与调度分派单位,限制了并发程度的进一步提高。 传统进程设计的OS不适合SMP结构的计算机。 进程“太重” 分割进程功能,引入线程,2020/9/18,19,2.6 线 程,线程 每个进程包含多个线程 线程作为利用CPU的基本单位,是花费开销最小的实体 线程的属性特点 轻型实体 独立调度和分派的基本单位 可并发执行 共享进程资源 线程的TCB、参数、状态、控制,2020/9/18,20,2.6 线 程,进程与线程的关系 进程作为分配和拥有系统资源的基本单位 进程可以包含多个线程,为它们提供资源 进程就不再作为一个执行的实体 线程属于某个特定进程,

12、进程的执行实质是它的某个线程执行 在Windows中的进程与线程 每个windows进程开始于它的被默认创建的第一个线程, 通常称其为主线程 从线程的角度看, 进程表现的更像一个容器: 进程为线程提供主体(执行代码+数据) 进程自己没有运行的概念 进程是静态的实体,2020/9/18,21,第二章总结,前趋图:画图、信号量编程 进程的结构特征和三个特性、定义,P37-38 进程状态:带挂起的状态图P39 状态之间的资源区别,状态转换使用的原语 进程控制块PCB:进程存在的唯一标志 包含的四方面信息 P41-42 进程控制:创建、终止、阻塞唤醒、挂起激活等操作,它们对PCB、内存、硬盘的操作 进程同步:主要任务 P47,同步机制四原则 P50 四种信号量特点 生产者-消费者问题:记录型信号量AND信号量的编程 读者-写者问题:信号量集的编程 高级进程通信:定义P65,三种通信类型,特点 线程属性:轻型实体、独立调度和分派的基本单位、共享进程资源,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号