操作系统原理课件 第四章 并发处理 5 进程通l信 线程.pptVIP

操作系统原理课件 第四章 并发处理 5 进程通l信 线程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统原理课件 第四章 并发处理 5 进程通l信 线程

4.8 进程通信 4.8.1 进程通信的概念 进程通信:即进程间的信息交换。 前面介绍的进程互斥与同步就是一种进程间的通信方式。由于进程互斥与同步交换的信息量较少且效率较低,因此称这两种通信方式为低级通信方式,相应地也将P、V原语称为两条低级进程通信原语。 高级进程通信:进程之间可直接以较高的效率传递较多数据的信息交换方式。该方式采用的是通信机构。 4.8 进程通信 4.8.2 进程通信的类型 高级进程通信方式可分为三大类: (1)共享存储器系统 (2)消息传递系统 (3)管道通信系统 4.8 进程通信 4.8.2 进程通信的类型 (1)共享存储器系统 为了传输大量数据,在存储器中划出一块共享存储区,诸进程可通过对共享存储区进行读或写来实现通信。进程在通信前,应向系统申请建立一个共享存储区,并指定该共享存储区的关键字;若该共享存储区已经建立,则将该共享存储区的描述符返回给申请者。然后,申请者把获得的共享存储区附接到本进程的地址空间上;这样,进程便可以像读写普通存储器一样地读写共享存储区。 4.8 进程通信 4.8.2 进程通信的类型 (2)消息传递系统 在消息传递系统中,进程间的数据交换以消息为单位,程序员直接利用系统提供的一组通信命令(原语)来实现通信。操作系统隐藏了通信的实现细节,大大简化了通信程序编制的复杂性,因而获得了广泛的应用。 4.8 进程通信 4.8.2 进程通信的类型 消息传递系统因其实现方式不同可分为两类: 直接通信方式:发送进程直接把消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上,接收进程从消息缓冲队列中取得消息。 间接通信方式:发送进程把消息发送到某个中间实体中,接收进程从中间实体中取得消息。这种中间实体一般称为信箱,故这种通信方式也称为信箱通信方式。信箱通信方式被广泛应用于计算机网络中,现在称为电子邮件系统。 4.8 进程通信 4.8.2 进程通信的类型 消息缓冲通信是一种直接通信方式,即发送进程直接发送一个消息给接收进程。 消息:是一组信息,是进程之间相互传送的赖以发生交互作用的有结构的数据,通常由消息头和消息正文组成。 在通信时,发送进程利用发送原语向接收进程发送一个消息,而接收进程则采用接收原语接收来自发送进程的一个消息。发送原语的主要工作是申请分配一个消息缓冲区,然后将消息正文传送到该缓冲区中,并向缓冲区中填写消息头,再将该消息缓冲区挂到接收进程的消息链上。接收原语的主要工作是把消息链上的消息逐个读入到接收进程的接收区中并进行处理。 4.8 进程通信 4.8.2 进程通信的类型 信箱通信是一种间接通信方式。信箱是一种数据结构,其中存入信件。当一个进程(发送进程)要与另一个进程(接收进程)通信时,可由发送进程创建一个链接两个进程的信箱,通信时发送进程只需把它的信件投入信箱,接收进程就可以在任何时候取走信件而不会丢失。 信箱逻辑上分成信箱头和信箱体两部分。信箱头中存放有关信箱的描述。信箱体由若干格子组成,每格存放一封信件,格子的数目和大小在创建信箱时确定。信件的传递可以是单向的,也可以是双向的。 4.8 进程通信 4.8.2 进程通信的类型 (3)管道通信系统 管道是用于连接读进程和写进程以实现它们之间通信的共享文件,向管道提供输入的发送进程(即写进程)以字符流形式将大量的数据送入管道,而接收管道输出的的接收进程(即读进程)可以从管道中接收数据。 1、线程定义 引入进程的目的:使多个程序并发执行,以改善资源利用率及提高系统吞吐量。 引入线程的目的:为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。现代操作系统中,进程只作为资源拥有者,而调度和运行的属性赋予新的实体——线程。 线程(Thread)是进程中实施调度和分派的基本单位。 4.9 线程 4.9.1 线程的概念 4.9 线程 4.9.1 线程的概念 线程的定义与进程的定义情况类似,存在多种不同的说法。以下是对线程的各种不同的定义: (1)线程是进程内的一个执行单元。 (2)线程是进程内的一个可调度实体。 (3)线程是程序(或进程)中相对独立的一个控制流序列。 (4)线程是执行的上下文,其含义是执行的现场数据和其他调度所需的信息。 (5)线程是进程内的一个相对独立的、可调度的执行单元。 4.9 线程 4.9.1 线程的概念 2、线程与进程的主要区别: (1)调度方面。在传统的操作系统中,拥有资源和独立调度的确基本单位都是进程。而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程切换。在不同的进程中进行线程切换,将会引起进程切换。 (2)拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有系统资源(只有一

文档评论(0)

1haodian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档