进程的引入
程序的顺序执行:
- 顺序性 处理机的操作严格按规定顺序执行
- 封闭性 程序执行时,独占系统资源
- 可再现性 当初始条件相同时,程序多次执行的结果相同
程序的并发执行:
- 间断性 并发执行时形成相互制约关系, 导致程序“执行—暂停—执行”
- 失去封闭性 资源供多个程序共享
- 不可再现性 封闭性被打破,多程序运行次序随机
程序并发执行的条件Bernstein
读集:R(Pi)={a1,a2,……,am} 程序Pi执行期间参考的变量集合
写集:W(Pi)={b1,b2,……,bm} 程序Pi执行期间改变的变量集合
两个进程P1, P2若满足:
R(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={}
则P1, P2并发执行,且具有可再现性。
进程的概念
可并发执行的程序在一个数据集合上的执行过程
与程序的关系
进程 | 程序 |
---|---|
动态的 | 静态的 |
并发 | 顺序 |
暂时的 | 永久的 |