进程的组成与调度

进程由 3 个部分组成,分别是程序代码数据集、栈进程控制块(Process Control Block)

各自的作用如下:

  1. 程序代码:描述了进程需要完成的功能。
  2. 数据集、栈:程序在执行时所需要的数据和工作区。
  3. 进程控制块:包含进程的描述信息和控制信息,它是进程存在的唯一标识

进度调度算法 

进程之间需要竞争资源,一般都是竞争 CPU 资源,因为 CPU 运行速度太快了,其他介质都赶不上。有了竞争就需要有规则,就像游戏一样,每个游戏都需要规则,不同规则会有不同的侧重点,这个看过“最强大脑”这个节目的朋友就非常清楚,每道题都有不同的考核侧重点,有些是侧重空间思维、有些侧重逻辑推算等等。下面我们就简单地一一讲解竞争资源的游戏规则。

FCFS

First In First Out(先来先服务):最先进入就绪队列的进程,先运行,运行到完成或者阻塞时,再重新调度。一般情况下,这种调度算法会和优先级策略结合,比如每个优先级一条队列,每条队列中的调度都使用 FCFS。

特点:简单、比较偏于长进程、相对于其他调度算法平均周转时间长

RR

Round Robin(轮转):进程按提交顺序存在就绪队列,依次轮流占用 CPU 资源,运行一段固定的时间,时间到后如果还没执行完,就继续进入就绪队列队尾,排队等待下次执行。

特点:公平、对进程的响应时间较短

SPN

Shortest Process Next(最短进程优先):将预期占用运行时间最短的进程优先执行,直到运行完成或阻塞时,再重新调度。

特点:有利于短进程

SRT

Shortest Remaining Time(最短剩余时间优先):新进程进来时,如果新进程的预计运行时间比当前进程的剩余运行时间更短,就抢占当前进程,

特点:有利于短进程,和 SPN 的差别在于抢占这个一点,因为抢占,所以效率会比 SPN 好一些。

HRRN

Highest Response Ratio Next(最高响应比优先):当前运行的进程完成或者阻塞时发生调度,每次调度前,计算所有就绪进程的响应比,响应比高的进程优先运行。

响应比公式如下所示:

特点:有利于短进程服务时间相同的进程,先来的服务会优先执行长进程因为在等待的过程中,优先级越来越高,所以不会一直不执行

FB

Feedback (反馈):由多个就绪队列组成的反馈机制,它有如下规则:

  1. 在同一个队列的进程,按 FCFS 算法调度,最后一个就绪队列按 RR 算法调度;
  2. 优先级越高的队列,时间片越小;
  3. 进程在一个时间片内未运行完,则降到下一个队列末尾;
  4. 只有上级队列无就绪进程时,才运行本级就绪队列,本级就绪队列无进程时,才运行下级就绪队列,以此类推

进程执行过程如下图所示

 

特点:短进程有非常大的优势,排在前面的队列都是时间较短的

以上就是几个抢占资源的调度算法的说明。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值