计算机操作系统_第三章_处理机调度与死锁资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业相关概念
作业:程序+数据+作业说明书 作业步:相对独立相互关联的顺序加工步骤 作业流 作业控制块JCB:作业在系统中的标识,保存有系 统对作业进行管理与调试所需要的全部信息
作业标识 用户名称、用户帐户 作业类型、作业状态 资源需求 调度信息 进入时间、开始处理时间、需求时间 ……
作业调度时要做的决定: (1)接纳多少个作业 (2)接纳哪些作业(调度算法) 作业调度的目标: (1)对所有作业尽量做到公平合理 (2)高设备利用率 (3)执行尽可能多的作业 (4)尽量短的响应时间
完全可抢先或内核完全可抢先
无论当前进程处于用户态还是核心态,都可以 随时可被抢用CPU。如:SUN Solaris(最成 功的UNIX商业变种之一)。 为做到完全可抢先,Solaris对SVR4的核心代 码做了全面修改,大部分的内核全局数据结构都 用正确的同步对象如互斥 锁或信号量来保护, 并通过特殊内核线程实现中断来避免用提高优先 级的方法保护临界区。Solaris内核中只有极少 的不可抢先代码段。
Leabharlann Baidu
2.进程调试中的三个基本机制
排队器:负责组织各进程队列 分派器:将选中的进程从就绪队列中取出,分配 处理机 上下文切换机制 两对上下文切换:
保存当前进程上下文,装入分派程序上下文 移出分派程序上下文,装入新选进程现场信息
3. 进程调度方式
1)非抢占方式
进程一旦获得处理机后便一起执行下去,直至该进程 完成或发生某事件被阻塞时,才把处理机分配给其他进 程。决不允许某进程抢占已经分配出去的处理机。 当前进程无论在用户态还是核心态都不可以被抢用 CPU。不可抢先式OS:Windows98/95,在这些OS 中,进程从运行态退出只能是自愿或阻塞,不能强迫运 行态就绪态。
3.1.2 低级调度
也称为进程调度、短程调度。 用于决定就绪队列中的哪个进程获得处理机。低级调 度程序是操作系统最为核心的部分,低级调度策略的优 劣直接影响到整个系统的性能。 最初的调度对象是传统操作系统中的进程,随着现代 操作系统引入了多线程技术,进程演变成资源管理的单 位,从而只作为中级调度的对象,内核级线程则替代进 程成为低级调度的对象。
第三章 处理机调度与死锁
本章内容
处理机调度 常用调度算法介绍 死锁与预防死锁的方法 本章讨论处理器资源的管理问题。
处理器调度问题决定着整个系统的综合性能。 不同的CPU管理方法将为用户提供不同性能的操 作系统。
3.1 处理机调度的层次
从处理器调度的对象、时间、层次等不同角度, 可把处理器调度分成不同类型。 按照调度涉及的层次不同,从用户作业从进入 系统成为后备作业开始,直到运行结束退出系统 为止,可把处理器调度分成: 高级调度 中级调度 低级调度
不同类型及目标的操作系统,其采用的调度方 式与调度算法通常不同。 1.面向用户的准则 2.面向系统的准则
1.面向用户的准则
(1)周转时间短 周转时间:作业提交计算机开始到完成返回用 户为止的时间间隔。 (2)响应时间快
响应时间:从提交一个请求到首次产生响应的 时间间隔。或者说,用户发送指令给计算机到计 算机返回结果给用户的时间间隔。
引起进程调度的因素:
(1)进程执行完毕,或发生某事件不能再继续 执行 (2)I/O请求
(3)进程通信或同步过程中执行了原语操作 优点:实现实现简单,系统开销小,适用于批处 理系统。 缺点:不能满足紧急任务的要求,不适用于实时 系统。
2)抢占方式
当一个进程正在运行时,调度程序可以基于某种 原则,剥夺已分配给它的处理机,将之分配给其它 进程。 剥夺原则有: (1)优先权原则 (2)短进程优先原则 (3)时间片原则。
3.2 调度队列模型和调度准则
3.2.1 调度队列模型
1.只有进程调度的调度队列模型
内存中维护就绪进程队列和阻塞进程队列。系统可 能以栈、树、链表的方式组织队列。
2.具有高级与低级调度的调度队列模型
外存维护一个后备队列,内存维护就绪进程 队列和阻塞进程队列。
3.同时具有三级调度的调度队列模型
3.2.2 选择调度方式和调度算法的准则
内核完全不可抢先
当前进程在用户态时可随时被抢用CPU,但处 于核心态时完全不可以被抢用CPU。如:传统的 UNIX和Windows。 这类操作系统通常在系统调用或中断时屏蔽中 断,系统调用返回或中断返回时开放中断。
内核的部分可抢先
当前进程在用户态时随时被抢用CPU,但处于 核心态时则大部分时间不可以被抢用CPU,只在 某些时刻点(可抢先点)可以被抢用CPU。如: UNIX SVR4。 SVR4内核定义了抢先点:内核代码中的这样 一些位置,内核的数据结构处在一个稳定的状态, 并且内核马上要开始长时间的、大量的计算。此 时,内核检查是否有实时进程就绪需要运行,若 有则抢先当前进程。
3.1.3
中级调度
中级调度实现进程在主存与外存间的对换。反映到进 程状态上就是挂起和解除挂起。
中级调度将那些暂时不能运行的进程调出主存,此时 这些进程处于挂起状态。当被挂起的进程具备了运行条 件,且主存又有空闲区域时,再由中级调度决定一部分 这样的进程重新调回主存工作。
中级调度起到短期调整系统负荷的作用,调度的依据 是存储资源量和进程的当前状态,目的是提高内存利用 率和系统吞吐量。
3.1.1 高级调度
高级调度概念
也称为作业调度、长程调度或接纳调度。
按照系统预定的调度策略,决定把外存上处于后备队 列中的哪些作业调入内存,并为它们创建进程、分配必 要的资源,然后再将创建的进程排在就绪队列上,准备 执行。
在批处理操作系统中,作业首先进入系统在辅存上的 后备作业队列等候调度,因此,作业调度是必须的。在 纯粹的分时或实时操作系统中,通常不需要配备作业调 度。
1. 进程调度功能
(1)记录系统中所有进程的执行情况 (2)选择占有处理机的进程(选择算法)
(3)进行进程上下文切换
—个进程的上下文(context)包括进程的状态、 有关变量和数据结构的值、机器寄存器的值等相关 程序、数据。当正在执行的进程让出处理机时,系 统要做进程上下文切换,以使另一个进程得以执行。