进程知识梳理
进程概念
程序是一个可执行的文件。
进程是程序的一次执行过程,是一次动态的过程。
进程是系统进行资源分配的最小单位。
进程调度过程
1.通过一些机制,让当前运行的进程停止,进入操作系统逻辑。
2.保存上下文信息——进程A(当前进程)运行到什么情况,方便下次继续执行。
3.从当前已准备好的进程列表中,通过一定的算法选择一个进程出来——这里是进程B。
4.回复进程B的上下文信息,让进程B接着执行。
并发和并行
并发:假同时,由于操作系统进行了时间片分割和进程调度的原因,从肉眼来看,认为进程是同事进行的,实际上,单位时间内,只有一个进程在运行。
并行:真同时,发生在多核或者多CPU的情况下。
进程状态
1.创建:创建了一个进程,但没有准备好,系统为进程分配资源,初始化PCB。
2.就绪:已具备运行条件,只缺CPU。
3.运行:分配到CPU了,正在运行。
4.阻塞:某事件发生,进程不能运行,如等待I/O请求。
5.终止:进程运行结束到系统彻底销毁进程对象之前。
进程状态之间的转换:
就绪态到运行态:进程被调用,获取CPU时间片。
运行态到就绪态:时间片耗尽或处理机被强占或者主动放弃。
运行态到阻塞态:进程请求等待某个事件发生,如进行I/O请求。
阻塞态到就绪态:申请的资源被分配或请求的事件发生。
运行态到阻塞态:是进程自身做出的主动行为
阻塞态到就绪态:不是进程本身能控制的,是一种被动行为
不能阻塞态进运行态,也不能就绪态进入阻塞态。