当前位置:网站首页 > C++编程 > 正文

进程控制块pcb是进程存在的唯一标志(进程控制块pcb中一般包含进程标识)




    为了描述和控制进程的运行,系统为每个进程定义了 一个 数据结构——进程控制块(PCB)。  它是进程重要的组成部分,它记录了 操作系统所需的、用于描述进程的当前状态和控制进程的全部信息。  操作系统就是根据进程的PCB来感知进程的存在,并依此对进程进行管理和控制。 PCB是进程存在的唯一标识。
    

     PCB主要包括如下4方面的信息
     1. 进程标识信息

    进程标识信息用于唯一地标识一个进程,一个进程通常有两种标识符:内部标志符&外部标识符。
        - 内部标志符: 由操作系统赋予每个进程的 一个唯一的数字标识符,它通常为一个进程的序号,方便了系统使用。
        - 外部标识符: 由 创建者产生,是由字母和数字组成的 字符串,为用户进程访问该进程提供方便。

    为了描述进程间的家族关系,通常还设有父进程标识和子进程标识,以表示进程间的家族关系。
    此外,还设有用户名或用户标识号表示该进程属于哪个用户。
    
   2. 处理机状态
    处理机状态信息主要由处理机的 各个寄存器内的信息 组成。 进程运行时的许多信息 均存放在处理机的各种寄存器中 。其中程序状态字(PSW)是相当重要的,处理机根据程序状态寄存器中的PSW来控制程序的运行。     
   3. 进程调度信息
   PCB中还存放着一些与进程调度有关的信息。    

        - 进程状态。 标识进程的当前状态(就绪、运行、阻塞),作为进程调度的依据。
        - 进程优先级。 表示进程获得处理机的优先程度。

        - 为进程调度 算法提供依据的其他信息。例如,进程等待时间、进程已经获得处理器的总时间和进程占用内存的时间等。

        - 事件。 是指进程由某一状态转变为另一状态所等待发生的事件。(比如等待I/O释放)
   4. 进程控制信息  
         - 程序和数据地址。 是指组成进程的程序和数据所在内存或外存中的首地址,以便在调度该进程时能从其PCB中找到相应的程序和数据。  
        - 进程同步和通信机制。 指实现进程同步和通信时所采取的机制,如消息队列指针和信号量等,他们可以 全部或部分存在PCB中。

        - 资源清单。 列出了 进程所需的全部资源 及  已经分配给该进程的资源,但不包括CPU.

        - 链接指针。它给出了 处于同一队列中的下一个PCB的首地址。

   总结:
    对于多道程序环境, 系统中通常存在多个PCB,这些PCB有的已经被占用,有的处于空闲状态。为了方便对这些PCB的查找,通常采用链表或索引将PCB管理起来。 无论采用哪种管理方式,均是 将具有相同状态进程的PCB组成一个队列,或是 根据进程进入该状态的原因将其组成一个队列,设置相应的队首指针,这样就可以非常方便的访问各个进程的PCB。 
    总之,系统因 PCB 而感知进程的存在,并通过 PCB 来对进程进行调度、控制、分配资源。 若进程执行结束,则通过释放 PCB 来释放进程所占有的各种资源。    


一. 进程上下文与上下文切换


到此这篇进程控制块pcb是进程存在的唯一标志(进程控制块pcb中一般包含进程标识)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • conda卸载虚拟环境(conda卸载虚拟环境下的包)2026-03-05 18:00:10
  • cs拆包按哪个键(cs拆包哪个键?)2026-03-05 18:00:10
  • codevs题库(codetest)2026-03-05 18:00:10
  • git clone 配置账号密码(git clone 加上账号密码)2026-03-05 18:00:10
  • plc1200编程软件下载(plc1200编程及应用)2026-03-05 18:00:10
  • apc和安乃近什么区别(apc与安乃近哪个副作用大)2026-03-05 18:00:10
  • console是什么键(consol是什么意思)2026-03-05 18:00:10
  • pc与apc的区别(pc upc 和 apc 区别)2026-03-05 18:00:10
  • clothes怎么读(these怎么读)2026-03-05 18:00:10
  • cnnsh港口(cntxg 港口)2026-03-05 18:00:10
  • 全屏图片