说到进程,进程是啥?
进程就是系统资源分配的基本单位,它是程序运行起来的模样,是有生命周期的。
那么进程调度又是什么?
调度两个字,放在高铁上,就是用来指挥那些高铁什么时候跑在哪条轨道上,速度控制到多少。同样类比下,进程调度就是对这些进程进行控制。什么时候CPU运行这个进程,什么时候阻塞这个进程等等机制。
火车有火车头,那么进程对应的控制模块,我们就做PCB,它包含的东西很多:进程的状态;进程的编号(PID);进程的…;有了这个PCB,CPU就可以对进程进行调度。
那么怎么样对进程进行调度呢?
当然是由下面一组关键的属性来进行控制
- 进程的优先级
- 进程的状态
- 进行的记账信息
- 进程的上下文
OK,对于一些重要的进程,可以优先运行,不分先来后到,只按轻重急缓;
接着就是进程的状态,最典型的是就绪状态和阻塞状态,就绪状态就是讲进程一切都准备就绪,随时可以运行的;阻塞状态讲这个进程缺少某种资源或等待某个任务完成而被挂起。
那么对于进程的记账信息是什么鬼呢?就是说会考虑到以往的历史记录,来进行合理进程调度
最后是进程的上下文,由于本次进程没有完全运行掉,所以我们说要把本次的一些信息给存档,放入到PCB,方便下次读档。
简单的讲下进程调度的基本过程~后期再随时补充。