
在多道程序批处理系统和分时系统中有多个并发执行的程序,为了描述系统中程序执行时动态变化的过程引入了进程。
进程是资源分配和独立运行的基本单位,进程管理也称处理机管理,重点在于处理进程间的并发特性以及因此产生的问题。
进程的基本概念
进程的组成
- PCB:进程存在的唯一标识

- 程序
程序部分描述了进程需要完成的功能。假如一个程序能被多个进程同时共享执行,那么这一部分就应该以可再入(纯)码的形式编制,它是程序执行时不可修改的部分。
- 数据
数据部分包括程序执行时所需的数据及工作区。该部分只能为一个进程所专用,是进程的可修改部分。
程序的执行
顺序执行的特性
前趋图是一个有向无循环图,由结点和有向边组成,结点代表各程序段的操作,而结点间的有向边表示两个程序段操作之间存在的前趋关系(→),如图:

程序顺序执行时的主要特征包括顺序性、封闭性和可再现性。
并发执行的特性
若在计算机系统中采用多道程序设计技术,则主存中的多道程序可处于并发执行状态。
- 每个作业有前趋关系的各程序段不能在 CPU 和输入/输出各部件并行执行,
- 同一个作业内没有前趋关系的程序段或不同作业的程序段可以分别在CPU 和各输入/输出部件上并行执行。

程序并发执行时的特征如下
- 失去了程序的封闭性。
- 程序和机器的执行程序的活动不再一一对应。
- 并发程序间的相互制约性。
为了解决上述的问题,需要研究进程间的互斥问题
进程的状态
三态模型
- 运行
当一个进程在处理机上运行时,则称该进程处于运行状态。显然,对于单处理机系统,处于运行状态的进程只有一个。
CPU:√;资源:√;
- 就绪
一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。进程被放入就绪队列。
CPU:×;资源:√;
- 阻塞
阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如请求 IO 等待 O 完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。进程进入阻塞队列。
CPU:×;资源:×;

时间片到条件,如规定了程序只能运行3s。
五态模型
相较于三态模型,引入了新建态和终止态
- 新建态
新建态对应于进程刚刚被创建时没有被提交的状态,并等待系统完成创建进程的所有必要信息。因为创建进程时分为两个阶段:
第一个阶段为一个新进程创建必要的管理信息
第二个阶段让该进程进入就绪状态。
由于有了新建态操作系统,往往可以根据系统的性能和主存容量的限制推迟新建态进程的提交。
- 终止态
第一个阶段等待操作系统进行善后处理。
第二个阶段释放主存。

具有挂起状态的进程状态
- 活跃就绪:进程在主存并且可被调度的状态
- 静止就绪:静止就绪是指就绪进程被对换到辅存时的状态,它是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级时,系统将把挂起就绪态进程调回主存并转换为活跃就绪。
- 活跃阻塞:进程在主存,一旦等待的事件产生便进入活跃就绪状态。
- 静止阻塞:阻塞进程对换到辅存时的状态,一旦等待的事件产生便进入静止就绪状态。

进程的控制
进程控制就是对系统中的所有进程从创建到消亡的全过程实施有效的控制。进程控制是由操作系统的内核(基于硬件的第一层软件扩充)中的原语(由若干条机器指令组成的,用于完成特定功能的程序段)实现的。
不同的操作系统内核所包含的功能不同,但大多数操作系统的内核都包含支撑功能和资源管理的功能。

被折叠的 条评论
为什么被折叠?



