第二章 进程描述及控制(续).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文档。上传文档
查看更多
第二章 进程描述与控制 2.1 程序执行 2.2 进程(PROCESS) 2.3 进程控制 2.4 线程(THREAD) 2.3 进程控制 2.3.1 进程控制的功能 2.3.2 进程的创建和退出 2.3.3 NT线程的挂起和激活 2.3.1 进程控制的功能 处理机两种状态 系统态:又称核心态,具有较高特权,能执行一切指令,访问所有寄存器和存储区 用户态:较低特权,只能执行规定的指令,访问指定的寄存器和存储区 通常用户程序运行在用户态,不能执行OS指令和访问OS区域。OS运行在系统态,进程控制是由OS内核实现。 操作系统内核 OS功能分别设置在不同层次。通常将一些与硬件紧密相关的模块诸如中断处理程序,各种常用设备的驱动程序,以及运行频率较高的模块(如时钟管理,进程调度,许多模块公用的一些基本操作)都安排在紧靠硬件的软件层次中,其常驻内存,并对它们加以特殊保护。 它是计算机硬件的第一层扩充软件。 不同OS内核所包含的功能不尽相同 内核功能 支撑功能 中断处理 时钟管理 原语操作 资源管理功能 进程管理 存储器管理 设备管理 2.3.2 进程的创建和退出 1、创建 引起创建进程的事件: 由系统内核创建: 用户登陆 作业调度 提供服务 由父进程创建: 应用请求 父进程与子进程 继承(inherit):子进程可以从父进程中继承用户标识符、环境变量、打开文件、文件系统的当前目录、控制终端、已经连接的共享存储区、信号处理例程入口表等 进程创建过程creat() 申请空白PCB 为新进程分配资源 初始化进程控制块 初始化标识符信息 初始化处理机状态信息 初始化处理机控制信息 将新进程插入就绪队列 2. 撤销/终止 也称为“终止”或主程序返回:调用exit()可终止进程。 引起终止的事件: 正常结束 异常结束 越界错误 保护错 特权指令错 非法指令错 运行超时 等待超时 运算错 I/O故障 外界干预:操作员或操作系统干预;父进程干预;父进程终止 撤销过程 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,读出其状态 若该进程为执行状态,立即终止,设置调度标志为真 若有子孙进程,将其子孙进程终止 将全部资源归还父进程或系统 释放内外存空间 关闭所有打开文件 释放共享内存段和各种锁定lock 从所在队列移出 撤销原语流程图 进程的阻塞与唤醒 引起阻塞与唤醒的事件 请求系统服务 启动某种操作 新数据还未到达 无新工作可作 阻塞过程:是进程自身的一种主动行为 唤醒过程:由外进程唤醒 进程阻塞原语 block() 唤醒原语wakeup() 进程的挂起与激活 挂起过程:检查被挂起进程的状态,若正处于活动就绪状态,将其改为就绪挂起,若处于活动阻塞,该为阻塞挂起。并把该进程的PCB复制到指定内存区域 激活: 当发生激活进程的事件,如用户进程或父进程请求激活指定进程,若驻留在外存而内存有足够的空间,可将外存上处于就绪挂起状态的进程换如内存,系统利用激活原语active()将指定进程激活。 2.4 线程(THREAD) 2.4.1 线程的引入 2.4.2 进程和线程的比较 2.4.3 NT线程的挂起和激活 2.4.1 线程的引入 进程:资源分配单位(存储器、文件)和CPU调度(分派)单位。又称为任务(task) 线程:作为CPU调度单位,而进程只作为其他资源分配单位。 只拥有必不可少的资源,如:线程状态、寄存器上下文和栈 同样具有就绪、阻塞和执行三种基本状态 线程的优点:减小并发执行的时间和空间开销(线程的创建、退出和调度),因此容许在系统中建立更多的线程来提高并发程度。 线程的创建时间比进程短; 线程的终止时间比进程短; 同进程内的线程切换时间比进程短; 由于同进程内线程间共享内存和文件资源,可直接进行不通过内核的通信; OS对线程的实现方式 内核维护进程和线程的上下文信息; 线程切换由内核完成; 一个线程发起系统调用而阻塞,不会影响其他线程的运行。 时间片分配给线程,所以多线程的进程获得更多CPU时间。 用户线程(user-level thread) 用户线程的维护由应用进程完成; 内核不了解用户线程的存在; 用户线程切换不需要内核特权; 用户线程调度算法可针对应用优化; 用户级线程和内核支持线程 比较两种线程的优缺点 : 1.线程的调度与切换速度:内核支持线程的调度和切换与进程的调度和切换十分相似。 2.系统功能调用:当传统的用户进程调用一个系统功能调用时,要由用户态进入核心态,用户进程将被阻塞。当内核完成系统调用而返回时,才将该进程唤醒,继续执行。 3.线程执行时间 :对于只设置了用户级线程的系统,调度是以进程为单位进行的。在采用轮转调度算法时,各个进程轮流执行一个时间片,这对诸进程而言似乎是公平

文档评论(0)

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

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

1亿VIP精品文档

相关文档