华科电信系操作系统教程Chapter3节.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文档。上传文档
查看更多
撤消进程 进程完成其任务,希望终止时,调用撤消进程的系统调用(进程撤消原语)撤消进程。 在一般操作系统中进程撤消的系统调用是:kill UNIX系统中是exit()。 引起进程撤销的事件 正常结束。 异常结束。 外界干预。 撤消进程 两种策略: 仅撤销指定标识符的进程; 撤销一个子进程及该子进程的所有子孙。 撤消进程 根据撤销进程标识号,从相应队列中找到它的PCB 将该进程拥有的资源归还给父进程或操作系统 若该进程拥有子进程,应先撤销元的所有子孙进程,以防它们脱离控制 被撤销进程出队,将它的PCB归还到PCB池 进程的阻塞和唤醒 引起进程阻塞和唤醒的事件 请求系统服务。 启动某种操作并等待操作完成。 等待合作进程的协同配合。 系统进程无新工作可做。 进程的阻塞和唤醒 进程阻塞过程 停止当前进程的执行;保存该进程的CPU现场信息;将进程状态改为阻塞态,并将其PCB入相应的阻塞队列;转进程调度程序。 进程唤醒过程 首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。 进程切换 进程切换:中断处于运行态的进程运行,让出处理器,恢复新进程的状态,使新进程投入运行。 当系统调度新进程占有处理器时,新老进程随之发生上下文切换。 进程的运行被认为是在进程的上下文中执行的。 进程上下文:操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文(context)。进程实体+运行环境。 进程切换 进程上下文组成: 用户级上下文:由用户程序块、用户数据块和用户堆栈组成的进程地址空间。 系统级上下文:又进程控制块、内存管理信息、进程环境块,及系统堆栈等组成的进程地址空间。 寄存器上下文:由PSW寄存器和各类控制寄存器、地址寄存器、通用寄存器组成、用户栈指针等组成。 进程切换 进程切换步骤: 保存被中断进程的处理器现场信息 修改被中断进程的进程控制块的有关信息,如进程状态等 把被中断进程的PCB加入有关队列 选择下一个占有处理器运行的进程 修改被选中进程的PCB的有关信息 根据被选中进程设置操作系统用到的地址转换和存储保护信息 根据被选中进程恢复处理器现场 改变优先级数原语 进程的优先级数是表示进程的重要性及运行的优先级,进程调度程序以此来确定优先调用哪一个进程到处理机上运行。 为防止一些进程因优先数太低而长期不能运行,许多系统采用动态优先数。 影响优先数的因素 作业开始时的静态优先数 过程的类型 过程所使用的资源量 在系统中的等待时间 6. 操作系统代码的执行 通常,OS核心不是一个进程,其执行不被调度。 OS通过中断方式获得CPU控制权。 OS与应用程序的切换会引起两个开关的变化: CPU执行模式开关:开销小 存取PSW和模式改变指令 进程间开关:开销大 进程地址空间变换 维护PCB信息 核心态 运行 系统调用或中断(含模式切换) 用户态 运行 等待 状态 就绪 状态 等待发生事件 唤醒 调度进程 中断、中断返回 运行状态 允许进程切换 6. 操作系统代码的执行(续) OS和进程的关系: OS不作为进程地址空间的一部分:传统方法。 OS作为进程地址空间的一部分:如UNIX OS功能分别在核心和系统服务进程中,只有OS核心作为进程地址空间的一部分:如Windows NT 7 Windows NT进程管理举例 NT的进程作为对象(Object),以句柄(handle)来引用。相应地有控制对象的服务(services)。 进程对象的属性;PID, Access Token, Base Priority, 默认处理器集合等 1. 概述 7.1 NT的进程关系 对NT核心而言,进程之间没有任何关系(包括父子关系)。那么,如何表达UNIX进程之间的父子关系(以及其他关系)?由POSIX子系统来建立和维护 7.2 NT进程结构 7.3. 进程控制 创建:CreateProcess()函数用于创建新进程及其主线程,以执行指定的程序。 新进程可以继承:打开文件的句柄、各种对象(如进程、线程、信号量、管道等)的句柄、环境变量、当前目录、原进程的控制终端、原进程的进程组(用于发送Ctrl+C或Ctrl+Break信号给多个进程)--每个句柄在创建或打开时能指定是否可继承; 新进程不能继承:优先权类、内存句柄、DLL模块句柄 CREATE_NEW_CONSOLE表示新进程有一个新的控制台 CREATE_NEW_PROCESS_GROUP表示新进程是一个新的进程组的根。 退出:ExitProcess()或TerminateProcess(),则进程包含的线程全部终止; ExitProcess()终止一个进程和它的所有线程;它的终止操作是完整的,包括关闭所有对象句柄、它的

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档