一、进程管理(处理机管理)
进程管理也称处理机管理。
在多道程序批处理系统和分时系统中有多个并发执行的程序,为了描述系统中程序执行时动态变化的过程引入了进程。进程是资源分配和独立运行的基本单位。进程管理重点需要研究诸进程之间的并发特性,以及进程之间相互合作与资源竞争产生的问题。
1-1、程序顺序执行与前趋图
1、前趋图(程序顺序执行)
前趋图是一个有向无循环图,由结点和有向边组成,结点代表各程序段的操作,而结点间的有向边表示两个程序段操作之间存在的前趋关系 (——>)。
程序段 P 和 Pi 的前趋关系表示成P——>Pi,其中,Pi是P的前趋,P是Pi 的后继,其含义是P执行结束后Pi才能执行。
如图:为3 个程序段,其中输入是计算的前趋(计算是输入的后继),输入结束才能进行计算。计算是输出的前趋,计算结束才能进行输出。
2、程序顺序执行的特征
程序顺序执行时的主要特征包括:顺序性、封闭性和可再现性。
【备注】:
1、可再现性
只要程序的输入数据和初始状态保持不变,那么无论程序运行的速度快慢,其最终产生的输出结果都是相同的。
2、封闭性
封闭性是指在程序运行时,它会独占系统资源,这些资源的状态只有该程序能够改变。
3、信号量操作(PV操作)
P操作:申请资源
P(S)= S - 1
V操作:释放资源
V(S)= S + 1
每个前驱箭头,都对应一个信号量S。并将其从小到大排序。
信号量S初始值 = 0
示例:
4、真题
真题1:
真题2:
真题3:
真题4:
真题5:
真题6:
真题7:
真题8:
真题9:
1-2、程序并发执行与前驱图
1、程序并发执行
若在计算机系统中采用多道程序设计技术,则主存中的多道程序可处于并发执行状态。对于上述有3个程序段的作业类,虽然每个作业有前趋关系的各程序段不能在 CPU 和输入/输出各部件并行执行,但是同一个作业内没有前趋关系的程序段或不同作业的程序段可以分别在CPU 和各输入/输出部件上并行执行。
2、前驱图
从图中可以看出,I2与C 并行执行;P1、C2与I3并行执行;C3与P2并行执行。
3、程序并发执行时的特征
(1)、失去了程序的封闭性。
(2)、程序和机器的执行程序的活动不再一一对应;
(3)、并发程序间的相互制约性。
程序顺序执行时的主要特征包括:顺序性、封闭性和可再现性。
4、程序并发执行时的问题
程序的并发执行破坏了程序的可再现性,这是因为:在并发执行的环境中,多个程序同时运行并共享系统资源,由于程序之间的这种相互依赖和制约关系,程序的执行结果变得不可预测和不可再现。即使并发程序执行的环境和初始条件相同,程序的多次执行或以不同的方式执行,都可能获得不相同的结果。
5、真题
真题1:
【注意】:
对于P2来说,只是C2完成了,不一定能执行;要P1也完成了才能执行。
真题2: