根本矛盾:CPU的高速计算与其他设备速度不匹配之间的矛盾
动机:CPU要等待时就去算其他事情,等完了再回来继续算
问题:CPU如何知道哪些事情是现在可算的?CPU如何知道等完了?CPU等完了怎么回来?所有需要做的事情都可以按上面办法组织吗?
进程
一个运行中的程序:进程=程序+PCB
- 归根到底还是一个程序
- 是动态的程序
- CPU可以在进程间来回切换
- 进程会开始、会暂停、会结束
- 程序一般不会暂停
- 为了切换出去后还能切换回来,能够接着刚刚的工作结果继续进行,需要保存离开的位置和离开的时候工作的环境
- PCB(Process Control Block,进程控制块)
- 在OS眼中,进程就是PCB
- CPU可以在进程间来回切换
进程描述与组织
进程状态图
只有一个进程可以在运行态
PCB
队列
所有在一个状态中的进程按一个队列组织
按某种调度顺序排列
一旦触发某事件,就从队列中取出一个线程切换状态