操作系统原理一:进程管理

进程是程序的一次执行

是一个程序及其数据在处理机上顺序执行时所发生的活动

是具有独立功能的程序在一个数据集合上的一次运行过程

是系统进行资源分配和调度的一个基本单位

PCB结构、程序和数据的集合

设备分配只针对现有进程,不会创建进程

进程的特征:

动态性:进程的实质是程序的一次执行过程,因此,动态特征是进程最重要的特征

并发性:没有为之建立进程的程序是不能并发执行的,仅当为之建立一个进程后才能参加
并发执行

独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位

异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可
预知的速度向前推进

结构特征:为了控制和管理进程,系统为每个进程设立一个进程控制块--PCB

进程与程序的区别:

程序是进程的静态文本,进程是执行程序的动态过程

进程与程序之间不是一一对应的,同一程序同时运行于若干不同的数据集合上,它将属于若干个不同的进程;
一个进程可以执行多个程序

程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的

进程是系统分配调度的独立单位,能与其他进程并发执行

进程状态及其演变

进程执行的间断性,决定了进程可能具有多种状态

基本状态

运行的进程可能具有就绪、执行、阻塞三种基本状态

操作系统原理一:进程管理

当进程已分配到除CPU以外的所有必要资源时,它便处于就绪状态,一旦获得CPU,便立即执行,进入执行状态
正在执行的进程,由于发生某个事件而暂时无法执行时,便放弃处理机而进入阻塞状态
由于执行的进程变为阻塞状态后,调度程序立即把处理机分配给另一个就绪进程(因此,阻塞进程的事件消失后,进程不会立即恢复到执行状态,而转变为就绪状态,重新等待处理机)

创建和终止

为了管理的需要,还存在着两种比较常见的进程状态,即创建状态和终止状态

操作系统原理一:进程管理

创建状态:

引起创建的事件:

用户登录

作业调度:为被调度的作业创建进程

提供服务:要求打印

应用请求

创建一个进程一般要通过两个步骤:

首先,为一个新进程创建PCB,并填写必要的管理信息;

其次,把该进程转入就绪状态并插入就绪队列之中。

当一个新进程被创建时,系统已为其分配了PCB,填写了进程标识等信息,但由于该进程所必需的资源或其它信息,如主存资源尚未分配等,一般而言,此时的进程已拥有了自己的PCB,但进程自身还未进入主存,即创建工作尚未完成,进程还不能被调度运行,其所处的状态就是创建状态。

引入创建状态,是为了保证进程的调度必须在创建工作完成后进行,以确保对进程控制块操作的完整性。同时,创建状态的引入,也增加了管理的灵活性,操作系统可以根据系统性能或主存容量的限制,推迟创建状态进程的提交。对于处于创建状态的进程,获得了其所必需的资源,以及对其PCB初始化工作完成后,进程状态便可由创建状态转入就绪状态。

终止状态:

引起终止的事件:

正常结束

异常结束

外界干预

系统管理员kill

父进程终止

父进程请求

进程的终止也要通过两个步骤:

首先等待操作系统进行善后处理

然后将其PCB清零,并将PCB 空间返还系统

一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态

进入终止态的进程以后不能再执行,但在操作系统中依然保留一个记录,其中保存状态码和一些计时统计数据,供其它进程收集。一旦其它进程完成了对终止状态进程的信息提取之后,操作系统将删除该进程。

阻塞和唤醒

阻塞是进程自身的一种主动行为

a. 调用block原语

b. 停止执行,修改PCB进入阻塞队列(一个或多个

唤醒由其他相关进程完成

a. wakeup原语

b. 修改PCB进入就绪队列

挂起

为了系统和用户观察分析的需要,还引入了挂起操作,与挂起对应的是激活操作

当进程被挂起,便会进入静止状态:正在执行,便会暂停执行,处于就绪状态则不接受调度

引入挂起状态的原因有:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypfsj.html