处理机调度模型-1 3。具有高级调度和低级调度的调度队列模型 在多道批处理系统中,一般处理机管理设置作 业和进程两级调度。它比第一个模型增加了高级 调度。模型增加了在磁盘的作业后备队列,作业 调度的任务是从作业后备队列中选一个作业为它 创建至少一个进程,并分配资源,将它排入内存 进程就绪队列末尾。 4。同时具有三级调度的调度队列模型 在通用系统的多模式0S中,一般采用具有三级 调度的调度队列模型,由于多模式0S同时支持批 处理、分时和实时处理,所以它必须具有以上模 型,具有三级调度的调度队列模型是第二、三两 模型的综合,见图所示
处理机调度模型-1 3。具有高级调度和低级调度的调度队列模型 在多道批处理系统中,一般处理机管理设置作 业和进程两级调度。它比第一个模型增加了高级 调度。模型增加了在磁盘的作业后备队列,作业 调度的任务是从作业后备队列中选一个作业为它 创建至少一个进程,并分配资源,将它排入内存 进程就绪队列末尾。 4。同时具有三级调度的调度队列模型 在通用系统的多模式OS中,一般采用具有三级 调度的调度队列模型,由于多模式OS同时支持批 处理、分时和实时处理,所以它必须具有以上模 型,具有三级调度的调度队列模型是第二、三两 模型的综合,见图所示
图:具有三级调度队形模型 磁盘 分时间片完 后备作业队列 内存进程就绪队列 作业调度 CP 完成 批量 中级 中级U 作业 调度外存进程就绪队列调度 调入 调出 交互型作业 等待事件 事件发生 外存进程阻塞队列 中级 调度 调出 内存进程阻塞队列
图: 具有三级调度队形模型 中级 调度 调出 CP U 交互型作业 分时间片完 等 待 事 件 完成 内存进程就绪队列 外存进程就绪队列 外存进程阻塞队列 内存进程阻塞队列 事 件 发 生 作业调度 后备作业队列 批量 作业 中 级 调 度 调入 中 级 调 度 调出 磁盘
(4)进程调度 1。进程调度的方式 非抢占方式 采用这种调度方式时,一旦把处理机分配给某进 程后,便让进程一直执行,直到该进程完成或发生 某事件而被阻塞时,才把处理机分配给其它进程, 决不允许某进程抢占已经分配出去的处理机。 这种调度方式的优点是实现简单、系统开销小, 适用于大多数批处理系统环境。缺点是难以满足紧 急任务的要求,不适用于实时、分时系统要求
(4)进程调度 1。进程调度的方式 非抢占方式 采用这种调度方式时,一旦把处理机分配给某进 程后,便让进程一直执行,直到该进程完成或发生 某事件而被阻塞时,才把处理机分配给其它进程, 决不允许某进程抢占已经分配出去的处理机。 这种调度方式的优点是实现简单、系统开销小, 适用于大多数批处理系统环境。缺点是难以满足紧 急任务的要求,不适用于实时、分时系统要求
进程调度-1 抢占方式( Preemptive mode) 这种调度方式,允许进程调度程序根据某个原则,去仃 止某个正在执行的进程,将已分配给进程的处理机,重 新分配给另一个进程。抢占的原则有: 时间片原则。各进程按时间片运行,当一个时间片用完 后,便仃止该进程的执行而重新进行调度。这个原则适 用于分时系统。 优先权原则。通常是对一些重要的和紧急的进程赋予较 高的优先权。当这种进程进入就绪队列时,例如由阻塞 态转换为就绪态,或从静止就绪态转为活动就绪态时, 或新创建进入就绪态的进程进入就绪队列时,如果其优 先权比正在执行的进程优先权高,便仃止正在执行的进 程,将处理机分配给优先权高的进程,使之执行
进程调度-1 抢占方式(Preemptive mode) 这种调度方式,允许进程调度程序根据某个原则,去仃 止某个正在执行的进程,将已分配给进程的处理机,重 新分配给另一个进程。抢占的原则有: 时间片原则。各进程按时间片运行,当一个时间片用完 后,便仃止该进程的执行而重新进行调度。这个原则适 用于分时系统。 优先权原则。通常是对一些重要的和紧急的进程赋予较 高的优先权。当这种进程进入就绪队列时,例如由阻塞 态转换为就绪态,或从静止就绪态转为活动就绪态时, 或新创建进入就绪态的进程进入就绪队列时,如果其优 先权比正在执行的进程优先权高,便仃止正在执行的进 程,将处理机分配给优先权高的进程,使之执行
2.调度的时机 在UNIX系统中,为了减少操作系统设计的复杂性和提高 系统执行效率,对操作系统程序采用了伪异步执行方式。 也就是说,设计人员认为在系统程序执行期间不会发生 调度或发生调度的时间是可预知的,然而,由于调度程 序 swtch又是进程0的一部分,也就是说是系统程序,这 又要求调度必须在核心态下完成。怎样把这二者统一起 来呢?显然,采用系统调用的方式向用户开放进程调度 是不可取的,这一是导致系统无法控制,二是可能造成 系统瘫痪和很多意想不到的问题出现。UNⅨ的设计者们 采用了当处理机在执行完核心程序之后向用户态转换之 前的瞬间,检查各就绪进程的优先级进行调度的方法。 由用户态转而执行核心程序的可能性很多,例如中断处理 和陷阱处理,系统调用等
2.调度的时机 在UNIX系统中,为了减少操作系统设计的复杂性和提高 系统执行效率,对操作系统程序采用了伪异步执行方式。 也就是说,设计人员认为在系统程序执行期间不会发生 调度或发生调度的时间是可预知的,然而,由于调度程 序swtch又是进程0的一部分,也就是说是系统程序,这 又要求调度必须在核心态下完成。怎样把这二者统一起 来呢?显然,采用系统调用的方式向用户开放进程调度 是不可取的,这一是导致系统无法控制,二是可能造成 系统瘫痪和很多意想不到的问题出现。UNIX的设计者们 采用了当处理机在执行完核心程序之后向用户态转换之 前的瞬间,检查各就绪进程的优先级进行调度的方法。 由用户态转而执行核心程序的可能性很多,例如中断处理 和陷阱处理,系统调用等