面试重点之进程调度(操作系统)

知识点

1. 三种调度

进程调度可分为三个层次

  • 高级调度(作业调度)
  • 中级调度(内存调度)
  • 低级调度(进程调度)

高级调度:(外存到内存) 频率最低

操作系统按照某种调用规则,将在后备队列中挑选合适的作业从外存调到内存。并为其分配进程。


中级调度:(外存到内存)频率中等

操作系统按照某种调用规则,在挂起队列中挑选合适的进程,调入内存。

暂时调入到外存的进程状态称之为挂起。
挂起又分为
由就绪态调入到外存的 就绪挂起
由堵塞态调入到外存的 堵塞挂起


低级调度:(内存到CPU)频率高

操作系统按照某种调用规则,为就绪队列中的某个进程分配处理机

2.进程调度

什么时候不能进行进程调度?

  1. 处理中断的时候
  2. 进程处于内核系统临界区
  3. 在原子操作过程中

进程调度方式

  1. 非抢占式:只有当前运行的进程主动放弃CPU
  2. 抢占式:操作系统剥夺当前进程CPU使用权

调度算法

常用于早期批操作系统调度算法如下

  • FCFS 先来先服务算法
  • SJF 短作业优先算法
  • HRRN 高响应比优先算法

在这里先讲一下
周转时间: 完成时间-到达时间
带权周转时间:周转时间/运行时间
等待时间:周转时间-运行时间

先来先服务:

算法思想:先到的进程(作业)先服务

调度方式:非抢占式

是否会使进程饥饿:不会引起饥饿

优缺点:公平运转,对短作业不利,因为需要的时间少,但是可能等待很长时间


短作业优先(最短剩余时间优先)

算法思想:已到达,且进程(作业)运行时间越短越优先

调度方式: 抢占和非抢占

是否会使进程饥饿:会饥饿 ,如果有新进程不断调入就绪队列,可能导致长作业(进程)长期饥饿

优缺点:较短的平均周转和等待时间,对长作业不利

高响应比优先算法

算法思想
响应比=(等待时间+要求服务时间)/要求服务时间
响应比越高,进程(作业)越优先

调度方式:非抢占

是否会使进程饥饿:不会饥饿

优缺点:较公平


以下算法常用于交互式操作系统

  • 时间片轮转调度算法
  • 优先级调度算法
  • 多级反馈队列调度算法

时间片轮转调度算法

算法思想:每个进程执行一个时间片,时间片用尽,操作系统剥夺CPU使用权,进程重新进入就绪队列等待

调度方式: 抢占,时钟装置发出时钟中断,来通知CPU时间片已到

是否会使进程饥饿:不会

优缺点

优先级调度算法

算法思想:为每个进程设计优先级,优先级越高,越优先。
优先级可分为:静态优先级 和 动态优先级

调度方式: 抢占和非抢占

是否会使进程饥饿:会

优缺点:如果不断有高优先级进入,那么低优先级进程会长期陷入等待

多级反馈队列调度算法

算法思想

  1. 设置多级就绪队列,优先级从高到低,时间片从小到大
  2. 新进程到达时进入第一级队列,按照FCFS进入就绪队列,等待执行一个时间片,若执行后进程并未完成则调入下一个就绪队列队尾,若已经在尾队列,则重新放入尾队列等待。
  3. 只有当i队列为空时才可为i+1队列分配时间片
    调度方式: 抢占

是否会使进程饥饿:会

优缺点:完美!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值