Cha3进程描述和控制
Cha3 进程描述和控制
要求掌握 °哪些事件会引起进程的创建和终止 7种状态的含义 引起7种状态相互转换的事件 为何设置多个阻塞队列 °挂起的作用是什么 OS使用哪些控制表 什么是进程映像 PCB的内容 °为何进行模式切换
要求掌握 • 哪些事件会引起进程的创建和终止 • 7种状态的含义 • 引起7种状态相互转换的事件 • 为何设置多个阻塞队列 • 挂起的作用是什么 • OS使用哪些控制表 • 什么是进程映像 • PCB的内容 • 为何进行模式切换
要求掌握 °内核的典型功能 何时进行进程切换 °进程切换的过程 OS的三种执行方式,各自的特点
要求掌握 • 内核的典型功能 • 何时进行进程切换 • 进程切换的过程 • OS的三种执行方式,各自的特点
多道程序系统的常见要求 °交替执行多个进程 给进程分配资源 °支持进程间通信 支持用户创建进程
多道程序系统的常见要求 • 交替执行多个进程 • 给进程分配资源 • 支持进程间通信 • 支持用户创建进程 •……
程序执行 5000800012000 分派程序 5001800112001 50005002 800212002 进程A 8003 进程B8000 5011 12011 进程C12000进程A进程B进程C 的轨迹的轨迹的轨迹 轨迹 trace-为进程执行的指令序列
程序执行 5000 5001 5002 …… 5011 分派程序 进程A 进程B 进程C 5000 8000 12000 8000 8001 8002 8003 12000 12001 12002 …… 12011 进程A 的轨迹 进程B 的轨迹 进程C 的轨迹 轨迹trace-为进程执行的指令序列
进程的组合轨迹 5000100 100 100 100 5001 101 101 101 101 5002102 102 102 102 5003103 103 103 103 5004104 104 104 104 5005105 105 105 105 超时 8000 12000 5006 12006 8001 12001 5007 12007 8002 12002 5008 12008 8003 12003 5009 12009 JO请求 12004 50010 120010 2005 50011 120011 超时 超时 超时
进程的组合轨迹 5000 5001 5002 5003 5004 5005 100 101 102 103 104 105 8000 8001 8002 8003 100 101 102 103 104 105 12000 12001 12002 12003 12004 12005 100 101 102 103 104 105 5006 5007 5008 5009 50010 50011 100 101 102 103 104 105 12006 12007 12008 12009 120010 120011 超时 I/O请求 超时 超时 超时
两状态进程模型-状态变化图 分派 未运行 进入 运行退出 f停 OS的设计元素 进程的状态,位置 未运行的进程队列
两状态进程模型-状态变化图 未运行 运行 进入 退出 分派 暂停 • OS的设计元素 –进程的状态,位置 –未运行的进程队列
排队图 进入 队列 分派 退出 312 CPU 暂停 链表形式的队列 T 3 3
排队图 3 1 2 CPU 进入 分派 退出 暂停 队列 1 2 3 1 2 3 链表形式的队列
导致进程创建的原因 新的批作业 °交互用户登录 OS提供服务 由现有进程生成 进程生产 process spawnIng OS根据某进程的显式请求创建新进程
导致进程创建的原因 • 新的批作业 • 交互用户登录 • OS提供服务 • 由现有进程生成 进程生产process spawning- OS根据某进程的显式请求创建新进程
导致进程终止的原因 正常结束 父进程请求 °错误和故障 °父进程终止 °无内存 父进程要求 越界 正常结束 保护错误 °超时 °算术错误 系统干涉 °MO失败 °无效指令 °特权指令 °数据误用
导致进程终止的原因 • 无内存 • 越界 • 保护错误 • 算术错误 • I/O失败 • 无效指令 • 特权指令 • 数据误用 • 父进程请求 • 父进程终止 • 正常结束 • 错误和故障 • 父进程要求 • 正常结束 • 超时 • 系统干涉