章2进程控制与同步2.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进程控制与同步2

山东农业大学计算机系 上次问题 “无序”并发的运行特征? 进程是什么?进程三种基本状态是什么?运行中如何有序转换的? PCB是什么?包含什么信息,请列举一些?系统如何组织所有的PCB? 本次问题 操作系统通过PCB进行进程创建、终止、阻塞的过程如何; 如何理解进程同步的含义; 控制同步的关键在哪里。 第2章 进程管理 2.1 进程基本概念 2.2 进程控制 2.3 进程同步、管程 2.4 经典进程同步问题 2.5 进程通信 2.6 线程 2.2 进程控制 进程控制的基本过程: 进程的创建 进程的终止 进程的阻塞与唤醒 进程的挂起和激活 关于进程的亲属关系 系统中运行的进程并不都是孤立的,有的进程运行后,会调用其他进程来执行,这样就组成了进程间的父子关系。 可用 “进程图”描述一个进程的家族关系,该图实际就是一种有向树。 进程树示例 * 感受进程及进程树 “运行”——输入“cmd”,启动命令行控制台 在cmd窗口输入“notepad”启动记事本。 现在进程“cmd.exe”和进程“notepad.exe”就组成了一个进程树,后者为子进程,前者为父进程。 用“任务管理器”在“进程”页,右击cmd.exe选择“结束进程树”。则记事本子进程也会结束。 一些木马服务端程序运行后会同时生成两个木马进程,这两个进程互相监控、互相保护。对此类木马,我们就可以分别对两个木马进程尝试使用“结束进程树”命令。 *还可用ProcessExplorerNt查看进程的父子关系 进程间的父子关系关系着资源的继承。创建和撤销进程时,其父、子进程要相应的被影响。 下面通过进程生命周期,了解操作系统如何利用PCB进行基本的进程控制? 1.进程的创建 1)一个进程创建另一进程的事件(原因) 用户登录:分时情况下用户的请求 作业调度:批处理中 提供服务:运行中的用户程序提出功能请求,要创建服务进程(如打印服务) 应用请求:应用程序自己创建进程,完成特定功能的新进程。(木马程序) 2)创建过程? (1) 申请空白PCB (2) 为新进程分配资源 主要是内存资源的处理 (3) 初始化进程控制块 标识符(包括父进程的)、程序计数器指向程序入口地址,就绪态、优先级等信息的填写。 (4) 将新进程插入就绪队列 上述过程很关键,不能被打断!!! 原语是由若干指令构成的原子操作过程,作为整体实现功能,不可被打断。 OS通过调用进程创建原语Creat()创建新进程。 其他各控制工作也都是由OS内核以“原语”的方式实现,以保证不被打断。 2.进程的终止 1)引起进程终止的事件 正常结束 异常结束 内存越界错误 保护错(权限错,如修改只读文件等) 非法指令(不存在的指令,程序异常转向而把数据当指令) 特权指令错(用户态程序试图执行只有OS可执行的指令) 运行超时、运算错、i/o故障等 外界干预 操作员或操作系统干预(死锁时,可人为结束) 父进程请求终止子进程 父进程终止,子孙进程也跟着终止 2)终止过程 对上述事件,OS调用内核终止原语,执行下列过程: (1) 根据进程标示符,检索出该进程PCB,读其状态。 *IF 执行态,立即终止该进程,置调度标志为真,指示重新进行调度。 *IF 有子孙进程,亦应予以终止,以防成为不可控进程。 (2) 归还全部资源至其父进程或系统。 (3) 将该进程PCB从所在队列或链表中移出。 3.进程的阻塞与唤醒 1)引起进程阻塞和唤醒的事件 请求系统服务的满足情况 启动某种需等待(I/O)操作 合作需要的新数据尚未到达 执行某功能的进程暂时无新工作可做(如发送数据进程) 2)阻塞和唤醒过程 由进程调用阻塞原语阻塞自己,是主动行为: (1)将PCB中的状态改为阻塞 (2)该PCB加入到阻塞队列中 (3)转进程调度,将处理机分配给另一进程 (4)进行进程切换,即根据两切换进程的PCB,保护与重新设置处理机状态。 阻塞与唤醒原语作用相反,成对使用 阻塞进程等待的事件发生时,有关进程(如放弃该资源的进程)调用唤醒原语把等待该事件的进程唤醒。 (1)把阻塞进程从等待该事件的阻塞队列中移出 (2)将其PCB中的现行状态改为就绪 (3)将PCB插入到就绪队列中。 4.进程的挂起与激活 挂起原语将指定进程或阻塞进程挂起。 (1)检查被挂起进程的状态,活动就绪则改为静止就绪,活动阻塞则改为静止阻塞 (2)将该PCB复制到内存(方便检查)/外存(对换)指定区域 (3)*若挂起的进程是执行态,则需重新进行进程调度。 激活原语的执行过程 若挂起进程在外存上,将其调入内存 检查进程状态,若处于静止就绪,则改为活动就绪,若处于静止阻塞,则改为活动阻塞 * 关于调度 进程控制中,状态转换和调度密切相关。 运行态进程的改变必然产生

文档评论(0)

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

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

1亿VIP精品文档

相关文档