CH2 进程管理5.pptVIP

  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文档。上传文档
查看更多
CH2 进程管理5.ppt

计算机操作系统 1.直接方式: 进程在发送和接收消息时直接 指明接收者或发送者进程ID。 用消息传递机制解决 生产者-消费者问题 repeat … produce an item in nextp; … send(consumer,nextp); until false; repeat receive (producer,nextc); … consume the item in nextc; until false; 2.间接方式: 发送进程发消息时不指定接收进程的名字,而是指定一个中间媒介,即信箱。进程间通过信箱实现通信. 发送原语:send(mailbox,Message) 接收原语:receive(mailbox,Message) 间接通信的实现 信箱是存放信件的存储区域,每个信箱可分成信箱特征和信箱体两部分。 信箱特征指出信箱容量、信件格式、指针等;信箱体用来存放信件. 间接通信的实现 发送信件: 如果指定信箱未满,则将信件送入信箱中由指针所指示的位置,并释放等待该信箱中信件的等待者;否则发送信件者被置成等待信箱状态 间接通信的实现 接收信件: 如果指定信箱中有信,则取出一封信件,并释放等待信箱的等待者,否则接收信件者被置成等待信箱中信件的状态 2.6.3有关消息传递实现的若干问题 通信链路 消息的格式 进程同步方式 2.消息的格式 单机系统中信件的格式可以分直接信件(又叫定长格式)和间接信件(又叫变长格式)。 网络环境下的信件格式较为复杂,通常分成消息头和消息体,前者包括了发送者、接收者、消息长度、消息类型、发送时间等各种控制信息;后者包含了消息内容。 3.进程同步方式 发送进程阻塞、接收进程阻塞 发送进程不阻塞、接收进程阻塞 发送进程、接收进程均不阻塞 1.消息缓冲通信涉及的数据结构 ????消息缓冲区 sender:消息的进程名或标识符 ???? size:消息长度 ?? text:消息正文 ?? ?next-ptr:指向下一个消息缓冲区的指针 2.发送原语 ?发送原语send: 申请一个消息缓冲区,把发送区内容复制到这个缓冲区中;找到接收进程的PCB,执行互斥操作P(mutex);把缓冲区挂到接收进程消息队列的尾部,执行V(sm) 、即消息数加1;执行V(mutex) 。 3.接收原语 ?接收原语 receive: 执行P(sm) 查看有否信件;执行互斥操作P(mutex) ,从消息队列中摘下第一个消息,执行V(mutex) ;把消息缓冲区内容复制到接收区,释放消息缓冲区。 消息缓冲通信过程 2.7 线程及其实现 2.7.1 线程的基本概念 2.7.2 线程间的同步和通信 2.7.3 内核支持线程和用户级线程 2.7.4 线程控制 1 线程的引入 ?进程切换开销大 ?进程通信代价大 ?进程间的并发性力度较粗,并发度不高 ?不适合并行以及分布并行计算要求 ?不适合客户/服务器计算的要求。 操作系统中引入进程的目的是为了使多个程序并发执行,以改善资源使用率和提高系统效率。 操作系统中再引入线程,则是为了减少程序并发执行时所付出的时空开销,使得并发粒度更细、并发性更好。 ?把进程的两项功能--“独立分配资源”与“被调度分派执行”分离开来, ?进程作为系统资源分配和保护的独立单位,不需要频繁地切换; ?线程作为系统调度和分派的基本单位,能轻装运行,会被频繁地调度和切换,在这种指导思想下,产生了线程的概念。 MS-DOS支持单用户进程,进程是单线程的; 传统UNIX支持多用户进程,进程是单线程的。 很多著名操作系统都支持多线程(结构)进程,如:Solaris 、OS/390、OS/2、WindowNT等; JAVA的运行引擎则是单进程多线程的例子。 多线程OS中进程的定义 进程是操作系统中进行保护和资源分配的基本单位。它具有: ?一个虚拟地址空间,用来容纳进程的映像; ?对处理器、其他(通信的)进程、文件和I/O资源等的存取保护机制。 ? 多线程环境中的线程概念 线程是操作系统进程中能够独立执行的实体(控制流),是处理器调度和分派的基本单位。线程是进程的组成部分,每个进程内允许包含多个并发执行的实体(控制流),这就是多线程。 (1)调度 在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程。而在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位,使传统进程的两个属性分开,线程便能轻装

文档评论(0)

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

1亿VIP精品文档

相关文档