找回密码
 注册
关于网站域名变更的通知
查看: 425|回复: 1
打印 上一主题 下一主题

简述PCB的含义以及作用

[复制链接]
  • TA的每日心情
    开心
    2020-9-2 15:04
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    跳转到指定楼层
    1#
    发表于 2021-4-12 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    为了使参与并发执行的每个程序,包含数据都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(PCB,ProcessControlBlock)。进程与PCB是一一对应的,用户进程不能修改。
    3 n+ ~; F- D! F+ ~8 ?3 K& G. C
    进程控制块PCB的作用:
    # m% b& y. g' {9 s7 `5 F( z( z( c$ N6 m$ n
    为了便于系统描述和管理进程的运行,在OS的核心为每个进程专门定义了一个数据结构——进程控制块PCB(ProcessControlBlock)。PCB作为进程实体的一部分,记录了操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。! e# S7 q2 r. v3 j/ C) J5 \

    % Z& a$ c. }, S7 m
    % x% ^: W1 i5 W0 x$ d5 R
    : U: R+ P3 c, P$ K  b/ L) d(2)PCB能实现间断性运行方式。在多道程序环境下,程序是采用停停走走间断性的运行方式运行的。当进程因阻塞而暂停运行时,它必须保留自己运行时的CPU现场信息。在有了PCB后,系统就可以将CPU现场信息保存在被中断进程的PCB中,供该进程再次被调度执行时恢复CPU现场时使用。由此,可再次明确,在多道程序环境下,作为传统意义上的静态程序,因其并不具有保护或保存自己运行现场的手段,无法保证其运行结果的可再现性,从而失去运行的意义。
    ( a; s3 \0 e+ Z1 }8 G! I. X$ t+ `  |
    (3)PCB提供进程管理所需要的信息。当调度程序调度到某进程运行时,只能根据该进程PCB中记录的程序和数据在内存或外存中的始址指针,找到相应的程序和数据;在进程运行过程中,当需要访问文件系统中的文件或I/O设备时,也都需要借助于PCB中的信息。另外,还可根据PCB中的资源清单了解到该进程所需的全部资源等。可见,在进程的整个生命周期中,操作系统总是根据PCB实施对进程的控制和管理。4 u# \) w6 e% Y( Q) ?/ C

    1 `- m& u( t( ~(4)PCB提供进程调度所需要的信息。只有处于就绪状态的进程才能被调度执行,而在PCB中就提供了进程出于何种状态的信息。如果进程处于就绪状态,系统便将它插入到进程就绪队列中,等待着调度程序的调度;另外在进行调度时往往还需要了解进程的其他信息,如在优先级调度算法中,就需要知道进程的优先级。在有些较为公平的调度算法中,还需要知道进程的等待时间和已执行过的事件等。
    3 d2 |/ D) I$ v' f0 k
    / c+ \! ~0 I5 I9 f7 C(5)PCB实现与其他进程的同步与通信。进程同步机制是用于实现诸进程的协调运行的,在采用信号量机制时,它要求在每个进程中都设置有相应的用于同步的信号量。在PCB中还具有用于实现进程通信的区域或通信队列指针等。
    ' J' F6 C" c, a* D% U
    5 y- M# Z) o: o: K& F$ }: p进程控制块中的信息:
    / T* J0 G: B; t) f! U8 B, _% o
    ( G* ]; ^9 H) |5 @: N; T3 d7 O4 P在进程控制块中,主要包括以下几个方面的信息:$ \- O: w; A9 H. h! x/ J* |
    & b# a/ N# ]$ S4 y2 o5 Y8 ]
    (1)进程标识符:进程标识符用于唯一的表示一个进程。一个进程通常有两种标识符:①外部标识符。为了方便用户进程对进程的访问,须为每一个进程设置一个外部标识符。它是由创建者提供的,通常由字母、数字组成。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。②内部标识符。为了方便系统对进程的使用,在OS中又为进程设置了内部标识符,即赋予每一个进程一个唯一的数字标识符,它通常是一个进程的序号。- K: i" `6 w  c) M! H3 `* U# ~

    3 V! i. @+ x: j3 [. O/ r(2)处理机状态:处理机状态信息也称为处理机的上下文,主要是由处理机的各种寄存器中的内容组成的。这些寄存器包括:①通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有8~32个通用寄存器,在RISC结构的计算机中可超过100个;②指令计数器,其中存放了要访问的下一条指令的地址;③程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;④用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。处理机处于执行状态时,正在处理的许多信息都是放在寄存器中。当进程被切换时,处理机状态信息都必须保存在相应的PCB中,以便在该进程重新执行是能再从断点继续执行。. u9 i  ?! _0 V; B5 p. B  [6 |
    0 k" R8 [6 ~0 P+ u# N
    (3)进程调度信息:在OS进行调度时,必须了解进程的状态及有关进程调度的信息,这些信息包括:①进程状态,指明进程的当前状态,它是作为进程调度和对换时的依据;②进程优先级,是用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;③进程调度所需的其他信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等等;④事件,是指进程由执行态转变为阻塞状态所等待发生的事件,即阻塞原因。
    8 {/ S# L2 T: K
    1 K7 |. F5 v! D0 B% s7 x, U- o(4)进程控制信息:是指用于进程控制所必须的信息,它包括:①程序和数据的地址,进程实体中的程序和数据的内存或外存地址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;②进程同步和通信机制,这是实现同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;③资源清单,在该清单中列出了进程在运行期间所需的全部资源(除CPU),另外还有一张已分配到该进程的资源的清单;④链接指针,它给出了本进程(PCB)所在队列中的下一个进程地PCB的首地址。
    # d! M; c/ i+ }, G: x) ^  h9 r+ z2 S/ z) e

    7 J/ w( m/ k9 R. M8 F# }

    该用户从未签到

    2#
    发表于 2021-4-12 11:23 | 只看该作者
    与其他进程之间的通信?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-27 14:36 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表