精华内容
下载资源
问答
  • 哪些状态属于进程的状态
    千次阅读
    2021-05-12 09:38:48

    linux系统最常用的命令莫过于ps,经常要用其查看linux的进程和线程情况。此文我们着重来看进程 。进程又分为以下几种状态:

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

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

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

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

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

    其对应在ps上的相应状态码如下:状态定义

    RRunning.运行中

    SInterruptible Sleep.等待调用

    DUninterruptible Sleep.等待磁盘IO

    TStoped.暂停或者跟踪状态

    XDead.即将被撤销

    ZZombie.进程已经结束,仅映像名留存

    WPaging.内存交换

    N优先级低的进程

    s进程的领导者

    L锁定状态

    l多线程状态

    +前台进程

    平时在查看linux进程状态时,查看最多的三个状态是R  S   D

    R状态,不必多说,R就是running的缩写,即运行中的进程。

    S 即 sleep进程,休眠进程。其又分为两种:Interruptible Sleep(可中断睡眠,在ps命令中显示“S”)。处在这种睡眠状态的进程是可以通过给它发送signal来唤醒的,比如发HUP信号给nginx的master进程可以让nginx重新加载配置文件而不需要重新启动nginx进程;

    Uninterruptible Sleep(不可中断睡眠,在ps命令中显示“D”)。处在这种状态的进程不接受外来的任何signal,这也是为什么之前我无法用kill杀掉这些处于D状态的进程,无论是“kill”, “kill -9”还是“kill -15”,因为它们压根儿就不受这些信号的支配。

    D 即上面提到的Uninterruptible Sleep ,如果从广义上来分,D状态算是一种特殊的S状态进程。进程为什么会被置于D状态呢?

    D状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,如果进程正在等待的IO在较长的时间内都没有响应,那么就很会不幸地被ps看到了,同时也就意味着很有可能有IO出了问题,可能是外设本身出了故障,也可能是比如NFS挂载的远程文件系统已经不可访问了。

    正是因为得不到IO的响应,进程才进入了uninterruptible sleep状态,所以要想使进程从uninterruptible sleep状态恢复,就得使进程等待的IO恢复,比如如果是因为从远程挂载的NFS卷不可访问导致进程进入uninterruptible sleep状态的,那么可以通过恢复该NFS卷的连接来使进程的IO请求得到满足,除此之外,要想干掉处在D状态进程就只能重启整个Linux系统(D进程并不能通过kill 和kill -9 杀掉) 。

    更多相关内容
  • 进程哪些状态

    千次阅读 2021-09-07 09:36:08
    进程一共有5种状态,分别是创建、就绪、运行(执行)、终止、阻塞。 运行状态就是进程正在CPU上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。 就绪状态就是说进程已处于准备运行的状态,即进程...

    进程一共有5种状态,分别是创建、就绪、运行(执行)、终止、阻塞。
    进程状态转换图

    • 运行状态就是进程正在CPU上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。
    • 就绪状态就是说进程已处于准备运行的状态,即进程获得了除CPU之外的一切所需资源,一旦得到CPU即可运行。
    • 阻塞状态就是进程正在等待某一事件而暂停运行,比如等待某资源为可用或等待I/O完成。即使CPU空闲,该进程也不能运行。

    运行态→阻塞态:往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的。
    阻塞态→就绪态:则是等待的条件已满足,只需分配到处理器后就能运行。
    运行态→就绪态:不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器等。
    就绪态→运行态:系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成了运行态。

    展开全文
  • 进程状态转换

    千次阅读 2021-06-01 15:45:04
      进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。   一个进程从创建而产生至撤销而消亡的整个生命期间,有时占有处理器执行,有时虽可运行但分不到处理器、有时虽有空闲...

    1. 三态模型

      进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。

      一个进程从创建而产生至撤销而消亡的整个生命期间,有时占有处理器执行,有时虽可运行但分不到处理器、有时虽有空闲处理器但因等待某个事件的发生而无法执行,这一切都说明进程和程序不相同,它是活动的且有状态变化的,这可以用一组状态加以刻画。根据三态模型,进程的生命周期可分为如下三种进程状态:

    1. 运行状态(running): 占有处理器正在运行
    2. 就绪状态(ready): 具备运行条件,等待系统分配处理器以便运行
    3. 等待状态(blocked): 又称为阻塞(blocked)态或睡眠(sleep)态,不具备运行条件,正在等待某个事件的完成

    参考:三态转换模型图

    在这里插入图片描述通常,一个进程在创建后将处于就绪状态。每个进程在执行过程中,任意时刻当且仅当处于上述三种状态之一。同时,在一个进程执行过程中,它的状态将会发生改变。引起进程状态转换的具体原因如下:

    (1)运行态 ⇒ \Rightarrow 等待态:等待使用资源或某事件发生,如等待外设传输;等待人工干预。
    (2)等待态 ⇒ \Rightarrow 就绪态:资源得到满足或某事件己经发生,如外设传输结束;人工干预完成。
    (3)运行态 ⇒ \Rightarrow 就绪态:运行时间片到,或出现有更高优先权进程。
    (4)就绪态 ⇒ \Rightarrow 运行态:CPU空闲时被调度选中一个就绪进程执行。


    2. 五态模型

    参考:五态转换模型图
    在这里插入图片描述对比三态转换模型图增加了两个状态:

    • 静止就绪: 进程具备运行条件但目前在二级存储器中,只有当它被对换到主存才能被调度执行。
    • 静止阻塞: 进程正在等待某一个事件且在二级存储器中。

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

    • 运行态 ⇒ \Rightarrow 静止就绪态:当一个具有较高优先级的静止阻塞态进程的等待事件结束后,它需要抢占 CPU,,而此时主存空间不够,从而可能导致正在运行的进程转化为静止就绪态。另外处于运行态的进程也可以自己挂起自己。

    • 活跃阻塞态 ⇒ \Rightarrow 静止阻塞态:如果当前不存在就绪进程,那么至少有一个活跃阻塞态进程将被对换出去成为静止阻塞态;操作系统根据当前资源状况和性能要求,可以决定把活跃阻塞态进程对换出去成为静止阻塞态。

    • 静止阻塞态 ⇒ \Rightarrow 静止就绪态:引起进程等待的事件发生之后,相应的静止阻塞态进程将转换为静止就绪态。

    • 静止就绪态 ⇒ \Rightarrow 活跃就绪态:当内存中没有就绪态进程,或者静止就绪态进程具有比活跃就绪态进程更高的优先级,系统将把静止就绪态进程转换成活跃就绪态。

    • 活跃就绪态 ⇒ \Rightarrow 静止就绪态:操作系统根据当前资源状况和性能要求,也可以决定把活跃就绪态进程对换出去成为静止就绪态。

    • 静止阻塞态 ⇒ \Rightarrow 活跃阻塞态:当一个进程等待一个事件时,原则上不需要把它调入内存。但是在下面一种情况下,这一状态变化是可能的。当一个进程退出后,主存已经有了一大块自由空间,而某个静止阻塞态进程具有较高的优先级并且操作系统已经得知导致它阻塞的事件即将结束,此时便发生了这一状态变化。



    结束语:每天清晨洗脸的时候,顺便对着镜子练习。多想一些愉快的事物,或令你有成就感的事物,并学会把这种感情表现在脸上。试着去想今天可能发生令自己高兴的事,诸如:今天这笔生意可以成交,可以晚上与妻子去品尝大排档,孩子从明天开始放假返家了——等等,然后你带着愉悦的心情,收紧下巴,抬头向前,走出家门。深深地呼吸,以便吸收太阳光。碰到朋友时,以笑脸相迎,握手时要用力。不必担心会遭到误解和嘲笑。在内心不断重复快乐的信念。这样,你周围的人或事便会如你期待的那样顺心如意。

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

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

    主目录

    ​ 之前的有博文对进程和线程的区别进行了详细的介绍,并且说明了引入进程的目的是为了能够使程序并发的执行,并且可以对并发执行的程序加以描述和控制。这篇博文,我们就来对进程的状态转换来进行详细的分析。本文除了进程的状态转换,还穿插着对进程的控制的说明。

    ​ 注意:本博文中进程均是在传统操作系统中的进程,既是OS进行资源分配的基本单位,也是OS进行调度的一个独立单位。

    ​ 在开始之前,我们对进程和程序来进行一个对比:

    1. 程序是静态的,而进程是动态的。
    2. 程序可以作为一种软件资源长期存在,而进程是有一定生命周期的。程序是永久的,进程是暂时的。
    3. 进程更能真实地描述并发,而程序不能;
    4. 进程具有创建其他进程的功能,而程序没有;
    5. 同一程序可以对应多个进程;
    6. 进程是系统分配资源和调度的独立单位,而程序不是。

    因此,从上面我们可以得到进程的一些特征:

    1. 动态性(进程由创建而产生,由调度而执行,由撤销而消亡);
    2. 并发性(多个进程同存于内存中,可以并发的执行);
    3. 独立性(资源分派和调度的独立单位);
    4. 异步性(进程的执行以一种不可预知的速度向前推进)。

    三种基本状态

    ​ 上面我们讲到了,进程是具有生命周期的,由创建而产生,由调度而执行,由撤销而消亡,并且内存中可以同时存在多个进程,多个进程在并发执行的过程中共享系统资源,因为资源的争用或者其他原因,导致进程在运行的过程中呈现间断性(异步),因此,进程在其生命周期内就具有多种状态。

    ​ 首先我们讲的是三种基本状态:就绪态、执行态、阻塞态。这三种基本状态是每个OS中都会有的,因此也称之为基本状态,下面先给出三种基本状态的定义:

    1. 就绪(Ready)状态:通过Ready我们可以看到,处于此状态的进程已经处于准备好要运行了,此时进程已经分配好除CPU外的所有必要资源,只需获得CPU(CPU如何进行分配,请关注后续有关处理机调度的博文),便可立即执行。用一句话来描述处于就绪态的进程:万事俱备,只欠CPU。另外还有一个就绪队列的概念,处于就绪态的进程都在此队列中,等待着调度程序的调度(分配CPU)。
    2. 执行(Running)状态:Running,运行中的,处于此状态的进程是已经获得CPU并且正在执行中。对于这一状态,在单CPU OS中,同一时刻只能有一个进程处于此状态,而在多CPU OS中,则可以有多个(不超过CPU的数量)进程同时处于执行状态。
    3. 阻塞(Block)状态:阻塞,百度释义为:障碍而不能通过,无法畅通。处于此状态的进程是因为在执行的过程中由于发生某种需要等待的事件(I/O请求、申请缓存失败、等待接收数据等),而暂时无法继续执行。我们知道在多道批处理系统中,此时需要进程把处理机释放,并选取新的就绪进程执行。与就绪队列相对应的,处于阻塞状态的进程都在阻塞队列中,某些OS中,出于提高效率的目的,根据阻塞的原因,会有多个阻塞队列。

    进程三种基本状态转换图
    ​ 上图是进程的三种基本状态的转换图,进程在运行的过程中会经常的发生状态的转换。从图中我们可以看到,就绪态和执行态是可以互相转换的,但是执行态到阻塞态是单向的,这是因为就算阻塞的进程"通畅"了,但是因为处理机已经分配给了别的进程,因此进程的状态也只能切换到就绪态,并且也是单项的,因为等待事件也只可以在执行中才能发生,下面说明下各个状态切换发生的原因:

    1. 就绪态—>执行态:进程获得CPU(被调度程序选中);
    2. 执行态—>阻塞态:向OS请求共享资源(互斥、同步)失败、等待某种操作完成、新数据尚未到达(I/O操作)、等待新任务的到达;
    3. 阻塞态—>阻塞态:上述的四类等待事件发生;
    4. 执行态—>就绪态:分配给进程的时间片执行完成(轮转调度算法)、高优先级的进程到达(抢占式调度)。

    创建状态和终止状态

    ​ 我们知道,进程创建时,需要对其分配除CPU外的所有的必要资源,但是,如果此时OS因为资源不足无法给进程分配资源,那么进程应该处于什么状态呢?为了满足上述问题,满足进程状态的完整性以及增强管理的灵活性,通常会在OS中为进程新增两种常见的状态:创建状态和终止状态。下面给出两种状态的定义:

    1. 创建状态:进程创建的过程中,所需的资源尚不能得到满足,此时创建工作尚未完成,进程无法被调度执行,进程此时就处于创建状态。
    2. 终止状态:进程正常运行结束或者出现导致进程终止的错误,或是被OS所终结,或是被父进程终结,则进入终止状态。进入终止状态的进程将不能再执行,但是在OS中依然保持一个记录,其中保存着状态码和计时统计数据,等待别的进程收集,一旦资源被收集完成,OS会立刻删除该进程。

    进程五种基本状态转换

    ​ 包含创建状态和终止状态之后,进程的状态转换如上图所示。从图中我们可以看到,状态的转换多了创建态到就绪态,执行态到终止态,下面给出两种状态切换的原因:

    1. 创建态—>就绪态:进程所需的资源得到分配;
    2. 执行态—>终止态:进程正常运行结束或者出现导致进程终止的错误,或是被OS所终结,或是被父进程(或其他有终止权的进程)终结。

    ​ 下面对进程创建和终止的过程来进行一下说明。首先是进程的创建,进程的创建是一个较为复杂的过程,首先需要由进程申请一个空白的进程控制块(Process Control Block, PCB,后面会详细的讲),并向PCB中填写用于控制和管理进程的信息;然后为该进程分配运行时必要的资源;最后把该进程转为就绪态并插入到就绪队列中。其次是进程的终止,进程的终止分为两个步骤:首先是等待OS进行善后处理(停止执行、终止子孙进程、归还资源等),然后将其PCB清零,并将PCB空间返还给系统

    ​ 从上述进程的创建和终止的过程中,我们可以得知,创建态就是处于进程创建的第一步完成时的状态,终止态就是进程无法被调度或执行,但是还需等待别的进程来收集信息,也就是终止态同样处于第一步完成的状态,只有当进程归还了PCB后,才算是真正的被OS删除,生命周期才算结束。

    挂起、激活操作

    ​ 在部分OS中,为了系统和用户观察和分析进程的需要,还引入了一个对进程的重要操作—挂起(Suspend),当对某个进程执行此操作是时,该进程将会被挂起,此时意味着该进程需要释放内存,调至到硬盘中(外存),也意味着此时该进程处于静止状态无法接受调度或者执行。当该进程被执行激活(Active)操作时,才可将该进程从外存中重新导入到内存中。

    ​ 首先我们来分析下进程被挂起的原因:

    1. 终端用户的请求:当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停自己的程序的运行,使之停止下来,以便用户研究其执行情况或对程序进行修改;
    2. 父进程的请求:有时父进程希望挂起自己的某个子进程,以便考察和修改子进程,或者协调各子进程间的活动;
    3. 负荷调节的需要:当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行;
    4. 操作系统的需要:操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

    ​ 引入挂起之后,系统中的就绪状态和阻塞状态分别变为两种状态,这四种状态为:活动就绪、静止就绪、活动阻塞、静止阻塞,下面分别对这四种状态进行说明:

    1. 活动就绪(Readya):等价于就绪态,此时进程可以接受调度,获得处理机后可直接转为执行态;
    2. 静止就绪(Readys):进程被调至外存,无法接受调度;
    3. 活动阻塞(Blockeda):等价于阻塞态,当等待的事件发生后可以由活动阻塞变为活动就绪状态;
    4. 静止阻塞(Blockeds):进程仍然可以等待事件,当事件发生后,状态由静止阻塞变为静止就绪状态。

    引入挂起后进程七种状态转换
    ​ 引入挂起操作后,OS中的状态变为7种,其中部分进程状态的变化如下:

    1. 活动就绪—>静止就绪:该进程被执行挂起原语Suspend;
    2. 活动阻塞—>静止阻塞:该进程被执行挂起原语Suspend;
    3. 执行态—>静止就绪:该进程被执行挂起原语Suspend;
    4. 静止就绪—>活动就绪:该进程被执行挂起原语Active;
    5. 静止阻塞—>活动阻塞:该进程被执行激活原语Active;
    6. 静止阻塞—>静止就绪:进程等待的事件发生;
    7. 活动阻塞—>活动就绪:进程等待的事件发生;
    8. 创建态—>活动就绪:在当前OS的性能和内存的容量均允许的情况下,完成进程的创建工作(三步);
    9. 创建态—>静止就绪:当前OS的当前资源状况和性能不允许,不分配给新建进程所需的资源(创建工作只完成第一步),此时进程处于静止就绪状态,被调至到外存中,不参与调度,此时创建工作尚未完成。

    ​ 从上面的状态我们可以看到,处于执行态的进程一样会被挂起,而且引入了挂起操作后,进程不会长期的处于创建状态,如果能分配到资源,状态会变为活动就绪态,如果无法分配资源,则进入静止就绪状态,当资源充足后,在将进程调入内存并为之分配资源,完成创建工作。

    进程控制块PCB

    ​ 上面讲了这么多的进程的状态的切换,那么OS到底是根据什么来进行进程的控制和管理呢?比如进程的状态信息保存在哪里、进程对应的程序和数据是如何保存的、进程是如何保存和恢复CPU现场信息(上下文切换)的,还有其他等等操作是如何实现的?其实这些操作都需要依托于一种数据结构—进程控制块PCB。PCB是OS为了系统的描述和管理进程的运行,在内核中为每个进程专门定义的一个数据结构。PCB作为进程实体(程序、数据、PCB)的一部分,记录了OS所需的用于描述进程当前情况以及管理进程运行的全部信息,是OS中最重要的记录型数据结构。

    ​ **PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。**因此PCB的作用非常重要,我们讲进程的状态切换是必须要讲PCB的。首先,我们对PCB中存储的信息进行介绍:

    1. 进程标识符:用于唯一地标识进程。一个进程通常包含两种标识符:外部标识符和内部标识符。外部标识符一般由创建者(用户)提供,用来方便记忆;内部标识是为了方便OS对进程的使用,通常是Linux系统中查看到的Pid;
    2. CPU状态:CPU状态信息也称处理机的上下文,主要由CPU的各种寄存器(通用寄存器、指令计数器、程序状态字PSW、用户栈指针)中的内容组成的。进程在执行的过程中,正在处理的许多信息都放在寄存器中,如果需要发生切换,这些信息就需要保存在该进程的PCB中,以便可以再次执行时可以快速的恢复CPU的状态;
    3. 进程调度信息:在OS进行调度(从就绪队列中选取进程分配CPU)时,必须要知道进程的状态和相关的调度信息,主要包括:进程状态、优先级、进程调度所需的其他信息(等待时间、已经执行的时间等)、事件(等待发生的时间,即阻塞的原因);
    4. 进程的控制信息:只用于进程控制所必需的信息,主要包括:程序和数据的地址(所在内存或外存的首地址)、进程同步和通信机制、资源清单(进程运行期间所需的全部资源,CPU除外,还有一张已经分配给该进程的资源清单,主要用于避免死锁)、链接指针(指向本PCB所在队列中的下一个进程的PCB的首地址)。

    ​ 通过PCB所保存的信息,我们是不是也就知道了上面讲到的问题(进程如何进行控制、程序和数据如何保存、CPU上下文如何切换和恢复)的答案了,都是需要使用PCB中保存的信息。下面我们根据PCB中存储的信息,来对PCB作用做一个具体的分析:

    1. 作为独立运行基本单位的标志:当一个程序(包含数据)配置了PCB后,就表示他成为了一个进程,一个能在多道程序环境下独立运行并合法的一个基本单位,也就具有了取得OS服务的权利。这也是为什么当系统创建一个进程时,需要为之创建一个PCB,并与进程一对一的绑定,系统是根据PCB来感知进程的,PCB被撤销归还给OS时,进程也就随之消亡了;
    2. 能实现间断运行的方式:这也是进程的一个基本特性—异步性,因为PCB中保存着进程在CPU上执行时的上下文信息,因此在进程再次被调度执行时,可以快速的恢复其CPU的现场信息。
    3. 提供进程管理所需要的信息:在进程的整个生命周期中,OS都是根据PCB实施对进程的控制和管理。
    4. 提供进程调度所需要的信息:OS根据PCB中存储的进程的状态信息来将继承插入到对应的队列中,并根据PCB中保存的优先级、等待事件等来进行调度的;
    5. 实现与其他进程的同步与通信:PCB中具有用与实现进程通信的区域或通信队列指针等。

    ​ 通过上面的描述,我们也看到了PCB的重要之处,虽然一个进程中的PCB保存了如此多的信息,但是一个PCB的大小大约是1KB左右,体量小也可以保证内核中可以存放一定数量的PCB。


    ​ 又到了分隔符以下,本文到此就结束了,本文内容全部都是由博主自己进行整理并结合自身的理解进行总结,如果有什么错误,还请批评指正,当然,如果有什么疑惑可以评论留言。

    ​ 全文又是4700多字,原创不易,在写这篇博客的时候,真的是投入了大量的心血,翻看了许多的文档,如果本文对你有所帮助,还请留下个赞,以表支持。

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

    千次阅读 2018-09-25 19:24:03
     进程状态说明 2.1 R (task_running) : 可执行状态  只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中...
  • OS 调度哪个进程(或者说给哪个进程分配资源),都是有依据的,这里的依据主要有两个,一个是进程状态,一个是进程优先级
  • 什么是状态机?用C语言实现进程5状态模型

    千次阅读 多人点赞 2020-10-13 08:43:49
    一个健壮的状态机可以让你的程序,不论发生何种突发事件都不会突然进入一个不可预知的程序分支,本篇通过实现一个简单的进程5状态模型的状态机,让大家熟悉一下状态机的魅力。 定义 有限状态机(finite-state ...
  • linux的五种进程状态(转载)

    千次阅读 2021-05-08 22:50:45
    Linux中进程有五种状态1 可运行 (R)处于可运行状态进程,一旦有机会,就会访问CPU。多个进程可以(而且经常)处于可运行状态,但是因为在任何给定时间内只有一个进程可以在CPU上运行,所以实际上这些进程中只有一个...
  • 进程的三种状态及转换

    千次阅读 2021-05-09 01:34:26
    1.进程的三种基本状态进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。就绪(Ready)状态当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为...
  • 线程、进程状态

    千次阅读 2018-04-04 11:18:34
    即在就绪状态进程除了CPU之外,其他的运行所需资源都已全部获得。2.1、就绪状态只是说有资格运行,调度程序没有挑选到你,你就永远是可运行状态。2.2、调用线程的start()方法,此线程进入就绪状态。2.3...
  • linux进程的五种状态

    千次阅读 2022-07-09 16:58:12
    Linux进程五种状态
  • 进程状态详解

    千次阅读 2020-04-20 22:40:50
    1、进程状态 ①运行状态(Running) 进程已经占用CPU,在CPU上进行 ②就绪状态(Ready) 具备运行条件但是由于没有CPU可用,所以暂时不能运行 ③阻塞状态(Block)也叫等待状态(Wait) 由于等待某项服务完成或者...
  • 【Linux】Linux进程简介及其五种状态

    万次阅读 2018-07-24 21:42:36
    由操作系统定义,并由操作系统所操控的一个特殊的数据结构实例叫做进程。它连接了用户代码,拥有代码运行所需的独立内存空间,在调度器的调度下使用分配给它的处理器时间片来运行。   进程及其私有内存空间 进程...
  • 操作系统进程状态模型

    千次阅读 2019-02-23 13:22:13
    这三个状态合起来,就是操作系统的“三状态进程模型”,如下图: 然后我们可能会疑惑,进程难道天生就是就绪态吗?而且进程执行完后又是什么态呢? 实际上,进程还具有创建态和终止态。 创建态:系统已经为该进程...
  • linux进程的七种状态

    千次阅读 2019-03-10 18:14:21
    但是查了linux的进程状态之后,发现并不是那么回事,linux进程状态分为7种,分别如下: 1、R (TASK_RUNNING):运行状态,即包括了上图中的就绪状态和运行状态 2、S (TASK_INTERRUPTIBLE):可中断的睡眠状态,即上...
  • Linux中进程的六种状态

    千次阅读 多人点赞 2021-09-14 19:38:29
    目录R运行状态(running)S睡眠状态(sleeping)D磁盘休眠状态(Disk sleep)T停止状态(stopped)Z僵尸状态(Zombies)僵尸进程是什么为什么要有僵尸进程僵尸进程的危害X死亡状态(dead) 为了弄明白正在运行的进程...
  • ps命令输出进程状态S+的含义解析

    千次阅读 2021-05-10 01:29:53
    最近发现一个问题,ps命令输出里面进程状态为S+的含义,网上好多文章都说是表明进程“位于在后台进程组”。例如下面这个ps命令输出说明:D 不可中断 Uninterruptible sleep (usually IO)R 正在运行,或在队列中的...
  • 挂起后进程处于静止状态进程不再被系统调用,对于操作是激活操作。 在进程调度时,上图中,标有黄色标注的地方都有可能发生进程调度。 其中,1和4是非抢占式调度。 而2、3、3’是抢占式调度(抢占式...
  • 进程的5种状态

    千次阅读 2020-12-10 14:55:14
    一个完整的进程状态的变迁如下图: 再来详细说明一下进程的状态变迁: NULL -> 创建状态:一个新进程被创建时的第一个状态; 创建状态 -> 就绪状态:当进程被创建完成并初始化后,一切就绪准备...
  • 进程控制:七状态模型

    千次阅读 2021-03-06 16:16:49
    首先,进程的七状态模型,分为:创造、就绪、执行、堵塞、终止、挂起就绪、挂起阻塞。 进程 进程没有一个规定的定义,一般定义为: 进程是程序的一次执行 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 ...
  • 封闭性:程序在封闭环境下运行,即程序运行时独占全机资源,资源的状态只有本程序才能改变它。程序一旦开始执行,其执行结果不受外界因素影响。 可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,...
  • 进程状态(含状态变迁图)

    万次阅读 多人点赞 2017-08-20 10:49:31
    一、三态模型:三态模型:在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化。进程一般有3种基本状态:运行、就绪和阻塞。(1)就绪:当一个进程获得了除处理机以外的一切所需资源,一旦得到处理机...
  • 就绪状态进程在等待什么?

    千次阅读 2019-07-05 15:12:31
    参考回答: 被调度使用cpu的运行权
  • 操作系统——进程状态图解 两状态进程模型,进程被分为运行态和非运行态,这两个状态就是字面意思很好理解。 当一个处于运行态的进程终止后,我们就要选一个处于非运行态的进程进入运行态,按照道理,我们应该选非...
  • 进程的终止方式和进程状态

    千次阅读 2018-12-18 11:51:27
    进程的终止方式: 有8种方式使进程终止,其中前5种为正常终止,它们是 1:从 main 返回 2:调用 exit 3:调用 _exit 或 _Exit 4:最后一个线程从其启动例程返回 ...Linux进程状态:R (TASK_RU...
  • 只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 2:执行状态 当进程已获得处理机,其程序正在处理机上执行 ,此时的进程状态称为执行状态。 3:阻塞状态 正在执行的进程,由于等待某个事件发生而无法 ...
  • 进程状态及转换

    千次阅读 2018-07-27 17:27:29
    进程是计算机中已运行程序的实体。 程序本身只是指令的集合,进程才是程序的真正运行。用户下达运行程序的命令后,就会产生进程。...进程通常有如下5种状态,其中前3种是进程的基本状态: 就绪...
  • 进程状态与转换

    千次阅读 2021-02-20 15:44:54
    进程在其生命周期内,由于系统中各进程之间的相关制约关系及系统的运行环境的变化,使得进程状态也在不断地发生变化(一个进程会经历若干不同状态)。通常进程有以下五种状态,前三种是进程的基本状态。 一、进程...
  • Linux内核中,进程的七种状态

    千次阅读 2018-08-06 13:16:44
    Linux内核中,运行一个进程,会因为各种因素,进程会处于何种状态。 有如下几种状态: 1.用户运行态:用户层面,由用户执行程序,执行与等待结果过程。 2.运行态:CPU处理进程任务并返回运行结果 3.僵尸态:进程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,240,366
精华内容 496,146
热门标签
关键字:

哪些状态属于进程的状态

友情链接: SP.rar