操作系统(第2版)孟庆昌-牛欣源-编著--课件--第二章-进程和线程.pptVIP

操作系统(第2版)孟庆昌-牛欣源-编著--课件--第二章-进程和线程.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文档。上传文档
查看更多
操作系统讲义 第2章 进程和线程 2.1 进 程 概 念 2.1.1 多道程序设计 1.顺序程序活动的特点 顺序性 封闭性 可再现性 2.多道程序设计 提高系统资源利用率,增加作业吞吐量,增加系统的复杂性。 (参见上一章单道和多道程序设计示意图) 3.程序并发执行的特征 失去封闭性 程序与计算不再一一对应 并发程序在执行期间相互制约 2.1.2 进程概念 1.进程概念的引入 用程序无法表示程序并发执行过程。 2.进程概念 进程具有动态性和并发性的属性 进程定义:程序在并发环境中的执行过程 进程和程序的区别 进程是动态的,程序是静态的 进程具有并发性,宏观上同时运行;程序本身具有顺序性,程序的并发执行是通过进程实现的 程序和进程无一一对应关系 进程异步前进,会相互制约,程序不具备此特性 进程具有独立性,是一个能独立运行的单位 是系统资源分配的基本单位 是运行调度的基本单位 3.进程的基本特征 (1)动态性 (2)并发性 (3)调度性 2.2 进程的状态和组成 2.2.1 进程的状态及其转换 1.进程的基本状态 运行期间可能的情形: 运行状态(Running)分到CPU 就绪状态(Ready) 只等分到CPU 阻塞状态(Blocked )等待某种事件发生 增加两种基本状态 新建状态(New)——进程创建 终止状态(Terminated)—— 进程终止 2.进程状态的转换 2.2.2 进程描述 1.进程映像(image) 用户地址空间内容 硬件寄存器内容 与该进程有关的数据结构 UNIX S_5进程映像 用户级context 寄存器context 系统级context 2.进程控制块 由进程的描述信息和控制信息构成 反映进程动态特性 作为系统对进程施行识别和控制的依据 进程控制块组成 进程名 特征信息 进程状态信息 调度优先权 通信信息 现场保护区 资源需求 进程实体信息 进程族系关系 其他信息 3.进程控制块作用 每个进程有唯一进程控制块 操作系统根据PCB对进程实施控制和管理,记录进程动态、并发等运行特征 PCB是进程存在唯一标志 2.2.3 进程队列 操作系统以队列方式管理进程。主要有线性方式、链接方式和索引方式 。 1.线性方式:空间固定、查找费时 2.链接方式 3.索引方式:空间整齐、容易维护 图2-6 PCB索引结构示意图 2.3 进 程 管 理 2.3.1 进程图 进程图(Process Graph) 描述进程族系关系的有向树 2.3.2 进程创建 创建新进程的时机 调度新的批作业 交互式用户登录 操作系统提供服务 现有进程派生新进程 2.3.3 进程终止 (1)正常终止 进程完成工作 (2)异常终止 进程运行中出现某些错误或故障 (3)外部干扰 本进程之外的强行干预 如:调用exit()实现进程终止。 终止进程的主要操作过程 找到指定进程PCB 终止该进程的运行 回收该进程所占用的全部资源 终止其所有子孙进程,回收所占用的全部资源 将终止进程PCB从原来队列中删除 2.3.4进程阻塞 进程阻塞的过程如下: 立即停止当前进程的执行 当前进程的CPU现场保存 当前状态由运行变为阻塞 执行进程调度程序 阻塞原因 该进程执行I/O指令 该进程等待信号或数据等 该进程执行系统调用。 如调用wait()令本进程阻塞。 2.3.5 进程唤醒 唤醒原语执行过程: ① 把阻塞进程从对应的阻塞队列中删除 ② 将当前状态变为就绪状态,然后把该进程插入就绪队列 ③ 执行进程调度程序 进程唤醒时机 该进程的I/O指令执行完毕 该进程等待的信号或数据等到来 该进程的系统调用执行完毕 UNIX/linux系统中,父进程创建子进程C程序 void main() { int pid; pid = fork(); /* fork another process */ if (pid 0) { /* error occurred */ fprintf(stderr, Fork Failed); exit(-1); } else if (pid == 0) { /* child process */ execlp( /bin/ls, ls,NULL); } else { /* parent process */

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档