学习笔记(09):2020软考软件设计师--基础知识实战培训视频-操作系统--进程管理(二)...

立即学习:https://edu.csdn.net/course/play/7883/161188?utm_source=blogtoedu

3.2 处理机管理(进程管理)

五. 进程调度

也称短程调度(Short-Term Scheduling),用来决定就绪队列中的哪个进程应获得处理机,然后再由分派程序把处理机分配给该进程.

进程调度 为最基本的一种调度,三种类型OS中都必须有进程调度.

 

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

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

1. 非抢占方式(Non-preemptive Mode)

一旦把处理机分配给某进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才把处理机分配给其他进程,绝不允许进程抢占已分配出去的处理机.

评价:实现简单\系统开销小;适用于大多数的批处理OS,但在要求比较严格的实时系统中,不宜采用这种调度方式

 

2.抢占方式(Preemptive Mode)

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

抢占的原则:

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

六. 调度算法

1. 先来先服务(FCFS)

2.短作业(进程)优先调度算法

3.高优先权优先调度算法

4.时间片轮转调度算法

 

1. 先来先服务调度算法(FCFS)

是一种最简单的调度算法,既可用于作业调度,也可用于进程调度.

进程调度采用FCFS算法时,每次调度都从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之运行.

  • FCFS算法比较有利于长作业(进程),而不利于短作业(进程).

 

2.短作业(进程)优先调度算法 (SJ(P)F)

对短作业或短进程优先调度的算法.可以分别用于作业调度和进程调度.

  • 短作业优先(SJF)的调度算法:从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行.
  • 短进程优先(SPF)调度算法,是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行.

SJF调度算法的优缺点:

优点:

      有效降低作业的平均等待时间,提高系统吞吐量.

缺点:

  • 该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理.
  • 由于作业(进程)的长短只是根据估计执行时间定的,主观因素较大,不一定能真正做到短作业优先.

3.高优先权优先调度算法

为照顾紧迫性作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法.

此算法常用于批处理系统中,作为作业调度算法,也作为多种操作系统中的进程调度算法,还可用于实时系统中.

(1) 优先权的类型

对于最高优先权优先调度算法,关键在于:使用静态优先权\动态优先权;如何确定进程的优先权.

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

(2) 高响应比优先调度算法

在批处理系统中,短作业优先算法是一种比较好的算法,其主要不足是长作业的运行得不到保证.我们为每个作业引入动态优先权,并使作业的优先级随着等待时间的增加而以速率a提高,则可解决问题.见下式:

优先权=(等待时间+要求服务时间)/要求服务时间

由于等待时间与服务时间之和就是系统的响应时间,故上式又表示为:R=响应时间/要求服务时间

注意:值越大,优先级越高.

 

由上式可以看出:

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

4.时间片轮转调度

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

  • 如果在时间片结束时进程还没有运行介绍,则CPU将被剥夺并分配给另一个进程,该进程到就绪队列队尾重新排队.
  • 如果进程在时间片内阻塞或结束,则CPU当即进行切换.

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sapphire~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值