首先了解一下什么是进程调度
进程调度就是通过并行和并发的方式,在计算机上同时执行多个任务
举个列例子
我身边有3个人
A同学是我好兄弟,喜欢打游戏不喜欢学习,
B同学也是我好兄弟,喜欢学习不想打游戏,
C同学是个认识不久的学弟,我教他知识
同时和它3个一起,我们会很很尴尬
所以根据情况我排了个表
此时此刻就能可以非常好的游走在3人之间
这个就是调度的过程
进程调度是有下面4个属性支撑的
一.进程状态
排表有个前提,就是朋友’随叫随到‘
但有时候也有特殊情况,比如A同学回农村家里没网,就不能随叫随到的打游戏了。
这个时候排表就不排A了,多拍B和C
因此,排表的时候,就需要规划好~(根据所处状态来规划)
这里,我们有2 个状态
1).随叫随到(就绪状态)
2).不能随叫随到状态(阻塞状态)
二.进程优先级
比如我喜欢打游戏,在排表的时候就多给B排一点,
不喜欢的就少排一点
三.进程上下文
进程在CPU上执行一会之后,要切换给别的进程,就要保存当前运行的的中间结果(存档),下次再轮到他执行的时候,就恢复之前的中间结果(读档),继续向下执行
举个例子
就跟打单机游戏,打到一半,突然有事,存下档(记录一下),事情忙完回来接着玩
四.进程 记账信息
记录每个进程在CPU上执行的多久,统计信息
起到辅助调度的效果
在执行进程的时候,虽然有优先级,但是还是不希望让有点进程完全捞不着CPU
通过时间表,如果其中一个进程安排的时间太少了,就多给他安排的时间,
避免有的进程完全捞不着CPU执行