暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

操作系统#2——处理机及作业调度

别动我的月亮啊 2020-12-29
403



  • 处理机调度的层次

    • 高级调度

    • 低级调度

    • 中级调度

  • 处理机调度算法的目标

    • 处理机调度算法的共同目标

    • 批处理系统的目标

    • 分时系统的目标

  • 批处理系统中的作业

    • 作业和作业步

  • 作业控制块JCB

  • 作业运行的三个阶段和状态

  • 作业调度的主要任务

    • 接纳多少个作业

    • 接纳那些作业

  • 进程调度的任务、机制和方式

    • 进程调度的任务

    • 进程调度机制

  • 低级进程调度方式

    • 非抢占方法

    • 抢占方式


处理机调度的层次和调度算法的目标

处理机调度的层次

高级调度

高级调度又称为长程调度或作业调度,它调度的对象是作业。主要功能是根据某种算法决定将外存上处于后备队列
中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将他们放入就绪队列。高级调度主要用于多道批处理系统中,而在分时系统和实时系统不设置高级调度

低级调度

低级调度又称为进程调度或者短程调度,调度的对象是线程,决定哪个进程应获得处理机。在多道、分时和实时系统中都必须配置这种作业

中级调度

又称为内存调度。将那些暂时不能运行的线程调至外存等待,此时进程的状态就称为就绪驻外外存状态(或挂起状态 )

处理机调度算法的目标

处理机调度算法的共同目标

  1. 资源利用率
  2. 公平性。公平性是指应使诸进程都获得合理的CPU时间,不会发生进程饥饿现象
  3. 平衡性。由于在系统中可能具有多种类型的进程,有的属于计算型作业,有的属于IO型,为了使系统中的CPU和各种外部设备都能经常处于忙碌状态
  4. 策略强制执行。只要需要,就必须予以准确地执行,即时会造成某些工作的延时也要执行

批处理系统的目标

  1. 平均周转时间短:从作业被提交给系统开始,到作业完成结束的这段时间的间隔
  2. 系统吞吐量高。由于吞吐量是指在单位时间内系统所完成的作业数,因而它与批处理作业的平均长度有关。
  3. 处理机利用率高

分时系统的目标

  1. 响应速度快
  2. 均衡性。用户对响应时间的要求并非完全相同的。所谓的均衡性,是指系统响应时间的快慢与用户所请求服务的复杂度相适应

实时系统的目标

  1. 截止时间保证。也就是任务必须开始执行的最迟时间,或必须完成的时间
  2. 可预测性。例如多媒体系统中电影和电视剧的连续播放

作业和作业调度

多道批处理系统中,作业是用户提交给系统的一项相对独立的工作。操作员把用户提交的作业通过相应的输入设备输入到磁盘存储器,并保存在一个后备作业队列中。再由作业调度程序将其从外存调入内存

批处理系统中的作业

作业和作业步

作业
是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,在批处理系统中,是以作业为基本单位从外存调入内存

作业步
是对作业的相互独立又相互关联的一系列加工步骤。各个作业步之间存在着相互联系,往往是上一个作业步的输出作为下一个作业步的输入。

作业控制块JCB

为了管理和调度作业,在多道批处理系统中,为每一个作业设置了一个作业控制块JCB
,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度的全部信息。通常在JCB中包含的内容有:作业标识、用户名称、用户账号、作业类型、作业状态、调度信息、资源需求、资源使用情况等。

作业运行的三个阶段和状态

作业从进入系统到运行结束,通常需要经历收容、运行和完成三个阶段
。相应的作业也就有后备状态
运行状态
完成状态

  • 收容阶段:操作员把用户提交的作业通过某种输入方式或者SPOOLing系统输入到硬盘上,在为该作业建立JCB,并把它放入作业后备队列。相应地,自持作业的状态称为“后备状态”
  • 运行阶段:当作业被作业调度选中,便为它分配必要的资源和建立进程,并将它放入就绪队列
  • 完成阶段:但作业运行完成、或发生异常情况而提前结束时,作业便进入完成阶段,相应的作业称为完成状态

作业调度的主要任务

根据JCB中的信息,检查系统中的资源能否满足作业对资源的需求,以及按照一定的调度算法,从外存的后被队列中选取某些作业调入内存,并为它们创建进程,分配必要的资源。

接纳多少个作业

在每一次进行作业调度时,应当从后备队列中选取多少作业调入内存,取决于多道程序度
,即允许多少个作业同时在内存中运行。

接纳那些作业

取决于所用的调度算法。

作业调度有:先来先服务
短作业优先
高响应比优先
优先级调度
几种调度算法。

进程调度

进程调度的任务、机制和方式

进程调度的任务

  1. 保存处理机的现场信息。如程序计数器、多个通用寄存器的内容
  2. 按某种算法选取进程。按某种算法从就绪队列中选取一个进程,为其分配处理机
  3. 把处理机分配给进程。由分派程序把处理器分配给该进程。

进程调度机制

进程调度机制

进程调度器有三个基本部分:

  • 排队器:为了提高进程调度的效率,应事先将系统中的所有就绪进程按照一定的策略排成一个或多个队列,以便调度程序能最快地找到它。
  • 分派器:分派器依据进程调度程序所选定地进程,将其从就绪队列中取出,然后进行从分派器到新选出进程间地上下文切换,将处理机分配给新选出地进程。
  • 上下文切换器:在对处理机进行切换时,会发生两对上下文的切换操作;1)第一对上下文切换时,OS将保存当前进程的上下文;2)对上下文切换是移出分派程序的上下文,而把新选进程的CPU现场信息装入到处理机的各个相应的寄存器中,以便新选进程运行。

低级进程调度方式

非抢占方法

在采用这种调度方式时,一旦把处理机分配给某进程后,就一直让它运行下去,除非进程完成,或者发生某些事件而被阻塞,才把处理机分配给其他线程

在采用非抢占调度方式时,可能引起进程调度的因素是:

  1. 正在执行的进程运行完毕,或发生某事件而使其无法继续运行
  2. 正在执行中提出IO请求而被阻塞
  3. 在进程通信或者同步过程中,执行了某种原语操作,如block
    原语

这种调度方式的优点是实现简单,系统开销小,适用于大多数批处理系统。但它不能作为分时系统和大多数实时系统

抢占方式

这种调度方式允许调度程序根据某种原则,去暂停某个正在执行的进程,将已分配给该线程的处理机重新分配给另一个线程。

抢占并不是任意性行为,必须遵循一定的原则,主要原则

  1. 优先权原则:允许优先级高的新到进程抢占当前进程的处理机。
  2. 短进程优先原则:允许新的短进程可以抢占当前长进程的处理机,当新到达的进程比正在执行的进程明显短时,将处理机分配给新到的短线程。
  3. 时间片原则。各进程按时间片轮转运行时,当正在执行的进程的一个时间片用完后,便停止该进程的执行而重新进行调度
文章转载自别动我的月亮啊,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论