进程控制---PCB(进程控制块)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程控制---PCB(进程控制块)相关的知识,希望对你有一定的参考价值。
进程是对程序的动态描述,是操作系统进行资源分配的最小单位(线程是操作系统执行实体的最小单位)。
对于多道程序系统来说,其内存中可能存在着很多个进程,为了方便管理这些进程,操作系统内核为每个被创建的进程都建立一个结构体来保存与其相关的信息。这个结构体就是PCB,也就是进程控制块,进程控制块存在于进程的高 1 G空间,也就是内核空间中。在具体linux内核实现中,使用一个名为task_struct的结构体来描述的,在内核/include/linux/sched.h头文件中有具体定义。
操作系统组织PCB的方式有索引式(数组)、链式(链表)。Linux系统是采用链式方式来组织PCB的,对于不同的状态建立起一个进程队列。在系统中可能有很多个进程处于相同的状态,这些进程构成一个进程队列。比如由于不同的阻塞原因而阻塞的进程
PCB中保存了进程的所有信息,将这些信息可以分为几大类:
1、进程标识信息。比如进程ID、所属用户ID、所属组ID、父进程ID等。
2、进程控制信息。比如进程调度信息、进程通信机制等。
3、进程资源信息。比如打开的文件、进程地址空间等。
4、cpu状态信息。用来进程被中断时保护现场。
以上是关于进程控制---PCB(进程控制块)的主要内容,如果未能解决你的问题,请参考以下文章