软考(软件设计师)--操作系统之进程管理(二)

一、进程调度

也称短程调度,用来决定就绪队列中的哪个进程应获得处理机,然后再由分派程序把处理机分配中该进程。
最基本的一种调度,三种类型OS都必须有进程调度。

进程调度可以采用两种调度方式:

  • 非抢占方式(Non-preemptive Mode)
  • 抢占式(Preemptive Mode)

非抢占式方式:
一旦把处理据分配给某进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才把处理机分配给其他进程,绝不允许进程抢占已分配出去的处理机。
评价:实现简单、系统开销小;适用于大多数的批处理OS,但在要求比较严格的实时系统中,不宜采用这种调度方式。

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

抢占的原则:

  • 时间片原则:各进程按时间片运行,一个时间片用完时,停止该进程执行重新进行调度。
  • 短作业(进程)优先原则:短作业(进程)可以抢占长作业(进程)的处理机。
  • 优先权原则:优先权高的可以抢占优先权低的进程的处理机。

二、调度算法:

  • 先来先服务
  • 短作业(进程)优先调度算法
  • 高优先权优先调用算法
  • 时间片轮转调度算法

先来先服务:(FCFS)
经常用的算法。
每次调度都从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之运行。
该算法比较有利于长作业(进程),而不利于短作业

短作业(进程)优先 (SJ§F):
可以分别用于作业调度和进程调度。

  • 从后备队列中选择一个或若干个估计运行时间最短的作业,将他们调入内存运行。
  • 是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给他,使它立即执行。
    优点:有效降低作业的平均等待时间,提高系统的吞吐量
    缺点:对长作业不利。未考虑作业的紧迫长度,因而不能保证紧迫性作业(进程)会被及时处理。
    由于作业(进程)的长短只是根据估计执行时间定的,主观因素较大,不一定能真正做到短作业优先。

高优先权优先调用算法:
为了照顾紧迫性作业,使之在进入系统后便获得优先处理,引入了高优先权优先(FPF)调度算法。
此算法常作用与批处理系统中,操作作业调度算法,也作为多种操作系统中的进程调度算法,还可用于实时系统中。

优先权的类型:
静态优先权:
在创建进程时确定的,在进程的整个运行期间保持不变。利用某一范围的整数来表示(0-7),又称为优先数。
动态优先权:在创建进程时所赋予的优先权可以随进程的推进或随其它等待时间的增加而改变。

高响应比优先调度算法
在批处理系统中,短作业优先算法是一种比较好的算法,其主要不足是长作业的运行得不到保证。我们为了每个作业引入动态优先权,并使作业的优先级随着等待时间的增加而以速率a提高,则可解决问题:
优先权=(等待时间+要求服务时间)/要求服务时间
由于等待时间与服务时间之和是系统的响应时间,故上式又表示为Rp=响应时间/要求服务时间。
从上式看出:

  • 如作业等待时间相同,则要求服务的时间越短优先权越高,所以该算法利用短作业。
  • 当要求服务的时间相同,作业优先权的高低决定于其等待时间的长短,所以时先来先服务。
  • 对于长作业,作业的优先级可以随等待时间的增加而提高,当其等待时间足够长也可获得处理机。

时间片轮转调度算法:
是一种最古老、最简单,最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。

  • 如果在时间片结束时进程还没运行结束,则CPU将剥夺并分配给另一个进程,该进程到就绪对流额尾重新排队。
  • 如果进程在时间片内阻塞或结束,则CPU当即进行切换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值