美文网首页
操作系统相关知识点总结(进程状态)

操作系统相关知识点总结(进程状态)

作者: 逑熙 | 来源:发表于2017-09-09 22:33 被阅读37次

    尽管每个进程是个独立的实体,具有自己的程序计数器、运行空间等。但由于程序或进程之间可能由于等等I/O操作、竞争资源以及相互协作等原因产生了走走停停的动态性。因此,一个进程在生存周期内,可有多种状态。进程在生存周期内至少有三种基本状态:
    (1)运行状态:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。(涉及调度的时机,例如I/O完成产生一个I/O完成中断信号后引起调度)
    (2)就绪状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。根据PCB的形式将其排成一个或多个就绪队列。(由于进程分配的时间片用完产生定时中断,而将进程从运行状态转移到就绪状态,同时调度进程)
    (3)阻塞状态:阻塞状态也称等待/封锁/睡眠状态(等待的事件发生唤醒它就ok了)。正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。同样根据PCB的形式组织一个或多个阻塞队列。(进程遇到I/O指令,利用访管指令或者系统调用,自愿性中断进入中断处理,最终可能是由于没有所要求的资源而进入阻塞状态)
    一个操作系统设计多少状态与系统对进程的管理方式有关,也与系统的资源有关。
    进程在生存周期内可以由一个状态转换到另一个状态,具体如下:

    进程切换.png

    (1)就绪→执行:选择一个就绪队列的进程,分派处理机给它,该进程便由就绪状态转变成执行状态。(具体怎么选择进程由调度策略决定)
    (2)运行→就绪:处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。
    (3)运行→阻塞:正在执行的进程因等待某种事件发生而无法继续执行时,或因为某些条件无法得到满足,便从执行状态变成阻塞状态。
    (4)阻塞→就绪:处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。

    进程控制块 PCB (Process Control Block)

    存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。在不同的操作系统中对进程的控制和管理机制不同,PCB中的信息多少也不一样,通常PCB应包含如下一些信息。
    1、进程标识符 name:
    每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数字。UNIX系统中就是一个整型数。在进程创建时由系统赋予。
    2、进程当前状态 status:
    说明进程当前所处的状态。为了管理的方便,系统设计时会将相同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等待的事件组成多个等待队列,如等待打印机队列、等待磁盘I/O完成队列等等。
    3、进程相应的程序和数据地址,以便把PCB与其程序和数据联系起来。
    4、进程资源清单。列出所拥有的除CPU外的资源记录,如拥有的I/O设备,打开的文件列表等。
    5、进程优先级 priority:
    进程的优先级反映进程的紧迫程序,通常由用户指定和系统设置。UNIX系统采用用户设置和系统计算相结合的方式确定进程的优先级 。
    6、CPU现场保护区 cpustatus:
    当进程因某种原因不能继续占用CPU时(等待打印机),释放CPU,这时就要将CPU的各种状态信息保护起来,为将来再次得到处理机恢复CPU的各种状态,继续运行。
    7、进程同步与通信机制 用于实现进程间互斥、同步和通信所需的信号量等。
    8、进程所在队列PCB的链接字 根据进程所处的现行状态,进程相应的PCB参加到不同队列中。PCB链接字指出该进程所在队列中下一个进程PCB的首地址。
    9、与进程有关的其他信息。 如进程记账信息,进程占用CPU的时间等。

    相关文章

      网友评论

          本文标题:操作系统相关知识点总结(进程状态)

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