Linux内核and进程调度

#学习总结自:04 进程优先级及nice_哔哩哔哩_bilibili

概念:上下文切换(英语:context switch),又称环境切换,电脑术语,是一个存储和重建CPU的状态 (内文),因此令多个进程(process)可以分享单一CPU资源的计算过程。要切换CPU上的进程时,必需先行存储目前进程的状态,再将欲运行的进程之状态读回CPU中。

人话:p1和p2两个进程,把p1中的一些信息、程序计数器、变量、程序运行到哪了,一些寄存器里存储的值保存下来 ,再去加载p2,运行p2。称为上下文切换,切换执行环境。

调度算法

FIFO:first in first out,

先来的先处理,后来的后处理,被CPU调度

p1:20ms

p2:40ms;

p3:5ms

算法简单,放在队列中排序就好,劣势效率低

STF(short come first)

谁进程时间短,谁先被调度。

p1:1000ms

p2:40ms

p3:5ms

同时到达

p3>p2>p1

优势:整体等待时间下降,劣势:长时间进程先到还是先执行

STCF:short complete first

谁先完成谁先被调度,抢占式。

p1:1000ms

p2:40ms

p3:5ms

p1 -----10ms-----p2>p1>p3(此时p3来了可以抢占)>p1

后来的时间短的可以抢占前面的

RR轮询方式

把1s分为很多时间片,把这些时间片分给每一个进程

1s内多个进程是并行进行。

 进程队列

局部队列:多个cpu,每个cpu都有自己的进程,每个CPU从自己的队列中取进程然后执行。

进程优先级:

每个进程都有前后优先级,查看优先级ps -l (linux)

进程的nice值, 对其他进程的好的程度,nice值越高,优先级越低,越不会抢占cpu,得到cpu调度的时间越少

对于短作业优先调度算法(SJF),属于非抢占算法

题目来源:操作系统期末复习题(短作业优先调度算法SJF)_哔哩哔哩_bilibili

周转时间:完成时间-提交时间

带权周转时间:周转时间/运行时间
进程   到达时间   开始时间   运行时间   完成时间   周转时间

A        8:00             8:00         120min        10:00         120min

B        8:50             10:30         50min         11:20         150min

C        9:00             10:00          10min         10:10       70min

D        9:50             10:10            20min        10:30       40min

相反,抢占式优先级调度算法就是时间到了谁的优先级高谁先运行,有限数越大优先级越高

优先级分为静态优先级和动态~,静态:创建进程时确定,之后不变,动态:创建进程有初始值,之后动态调整优先级。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值