美文网首页
进程的三种基本状态

进程的三种基本状态

作者: 萍水间人 | 来源:发表于2019-01-24 20:22 被阅读19次

进程至今为止还没有一个准确的定义,某一个教材这么说

进程是资源分配的基本单位,也是独立运行的基本单位。

前趋图是一个有向无循环图,用于描述程序,程序段,或语句执行的先后次序。
可以理解成数据结构中的拓扑排序。

进程最基本的三种状态,
就绪状态
执行状态
阻塞状态

就绪->执行
处于就绪状态的进程,当进程调度程序为止分配了处理机后,该进程就由就绪状态转变为执行状态。

执行->就绪
处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。

执行->阻塞
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。

阻塞->就绪
处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。

例题如下


如题

(1)分别说明引起状态转换1、2、3、4的原因,并各举一个事件。
(2)为什么在转换图中没有就绪到阻塞和阻塞到运行的转换方向?
(3)一个进程的状态变换能够引起另一个进程的状态变换,说明下列因果变迁是否可能发生,原因是什么?
(a)3→1(b)2→1(c)3→2(d)3→4(e)4→1

解答:
(1)
1:就绪->执行, 当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机;
2:执行->就绪, 当前运行进程时间片用完;
3:执行->阻塞,当前运行进程等待键盘输入,进入了睡眠状态。
4:阻塞->就绪,I/O操作完成,被中断处理程序唤醒。
(2)就绪进程没有占有处理机,也即没有经过运行,其状态就不会改变。
阻塞状态进程唤醒后先要进入就绪队列,才会被调度程序选中,进入了执行状态。
(3)
(a) 3→1: 可能,当前运行进程阻塞,调度程序选一个优先级最高的进程占有处理机。
(b)2→1:可能,当前运行进程优先级下降,调度程序选一个优先级最高的进程占有处理机。
(c)3→2: 不可能,占有CPU的一个进程不能同时进入两个状态;在单CPU的系统中,状态3发生后,cpu没有执行进程,故不会发生状态转换2。
(d)3→4:一般不可能,不相干的两个事件。状态转换3是由于运行进程等待资源而发生的,这并不会使得阻塞队列中的进程得到资源而进入就绪队列。但在Unix中,当系统的0#进程因runin标志而睡眠时,有(在内存)进程睡眠,就会唤醒0#进程,使其进入就绪状态,以便将该进程和在盘交换区就绪进程交换位置。
(e)4→1:一般无关,但当就绪队列为空时,一个进程被唤醒转入就绪队列后,调度程序使该进程占有处理机(但是同一个进程)。

附上一张状态转移图


状态转移图

相关文章

  • 进程的描述与控制

    进程的定义和特征 进程的特征 进程的基本状态及转换 进程的三种基本状态 三种基本状态的转换 创建状态和终止状态 挂...

  • 进程状态

    进程具有三种基本状态: 1、就绪状态 进程已获得除CPU之外的所有资源,正在等待CPU。系统会把多个就绪状态的进程...

  • 进程的三种基本状态

    进程至今为止还没有一个准确的定义,某一个教材这么说 进程是资源分配的基本单位,也是独立运行的基本单位。 前趋图是一...

  • 操作系统-进程的基本状态及转换

    进程的三种基本状态 就绪状态:这是指进程已处于准备好运行的状态,此时进程已分配到除CPU以外所有的必要资源,只要获...

  • 笔记1:进程的三种基本状态

  • 进程的三种基本状态及其转换

    由于进程在并发执行时共享系统资源,会导致它们在运行过程中呈现间断性的运行规律,所以进程在其生命周期内可能存在多种状...

  • 信号量及PV操作 简单理解

    进程的三种状态 进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: ...

  • Linux进程管理

    1.进程基本概述 2.程序和进程的区别 3.进程的生命周期 4.监控进程状态 5.STAT详解 STAT基本状态描...

  • linux编程

    进程### 进程基本知识:进程结构、进程调度、进程状态http://www.jellythink.com/arch...

  • iOS 多线程(一)-简介

    1.进程 进程是独立运行、独立分配资源和独立接受调度的基本单位。进程有三个基本状态。(1)就绪状态当进程已分配到除...

网友评论

      本文标题:进程的三种基本状态

      本文链接:https://www.haomeiwen.com/subject/jliujqtx.html