什么是进程?
程序的执行(顺序执行、并发执行)
顺序执行
外部有序和内部有序
举个栗子
int main(){
a;
b;
}
int main(){
c;
d;
}//a b c b分别表示执行语句
像这样对于顺序执行,执行的顺序只能为abcd,cdab
顺序执行的特征:
顺序性、封闭性、可再现性
封闭性:执行结果不受外界因素影响
可再现性:不论怎么执行,都将获得相同的结果
前趋图:有向无循环图DAG,Directed Acyclic Graph
程序的并发执行
特征:间断性、失去封闭性、不可再现性
其中不可再现性是因为封闭性所引起的
进程的特征
结构特征:程序段、数据段、pcb(进程控制块)其三构成了进程实体
动态性:有生命期,由创建而产生、由调度而执行、由撤销而消亡
这里可以看出程序和进程的区别,程序是静态的,而进程是动态的
并发性:
独立性:
异步性:
进程的三种状态:
就绪状态、执行状态、阻塞状态
举个栗子
科学家为女儿烤面包
科学家找到做蛋糕的食谱后就开始进行制作,这个食谱就相当于程序,科学家相当于CPU
当科学家把所有的东西都准备好后,就差开始做了,这个状态就称为就绪状态,万事俱备只差CPU