第2章进程的描述与控制(下)解读.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 二、信箱通信(间接通信) 进程之间传送消息时需要借助于一个中间媒体,即信箱来进行,因此称之为间接通信方式。 1.信箱的数据结构 间接通信所利用的信箱是一种数据结构,它由信箱头和信箱体两部分组成。 其中:信箱头是对信箱的描述,信箱头包括如下信息: 信箱标识符 信箱大小 已存放的信件数 等信箱队列的首指针 等信件队列的首指针 信箱体由若干格子组成,每一个格子可以存放一个信件。 信箱格子的大小和数量在信箱创建时确定。 * 2.发送原语和接收原语 (1)发送原语的形式为:send(B,M) 其中:B为信箱的标识符,M为信件的存放地址。 发送原语的执行过程:根据参数B找到指定的信箱,若信箱未满,则将信件M送入信箱由指针所指示的位置,信件数加1,并释放等信件的进程;否则,发送进程被阻塞,并将其插入等信箱队列。 (2)接收原语的形式为:receive(B,M) 其中:B为信箱的标识符,M为信件的存放地址。 接收原语的执行过程:根据参数B找到指定的信箱,若信箱有信件,则取出第一封信送到M所指定的区域,信件数减1,并将信箱中剩余的信件顺次前移,若有等信箱的进程,则将其唤醒;若信箱中无信件,则接收进程被阻塞,并将其插入等信件队列。 * 信箱可以由操作系统创建,也可以由用户创建,创建者是信箱的拥有者。因此,可以根据创建者的不同将信箱分为: 私用信箱 公用信箱 共享信箱 发送 接收 信箱头 格 子 1 格 子 2 格 子 3 ┅ A B 发送进程 接收进程 信箱体 * 3.信箱分类 信箱种类 创建者 通信方式 实现 生命期 私用 用户 拥有者读取,其它用户只能发送 单向通 信链路 用户结束 则消失 公用 OS 可发送 可读取 双向通 信链路 OS运行期 始终存在 共享 进程 拥有和共享者可读取,其它只能发送 双向 进程结 束终止 * 4.信箱通信发送和接收对应关系 发送 接收 专用:一对一;不干扰 发送 接收 一对多;广播方式 发送 接收 多对一;C/S(客户/服务) 发送 接收 多对多;公用信箱 * §2.7 线程 一、什么是线程 进程的概念和结构是传统操作系统工作的基础。但是,随着计算机体系结构从早期的单处理机结构发展到目前的多处理机结构,在多任务的环境中,为了减少处理机的空转时间以及处理机调度切换时的时间和空间开销,提高系统的并行能力,因此产生了更小的控制单位:线程。 线程:进程内的一个基本调度单位。或者,进程内的一个执行体。 线程又称为轻型进程,这是因为线程的执行环境很小,负担也很小。 * 二、引入线程的原因 进程和线程是构造操作系统的两个基本元素,可以从两者的异同中进一步理解线程的概念。 1)进程是资源分配的基本单位。 在引入线程的操作系统中,进程不再是处理机调度的基本单位,而是系统资源分配的基本单位,所有与该进程有关的资源,例如打印机,输入缓冲队列等,都被记录在进程控制块PCB中。以表示该进程拥有这些资源或正在使用它们。不同的进程拥有不同的虚拟地址空间。 线程成为系统处理机调度的基本单位。 线程是处理机调度的基本单位,并发执行的各线程之间竞争处理机,真正在处理机上运行的是线程。线程与资源分配无关,它属于某一个进程,并与进程内的其它线程一起在进程的地址空间中活动,共享进程的资源。 * 线程所涉及的执行环境小,从而其调度切换时所需要的系统开销也小。当进程发生切换时将涉及到有关资源指针的保存和地址空间的变化等问题,而线程切换时,由于同一进程内的多个线程共享进程的地址空间和资源,不会涉及到资源信息的保存和地址变化的问题,从而减少了系统管理的开销。 并且,进程的调度与切换均是由操作系统内核完成,而线程的调度与切换则既可以由操作系统内核完成,也可以由用户程序控制。 2)线程管理减少了系统管理的开销。 线程的执行环境除了自体堆栈寄存器以及线程控制表TCB外,共享其所属进程的资源。也就是说进程中的多个线程在同一进程地址空间中活动。因此,系统无须专门对线程空间进行管理,线程间的同步与通信也可以因此而大大简化。 * 3)线程是进程的一个组成部分。 进程可以包含一个或者多个线程,而且至少包含一个可执行的线程,进程的活动就是以其所属线程的活动来体现。 三、线程结构与线程控制块TCB 线程控制块TCB 执行堆栈 程序计数器 通用寄存器组状态标记 线程 * 单进程 多线程 单进程 单线程 线程标识 线程号 处理机状态信息(现场) 通用寄存器 指令计数器 程序状态字 栈指针 线程调度信息 线程状态 线程优先数

您可能关注的文档

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档