进程PCB与线程线程TCB

本文详细介绍了PCB(进程控制块)的作用和包含信息,如进程标识符、处理机状态、进程调度信息和进程控制信息。同时,阐述了线程控制块TCB的内容,包括线程标识符、寄存器状态、线程运行状态、优先级和堆栈指针等,揭示了进程与线程控制在操作系统中的核心地位。
摘要由CSDN通过智能技术生成

一、PCB(进程控制块)

(1)PCB作用

①作为独立运行基本单位的标志。系统是通过PCB感知进程存在的。事实上,PCB已成为进程存在于系统中的唯一标志。

②能实现间断性运行方式。

③提供进程管理所需要的信息。

④提供进程调度所需要的信息。

⑤实现与其它进程的同步与通信

(2)PCB中的信息

①进程标识符
        进程标识符用于唯一地标识一个进程。一个进程通常有两种标识符:
                (1)外部标识符。为了方便用户(进程)对进程的访问,须为每一个进程设置一个外部标识符。它是由创建者提供的,通常由字母、数字组成。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。
                (2)内部标识符。为了方便系统对进程的使用,在OS中又为进程设置了内部标识符,即赋予每一个进程一个唯一的数字标识符, 它通常是一个进程的序号。

② 处理机状态
        处理机状态信息也称为处理机的上下文,主要是由处理机的各种寄存器中的内容组成的。这些寄存器包括:①通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问它的,用于暂存信息,在大多数处理机中,有8~32个通用寄存器,在RISC结构的计算机中可超过100个;②指令计数器,其中存放了要访问的下一条指令的地址;③程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;④用户栈指针,指每个用户进程都有一个或若 干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。处理机处于执行状态时,正在处理的许多信息都是放在寄存器中。当进程被切换时,处理机状态信息都必须保存在相应的PCB中,以便在该进程重新执行时能再从断点继续执行。

③进程调度信息
        在OS进行调度时,必须了解进程的状态及有关进程调度的信息,这些信息包括:①进程状态,指明进程的当前状态,它是作为进程调度和对换时的依据;②进程优先级,是用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;③进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、讲程已执行的时间总和等;④事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。

④ 进程控制信息
        是指用于进程控制所必须的信息,它包括:①程序和数据的地址,进程实体中的程序和数据的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;②进程同步和通信机制,这是实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;③资源清单,在该清单中列出了进程在运行期间所需的全部资源(除CPU以外),另外还有一张已分配到该进程的资源的清单;④链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。

二、TCB(线程控制块)

(1)TCB中的信息
        如同每个进程有一个进程控制块一 样,系统也为每个线程配置了一个线程控制块 TCB,将所有用于控制和管理线程的信息记录在线程控制块中。线程控制块通常有这样几项:

①线程标识符,为每个线程赋予一个唯一的线程标识符;

②一组寄存器,包括程序计数器PC、状态寄存器和通用寄存器的内容;

③线程运行状态,用于描述线程正处于何种运行状态;

④优先级,描述线程执行的优先程度;

⑤线程专有存储区,用于线程切换时存放现场保护信息,和与该线程相关的统计信息等;

⑥信号屏蔽,即对某些信号加以屏蔽;

⑦堆栈指针,在线程运行时,经常会进行过程调用,而过程的调用通常会出现多重嵌套的情况,这样,就必须将每次过程调用中所使用的局部变量以及返回地址保存起来。为此,应为每个线程设置一个堆栈,用它来保存局部变量和返回地址。相应地,在TCB中,也须设置两个指向堆栈的指针:指向用户自已堆栈的指针和指向核心栈的指针。前者是指当线程运行在用户态时,使用用户自己的用户栈来保存局部变量和返回地址,后者是指当线程运行在核心态时使用系统的核心栈。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值