Ready Queue Dispatch Release Admit Processor Time-out Event 1 Event I Wait Occurs Event 1 Quel Event 2 Event 2 Wait Occurs Event 2 Queue 五状态进程模型(多队列结构)
Admit Ready Queue Dispatch Time-out Release Processor Event 1 Wait Event 1 Queue Event 1 Occurs Event 2 Wait Event 2 Queue Event 2 Occurs 五状态进程模型(多队列结构)
1.状态 运行状态( Running):占用处理机资源;处于此状态 的进程的数目小于等于CPU的数目 在没有其他进程可以执行时(如所有进程都在阻塞状态) 通常会自动执行系统的dle进程(相当于空操作) 就绪状态( Ready):进程已获得除处理机外的所需资 源,等待分配处理机资源;只要分配CPU就可执行。 可以按多个优先级来划分队列,如:时间片用完一>低优, I/O完成一>中优,页面调入完成一>高优 阻塞状态( Blocked)}:由于进程等待某种条件(如IO 操作或进程同步),在条件满足之前无法继续执行 该事件发生前即使把处理机分配给该进程,也无法 运行。如:等待ⅣO操作的完成
1. 状态 • 运行状态(Running):占用处理机资源;处于此状态 的进程的数目小于等于CPU的数目。 – 在没有其他进程可以执行时(如所有进程都在阻塞状态), 通常会自动执行系统的idle进程(相当于空操作)。 • 就绪状态(Ready):进程已获得除处理机外的所需资 源,等待分配处理机资源;只要分配CPU就可执行。 – 可以按多个优先级来划分队列,如:时间片用完->低优, I/O完成->中优,页面调入完成->高优 • 阻塞状态(Blocked):由于进程等待某种条件(如I/O 操作或进程同步),在条件满足之前无法继续执行。 该事件发生前即使把处理机分配给该进程,也无法 运行。如:等待I/O操作的完成
创建状态(New):进程刚创建,但还不能运行 (一种可能的原因是OS对并发进程数的限制); 如:分配和建立PCB表项(可能有数目限制) 建立资源表格(如打开文件表)并分配资源, 加载程序并建立地址空间表。 结束状态(Exit):进程已结束运行,回收除 PCB之外的其他资源,并让其他进程从PCB中 收集有关信息、(如记帐,将退出码 exit code传 递给父进程)
• 创建状态(New):进程刚创建,但还不能运行 (一种可能的原因是OS对并发进程数的限制); 如:分配和建立PCB表项(可能有数目限制)、 建立资源表格(如打开文件表)并分配资源, 加载程序并建立地址空间表。 • 结束状态(Exit):进程已结束运行,回收除 PCB之外的其他资源,并让其他进程从PCB中 收集有关信息(如记帐,将退出码exit code传 递给父进程)
2.转换 创建新进程:创建一个新进程,以运行一个程序。可能 的原因为:用户登录、OS创建以提供某项服务、批处 理作业 收容( Admit,也称为提交):收容一个新进程,进入就绪 状态。由于性能、内存、进程总数等原因,系统会限制 并发进程总数 调度运行( Dispatch):从就绪进程表中选择一个进程,进 入运行状态; 释放( Release):由于进程完成或失败而中止进程运行, 进入结束状态; 运行到结束:分为正常退出Ex和异常退出 abort(执行超时或 内存不够,非法指令或地址,IO失败,被其他进程所终止) 就绪或阻塞到结束:可能的原因有:父进程可在任何时间中 止子进程;
2. 转换 • 创建新进程:创建一个新进程,以运行一个程序。可能 的原因为:用户登录、OS创建以提供某项服务、批处 理作业。 • 收容(Admit, 也称为提交):收容一个新进程,进入就绪 状态。由于性能、内存、进程总数等原因,系统会限制 并发进程总数。 • 调度运行(Dispatch):从就绪进程表中选择一个进程,进 入运行状态; • 释放(Release):由于进程完成或失败而中止进程运行, 进入结束状态; – 运行到结束:分为正常退出Exit和异常退出abort(执行超时或 内存不够,非法指令或地址,I/O失败,被其他进程所终止) – 就绪或阻塞到结束:可能的原因有:父进程可在任何时间中 止子进程;
超时( Timeout):由于用完时间片或高优先 进程就绪等导致进程暂停运行 事件等待( Event wait):进程要求的事件未 出现而进入阻塞;可能的原因包括:申请系统 服务或资源、通信、IO操作等 事件出现( Event occurs):进程等待的事件 出现;如:操作完成、申请成功等 注:对于五状态进程模型,一个重要的问题是当一个 事件出现时如何检查阻塞进程表中的进程状态。当进 程多时,对系统性能影响很大。一种可能的作法是按 等待事件类型,排成多个队列
• 超时(Timeout):由于用完时间片或高优先 进程就绪等导致进程暂停运行; • 事件等待(Event Wait):进程要求的事件未 出现而进入阻塞;可能的原因包括:申请系统 服务或资源、通信、I/O操作等; • 事件出现(Event Occurs):进程等待的事件 出现;如:操作完成、申请成功等; 注:对于五状态进程模型,一个重要的问题是当一个 事件出现时如何检查阻塞进程表中的进程状态。当进 程多时,对系统性能影响很大。一种可能的作法是按 等待事件类型,排成多个队列