- 1、本文档共125页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲 进程、线程和处理机管理 3.1 进程 3.2 进程控制 3.3 线程 3.4 进程互斥与同步 3.5 进程间通信 3.6 死锁问题 3.7 处理器调度概述 3.8 调度算法 3.9 Windows 2000/XP的线程调度 3.1 进程 进程 处理器管理的基本单元 进程执行方式:顺序 与 并发 顺序执行的特征 顺序性、封闭性、可再现性 并发执行的特点 间断性、非封闭性、无可再现性?因为共享资源的影响! 两进程Pi, Pj 并发的条件,三者之一满足即可 Ri ∩ Wj = 空 Wi ∩ Rj = 空 Wi ∩ Wj = 空 定义 进程不同于程序 进程是动态的 进程是暂时的 进程组成更为复杂 二者密切相关 并不是所有代码的执行过程都属于某一个进程:处理器调度器 进程控制块 PCB 操作系统维护 记录了进程相关的信息 OS可以通过PCB控制进程,并将处于同一状态的进程的进程块组织到一起:链表、索引表 PCB组成 进程描述信息 进程标示符、进程名、用户标示符、进程组等 进程控制信息 当前状态、优先级、代码执行入口地址、程序的外存地址、运行统计信息、进程阻塞原因等 资源占用信息 占用的系统资源列表 处理器现场保护结构 保存寄存器值等 进程上下文 进程执行活动全过程的静态描述 用户级上下文 进程的用户地址空间,用户正文段、数据段、用户栈 寄存器级上下文 程序寄存器、处理器状态寄存器、栈指针等的值 系统级上下文 进程的静态部分、由核心栈等构成的动态部分 进程的状态转换 模型一:两状态进程模型 状态 运行状态:占用处理机资源; 暂停状态:等待进程调度分配处理机资源; 转换 进程创建(Enter):系统创建进程,形成PCB,分配所需资源,排入暂停进程表(可为一个队列); 调度运行(Dispatch):从暂停进程表中选择一个进程(要求已完成I/O操作),进入运行状态; 暂停运行(Pause):用完时间片或启动I/O操作后,放弃处理机,进入暂停进程表; 进程结束(Exit):进程运行中止; 模型二:五状态进程模型 两状态模型无法区分暂停进程表中的可运行和阻塞,五状态模型就是对暂停状态的细化。 运行:处于此状态的进程的数目小于等于CPU数目 就绪:已获除处理机外的所需资源,只要分配CPU就可执行 阻塞:条件满足之前无法继续执行 创建:进程刚创建,但还不能运行,如资源不足等 退出:回收PCB之外的其他资源,并让其他进程从PCB中收集有关信息(如记帐,将退出码exit code传递给父进程) 状态转换 创建新进程 收容:收容一个新进程,进入就绪状态 调度运行 释放:正常退出Exit和异常退出abort(执行超时或内存不够,非法指令或地址,I/O失败,被其他进程所终止);就绪或阻塞到结束可能的原因有:如父进程可在任何时间中止子进程; 超时 事件等待 事件出现 一个重要问题:一个事件出现时如何检查阻塞进程表中的进程状态 图3-2 单个队列对性能影响很大 图3-3 按事件类型排成多个队列,可以按多个优先级来划分队列,如:时间片用完-低优,I/O完成-中优,页面调入完成-高优 模型三:挂起进程模型 五状态进程模型没有区分进程的地址空间 内存?外存? 进程优先级,低优先级等待时间长,应换至外存?区分进程地址空间 提高处理机效率:就绪进程表为空时,要提交新进程,以提高处理机效率; 为运行进程提供足够内存:资源紧张时,暂停某些进程,如:CPU繁忙(或实时任务执行),内存紧张 用于调试:在调试时,挂起被调试进程(从而对其地址空间进行读写) 意义有变化或新的状态 就绪状态:进程在内存,可立即运行 阻塞状态:在内存,等待时间出现 阻塞挂起:在外存等待某事件出现 就绪挂起:在外存,只要进入内存即可运行 新状态转换: 挂起(调出)、激活(调入) 意义有变化的状态转换: 事件的出现、收容 图3-4 单进程挂起 图3-5 双进程挂起 3.2 进程控制 进程的创建与退出 子进程可继承父进程部分属性 按子进程是否覆盖父进程或是否加载新程序,调用不同的系统调用 进程终止 进程的阻塞与唤醒 阻塞:等待某个事件引起 ?阻塞状态 唤醒:事件出现 ?就绪状态 Unix系统中 sleep、pause、wait、kill等 用于阻塞 Windows NT、Windows2000/XP中,处理器调度对象为线程 线程控制块中的挂起记数, 挂起加1,激活减1 挂起:Windows NT中的SuspendThread可挂起指定的线程 DWORD SuspendThread( HANDLE hThread); 激活:Windows NT中的ResumeThread可恢复指定线程的执行; DWORD Res
您可能关注的文档
- 女两用衫款式变化课程.ppt
- 第2章 信息系统的开发课程.ppt
- 第2章 学与教的理论课程.ppt
- 第2章 氧族元素 Group VIA O S Se Te Po课程.ppt
- 女人如书,一生都在读也读不透课程.ppt
- 第2章 液态材料铸造成形技术过程课程.ppt
- 女生生理与健康讲座—呵护青春,把握人生课程.ppt
- 第2章 整流电路课程.ppt
- 第2章 正弦交流电路课程.ppt
- 第2章 知识表示方法课程.ppt
- 苏科版八年级数学上册《第四章实数》单元检测卷及答案.docx
- 苏科版八年级数学上册《4.2立方根》同步测试题及答案.docx
- 北师大版八年级数学下册《3.3中心对称》同步测试题带答案.docx
- 北师大版八年级数学下册《3.2图形的旋转》同步测试题带答案.docx
- 惠普HP DesignJet Printers Safety precautions document 英文说明书用户手册.pdf
- IST Innovative Sensor Technology 温度传感器说明书用户手册.pdf
- 海洋仪器CA6163多功能安规测试仪英文产品资料.pdf
- Rollei禄莱Compactline Pocket Operation Manual (DE, EN)说明书用户手册.pdf
- MSI微星显示器 MPG 491CQPX QD-OLED产品手册用户手册(语言 Hebrew).pdf
- Intel英特尔质量和可靠性第7卷:质量测试覆盖率.pdf
文档评论(0)