您的位置  > 互联网

《进程的状态和转换三态模型》连载

进程从创建到取消再到死亡的整个生命周期可以用一组状态来表征。 根据三状态模型,进程的生命周期可以分为以下三种进程状态:

1、运行状态():占用的处理器正在运行

2. Ready:准备运行,等待系统分配处理器进行运行

3.等待状态():不具备运行条件,正在等待某个事件完成

以下是三种状态的转换图:

处于运行状态的进程会因等待事件的发生而进入等待状态。 当等待事件结束时,处于等待状态的进程将进入就绪状态,处理器的调度策略将导致运行状态和就绪状态之间的切换。

进程状态转换的具体原因如下:

五态模型

在实际系统中,进程的状态及其转换比上一节中描述的更为复杂。 例如,推出特殊新品

建立状态(新建)和终止状态(退出)

状态转换图如下:

构建状态对应于刚刚创建进程的状态。 创建流程涉及两个步骤:

1.为新流程创建必要的管理信息,

2.让进程进入就绪状态。 此时,进程将处于新的状态。 尚未提交执行,而是等待操作系统完成创建进程所需的操作。需要注意的是,操作系统有时会根据系统性能或主存容量来延迟新状态进程的提交限制。

同样,终止一个进程也需要两个步骤。 首先,它等待操作系统处理善后工作,然后退出主存。当进入时

进程已到达其自然终点,或者发生了不可克服的错误,或者已被操作系统或有权终止的其他进程终止。

当进程结束时,就会进入终端状态。 进入终止状态的进程将不再执行,但仍会暂时保留在操作系统中等待善后。

一旦其他进程完成提取有关已终止进程的信息,操作系统将删除该进程。

进程状态转换的具体原因如下:

七态模型进程挂起

到目前为止,我们或多或少总是假设所有进程都在内存中。 事实上,可能存在这样的情况,比如由于进程的不断创建,系统资源已经不能满足进程运行的需求。 这时,必须将某些进程挂起()并交换到磁盘映像区域。 参与进程调度,平滑系统运行负载。

进程挂起的原因有多种,主要有:

1、系统中所有进程都处于等待状态,处理器空闲。 这时,需要将一些阻塞的进程换出,以释放足够的内存来加载就绪的进程。

2、进程争夺资源,导致系统资源不足,过载。 这时需要暂停一些进程来调整系统负载,以保证系统的实时性能或者让系统正常运行。

3. 交换一些经常执行的进程(例如审计程序、监控程序和记帐程序)以减少系统负载。

4、用户请求暂停自己的进程,以便根据中间执行情况和中间结果进行一些调试、检查和修正。

5. 父进程要求其子进程暂停以进行某些检查和纠正。

6、操作系统需要暂停某些进程来检查运行资源使用情况,以提高系统性能; 或者当系统出现故障或某些功能损坏时,需要暂停某些进程来排除故障。

七态模型说明

以下是七状态模型的进程状态及其转换:

在此类系统中,流程中添加了两个新状态:

进程状态转换的具体原因如下:

挂起的进程可以等同于不在主存中的进程,因此挂起的进程不会参与进程调度,直到它被挂起。

它们被交换到主内存中。 挂起的进程具有以下特点:

1、进程不能立即执行。

2. 挂起的进程可以等待事件,但它等待的事件与挂起条件无关。 事件的结束并不导致进程具备执行条件。

3.由于操作系统、父进程或进程本身阻止其运行,进程进入挂起状态。

4、结束进程挂起状态的命令只能通过操作系统或父进程发出。