由于我们的计算机要处理的事物很多,而计算机cpu处理事务的资源是有限的,所以要引入并发。
并发:在执行完一个进程的一部分时,执行另一个进程的一部分。只要速度足够快,就可以认为这些进程是同时进行的。
进程调度的四个属性:
1,进程状态
简单认为有两个状态:1.就绪态:进程准备好了,随时准备上CPU。2.阻塞态:该进程暂时无法上CPU执行。
当一个进程进入阻塞态,就可以将该进程占用的资源分配给其他进程。比如学校上体育课,结果体育老师生病了,这节体育课就给了数学老师。
2,进程的优先级
CPU在调度进程时会考虑优先级,优先级高的优先上CPU。就像看病时有的地方会标出军人优先。
3,进程的上下文
在一个进程的一部分运行结束要换到下一个进程的一部分时,会将前面完成的那一部分进行记录。类似于游戏的存档,在游戏没通关之前要进行存档,方便从上一次的关卡开始进行游戏。具体到进程上下文具体指进程具体运行时,CPU内部的一系列寄存器的值(寄存器的一个作用就是保存当前进程执行的中间结果,包括具体执行到哪一条指令)。进程离开CPU时就会把这些CPU的值保存到PCB的上下文字段中(存档)。进程下次进入CPU,再把PCB中的值恢复到寄存器中。
4,进程的记账信息
统计每个进程在CPU上的执行了多久。用来调整优先级,比如考研复习发现自己的高等数学相对于其他学科复习的时间不是太长,而英语的复习时间又给的太多,就把一部分学习英语的时间分配给高等数学。