精华内容
下载资源
问答
  • 种进程状态

    2018-05-06 20:44:55
    进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。进程状态:一般来说,进程有三个状态,即就绪状态,运行状态,阻塞状态。运行态:进程占用CPU,并在...

    进程的几种状态

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。

    进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。

    进程状态:

    一般来说,进程有三个状态,即就绪状态,运行状态,阻塞状态。

    运行态:进程占用CPU,并在CPU上运行;
           就绪态:进程已经具备运行条件,但是CPU还没有分配过来;
           阻塞态:进程因等待某件事发生而暂时不能运行;

    下面是3种状态转换图

     

     

    当然理论上上述三种状态之间转换分为六种情况;

           运行——>就绪:1,主要是进程占用CPU的时间过长,而系统分配给该进程占用CPU的时间是有限的;2,在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行时,该进程就被迫让出CPU,该进程便由执行状态转变为就绪状态。

           就绪——>运行:运行的进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU

          运行——>阻塞:正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为阻塞状态,如发生了I/O请求

          阻塞——>就绪:进程所等待的事件已经发生,就进入就绪队列

     

          以下两种状态是不可能发生的:

            阻塞——>运行:即使给阻塞进程分配CPU,也无法执行,操作系统在进行调度时不会从阻塞队列进行挑选,而是从就绪队列中选取

           就绪——>阻塞:就绪态根本就没有执行,谈不上进入阻塞态。

     

    在一些系统中,又增加了一些新状态,如挂起状态,可运行状态,深度睡眠状态,浅度睡眠状态,暂停状态,僵死状态。

    可运行状态:运行状态和就绪状态的合并,表示进程正在运行或准备运行,Linux 中使用TASK_RUNNING 宏表示可运行状态。

          浅度睡眠状态:进程正在睡眠(被阻塞),等待资源的到来是唤醒,也可以通过其他进程信号或时钟中断唤醒,进入运行队列。Linux 中使用TASK_INTERRUPTIBLE 宏表示此状态。

          深度睡眠状态:其和浅度睡眠基本类似,但不可被其他进程信号或时钟中断唤醒。Linux 中使用TASK_UNINTERRUPTIBLE 宏表示此状态。

          暂停状态:进程暂停执行接受某种处理。Linux 使用TASK_STOPPED 宏表示此状态。

          僵死状态:进程已经结束但未释放进程控制块(PCB),Linux 使用TASK_ZOMBIE 宏表示此状态。

    挂起状态:在执行状态的进程通过挂起即可进入就绪状态,如图所示,就绪状态和阻塞状态都分为活动态和静止态。由活动态向静止态转换就是通过挂起实现的。

    引入挂起状态的原因有:

    (1) 终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。亦即,使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态称为挂起状态。 

    (2) 父进程请求。有时父进程希望挂起自己的某个子进程,以便考查和修改该子进程,或者协调各子进程间的活动。

    (3) 负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。

    (4) 操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

    具有挂起状态的进程状态转换图为:

     

    有关参考文章有:http://www.2cto.com/os/201412/358908.html  

                          http://blog.chinaunix.net/uid-26126915-id-2948970.html

                          http://blog.csdn.net/u012824097/article/details/52058395

    展开全文
  • 一.linux系统进程类型有 :交互进程 ;批处理进程 ;监控进程(守护进程); 交互进程:由一个shell启动的进程。...进程状态有: linux上进程有5状态: 1. 运行(正在运行或在运行队列中等待) ...

    一.linux系统进程类型有 :交互进程 ;批处理进程 ;监控进程(守护进程);


    交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
    批处理进程:这种进程和终端没有联系,是一个进程序列。
    监控进程(也称守护进程):Linux系统启动时启动的进程,并在后台运行。

     

    二.进程状态有:

    linux上进程有5种状态:

    1. 运行(正在运行或在运行队列中等待)

    2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

    3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

    4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

    5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 

    ps工具标识进程的5种状态码:

       D 不可中断 uninterruptible sleep (usually IO)

       R 运行 runnable (on run queue)

       S 中断 sleeping

       T 停止 traced or stopped

      Z 僵死 a defunct (”zombie”) process

     

    三:常见的进程

    1./usr/sbin/inetd 守护进程为网络提供 Internet 服务管理。

     

    2.Linux下有3个特殊的进程,idle进程(PID=0), init进程(PID=1)和kthreadd(PID=2)

    (1)idle进程由系统自动创建,运行在内核态.idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程。完成加载系统后,演变为进程调度、交换.

    (2)init进程由idle通过kernel_thread创建,在内核空间完成初始化后,加载init程序,并最终用户空间创建 .init 进程 (pid = 1, ppid = 0),init进程由0进程创建,完成系统的初始化.是系统中所有其它用户进程的祖先进程.

    (3) kthreadd进程由idle通过kernel_thread创建,并始终运行在内核空间,负责所有内核线程的调度和管理 .kthreadd (pid = 2, ppid = 0)它的任务就是管理和调度其他内核线程kernel_thread,会循环执行一个kthread的函数,该函数的作用就是运行kthread_create_list全局链表中维护的kthread,当我们调用kernel_thread创建的内核线程会被加入到此链表中,因此所有的内核线程都是直接或者间接的以kthreadd为父进程.

    展开全文
  • 进程的三基本状态

    万次阅读 2015-10-29 22:45:04
     当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。  执行(Running)状态  当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态...

    进程的三种基本状态


      进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。

      就绪(Ready)状态

      当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。

      执行(Running)状态

      当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。

      阻塞(Blocked)状态

      正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

      2.进程三种状态间的转换

      进程状态变迁图

      一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。图3_4描述了进程的三种基本状态及其转换。

      (1) 就绪→执行

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

      (2) 执行→就绪

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

      (3) 执行→阻塞

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

      (4) 阻塞→就绪

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


      进程运行状态


      一个进程在其生存期内,可处于一组不同的状态下,称为进程状态,如下图所示。进程状态保存在进程任务结构的state字段中。当进程正在等待 系统中的资源而处于等待状态时,则称其处于睡眠等待状态。在Linux系统中,睡眠等待状态分为可中断的和不可中断的等待状态。


      (1)运行状态(TASK_RUNNING)。当进程正在被CPU执行,或已经准备就绪随时可由调度程序执行,则称该进程为处于运行状态 (running)。若此时进程没有被CPU执行,则称其处于就绪运行状态。见图5-21中3个标号为0的状态。进程可以在内核态运行,也可以在用户态运 行。当一个进程在内核代码中运行时,我们称其处于内核运行态,或简称为内核态;当一个进程正在执行用户自己的代码时,我们称其为处于用户运行态(用户 态)。当系统资源已经可用时,进程就被唤醒而进入准备运行状态,该状态称为就绪态。这些状态(图中中间一列)在内核中表示方法相同,都被称为处于 TASK_RUNNING状态。当一个新进程刚被创建出后就处于本状态中(最下一个0处)。

      (2)可中断睡眠状态(TASK_INTERRUPTIBLE)。当进程处于可中断等待(睡眠)状态时,系统不会调度该进程执行。当系统产生一个中断或者释放了进程正在等待的资源,或者进程收到一个信号,都可以唤醒进程转换到就绪状态(即可运行状态)。

      (3)不可中断睡眠状态(TASK_UNINTERRUPTIBLE)。除了不会因为收到信号而被唤醒,该状态与可中断睡眠状态类似。但处于该状态 的进程只有被使用wake_up()函数明确唤醒时才能转换到可运行的就绪状态。该状态通常在进程需要不受干扰地等待或者所等待事件会很快发生时使用。

      (4)暂停状态(TASK_STOPPED)。当进程收到信号SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU时就会进入暂停状 态。可向其发送SIGCONT信号让进程转换到可运行状态。进程在调试期间接收到任何信号均会进入该状态。在Linux 0.12中,还未实现对该状态的转换处理。处于该状态的进程将被作为进程终止来处理。

      (5)僵死状态(TASK_ZOMBIE)。当进程已停止运行,但其父进程还没有调用wait()询问其状态时,则称该进程处于僵死状态。为了了让 父进程能够获取其停止运行的信息,此时子进程的任务数据结构信息还需要保留着。一旦父进程调用wait()取得了子进程的信息,则处于该状态进程的任务数 据结构就会被释放。

      当一个进程的运行时间片用完,系统就会使用调度程序强制切换到其他的进程去执行。另外,如果进程在内核态执行时需要等待系统的某个资源,此时该进程 就会调用sleep_on()或interruptible_sleep_on()自愿地放弃CPU的使用权,而让调度程序去执行其他进程。进程则进入睡 眠状态(TASK_UNINTERRUPTIBLE或TASK_INTERRUPTIBLE)。

      只有当进程从"内核运行态"转移到"睡眠状态"时,内核才会进行进程切换操作。在内核态下运行的进程不能被其他进程抢占,而且一个进程不能改变另一个进程的状态。为了避免进程切换时造成内核数据错误,内核在执行临界区代码时会禁止一切中断。

    展开全文
  • 进程的几种状态

    万次阅读 2016-07-28 19:53:57
    进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。 进程状态: 一般来说,进程有三个状态,即就绪状态,运行状态,阻塞状态。 运行态:进程占用CPU,并...

    进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位

    进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。

    进程状态:

    一般来说,进程有三个状态,即就绪状态,运行状态,阻塞状态。

    运行态:进程占用CPU,并在CPU上运行;
          
     就绪态:进程已经具备运行条件,但是CPU还没有分配过来;
          
     阻塞态:进程因等待某件事发生而暂时不能运行;

    下面是3种状态转换图



    当然理论上上述三种状态之间转换分为六种情况;

           运行——>就绪:1,主要是进程占用CPU的时间过长,而系统分配给该进程占用CPU的时间是有限的;2,在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行时,该进程就被迫让出CPU,该进程便由执行状态转变为就绪状态。

           就绪——>运行:运行的进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU

          运行——>阻塞:正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为阻塞状态,如发生了I/O请求

          阻塞——>就绪:进程所等待的事件已经发生,就进入就绪队列

     

          以下两种状态是不可能发生的:

            阻塞——>运行:即使给阻塞进程分配CPU,也无法执行,操作系统在进行调度时不会从阻塞队列进行挑选,而是从就绪队列中选取

           就绪——>阻塞:就绪态根本就没有执行,谈不上进入阻塞态。

     

    在一些系统中,又增加了一些新状态,如挂起状态,可运行状态,深度睡眠状态,浅度睡眠状态,暂停状态,僵死状态。

    可运行状态:运行状态和就绪状态的合并,表示进程正在运行或准备运行,Linux 中使用TASK_RUNNING 宏表示可运行状态。

          浅度睡眠状态:进程正在睡眠(被阻塞),等待资源的到来是唤醒,也可以通过其他进程信号或时钟中断唤醒,进入运行队列。Linux 中使用TASK_INTERRUPTIBLE 宏表示此状态。

          深度睡眠状态:其和浅度睡眠基本类似,但不可被其他进程信号或时钟中断唤醒。Linux 中使用TASK_UNINTERRUPTIBLE 宏表示此状态。

          暂停状态:进程暂停执行接受某种处理。Linux 使用TASK_STOPPED 宏表示此状态。

          僵死状态:进程已经结束但未释放进程控制块(PCB),Linux 使用TASK_ZOMBIE 宏表示此状态。

    挂起状态:在执行状态的进程通过挂起即可进入就绪状态,如图所示,就绪状态和阻塞状态都分为活动态和静止态。由活动态向静止态转换就是通过挂起实现的。

    引入挂起状态的原因有:

    (1) 终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。亦即,使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态称为挂起状态。 

    (2) 父进程请求。有时父进程希望挂起自己的某个子进程,以便考查和修改该子进程,或者协调各子进程间的活动。

    (3) 负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。

    (4) 操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

    具有挂起状态的进程状态转换图为:



    有关参考文章有:http://www.2cto.com/os/201412/358908.html  

                                   http://blog.chinaunix.net/uid-26126915-id-2948970.html



    展开全文
  • 操作系统进程状态和状态转换详解

    千次阅读 多人点赞 2019-11-01 10:28:55
    进程状态的转换与PCB详解 ​ 返回主目录 ​ 之前的有博文对进程和线程的区别进行了详细的介绍,并且说明了引入进程的目的是为了能够使程序并发的执行,并且可以对并发执行的程序加以描述和控制。这篇博文,我们...
  • Linux的进程状态

    千次阅读 2017-11-17 10:23:17
    一个进程可以处于以下种状态之一:运行态或未运行态。在任何一情况下,分配器都会从队列中选择一个进程来执行。其过程如图所示: 两状态进程模型图二、进程的创建和终止 1、进程创建的原因: (1)新的...
  • 通常,一个运行进程必须具有以下基本状态。  就绪(Ready)状态  当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。  执行(Running)状态 当进程已...
  • ps命令查看进程状态

    万次阅读 2018-03-26 20:47:22
    在Linux下进程有5种状态: 运行状态(R) 正在运行或在运行队列中等待 睡眠状态(S) 休眠中, 进程在等待事件的完成 不可中断睡眠状态(D) 指的并不是CPU不影响外部硬件中断,而是指进程不影响异步信号。...
  • 进程的三种状态及转换

    千次阅读 2014-03-08 21:48:05
    通常,一个运行进程必须具有以下基本状态。  就绪(Ready)状态  当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。  执行(Running)状态 当进程已获得...
  • Linux进程状态

    千次阅读 2015-06-12 16:37:43
    在操作系统下执行top命令,S列为进程状态,对几个进程状态做下解释: 进程大致分为以下几个状态 D 不可中断 Uninterruptible sleep (usually IO)  R 正在运行,或在队列中的进程  S 处于休眠状态  T 停止或...
  • 进程状态转换

    千次阅读 2012-10-12 10:14:05
    进程的状态转换图 1.就绪–>执行 2....当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 执行(Running)状态 当进程已获得处理机,其程序正在处
  • Zabbix通过进程名监控进程状态配置详解 有时候我们只能通过进程名监控一个进程是否停掉了,因为有的进程并没有对外提供端口号,以下记录了下详细步骤,通过这个示例会学到很多zabbix核心配置相关的东西。 总的来说...
  • 进程在其生存期内可能处于如下三基本状态之一: (1) 运行态(Run): 进程占有处理机资源,正在运行。 显然,在单处理机系统中任一时刻只能有一个进程处于此种状态; (2) 就绪态(Ready): 进程本身具备运行条件,但由于...
  • 进程的三种状态

    千次阅读 2018-08-09 19:21:18
    进程有三基本状态:运行态,就绪态,等待态又可以称之为阻塞态。 等待态:等待某一事件 就绪态:等待系统分配处理器以便运行 运行态:正在占用处理器运行。 这三种状态的转换关系 运行态到等待态:一个进程...
  • linux查看进程状态

    千次阅读 2021-02-19 15:41:39
    ps命令是查看进程状态的基础指令,有以下几个常用参数: 一:最常用的参数组合及解析 \1. 如果想查看包含其他使用者的进程,和PID,CPU占有率,记忆体使用情况,运行状态等,可以输入ps -aux USER:进程拥有者,...
  • 进程的三种状态详解

    千次阅读 2015-05-19 19:42:14
    通常,一个运行进程必须具有以下基本状态。  1、就绪(Ready)状态  当进程已分配到除CPU以外的所有必要的资源,只要获得CPU便可立即执行,这时的进程状态称为就绪状态。  2、执行(Running)状态  当进程...
  • Linux系统的进程通常有以下种状态

    千次阅读 2014-12-25 19:29:52
    Linux系统的进程通常有以下种状态: R(TASK_RUNNING),可执行状态。 只有在该状态进程才可能在CPU上运行,同一时刻可能有多个进程处于可执行状态。 S(TASK_INTERRUPTIBLE),可中断的睡眠状态。 处于这个...
  • 进程的三基本状态及转换

    千次阅读 2014-09-09 20:38:12
    通常,一个运行进程必须具有以下基本状态。 就绪(Ready)状态  当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 执行(Running)状态 当进程已...
  • 进程的三种状态及其转换

    万次阅读 多人点赞 2018-03-30 00:05:39
    通常,一个运行进程必须具有以下基本状态:  ①就绪(Ready)状态  当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的...
  • 操作系统:linux 处理器:arm 内核版本:4.x 目录: 进程状态 组织方式 进程状态 组织方式
  • (1)一个运行中的进程不断改变其状态,通常进程必须具备以下三个基本状态:  ①就绪状态:  当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统...
  • 只有在该状态进程才可能在CPU上运行,同一时刻可能有多个进程处于可执行状态。 S(TASK_INTERRUPTIBLE),可中断的睡眠状态。 处于这个状态进程因为等待某事件的发生(比如等待socket连接、等待信号量),而被挂...
  • 摘要:本文主要介绍进程资源和进程状态.进程资源由两部分组成:内核空间进程资源以及用户空间进程资源.进程状态,就绪/运行状态、等待状态(可以被中断打断)、等待状态(不可以被中断打断)、停止状态和僵死状态.
  • linux进程状态及切换

    2015-05-16 17:18:20
    通常,一个运行进程必须具有以下基本状态。  就绪(Ready)状态  当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。  执行(Running)状态 当...
  • 通常,一个运行进程必须具有以下基本状态。  就绪(Ready)状态  当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。  执行(Running)状态 当进程已...
  • 通常进程以下种状态,前三进程的基本状态。 1)运行状态 进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。 2)就绪状态 进程已处于准备运行的状态。即进程获得了除处理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 474,547
精华内容 189,818
关键字:

以下哪种不是进程的状态