进程控制块(PCB)

进程控制块PCB

我们知道,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。

/usr/src/linux-headers-3.16.0-30/include/linux/sched.h文件中可以查看struct task_struct 结构体定义。其内部成员有很多,我们重点掌握以下部分即可:

* 进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。

* 进程的状态,有就绪、运行、挂起、停止等状态。

* 进程切换时需要保存和恢复的一些CPU寄存器。

* 描述虚拟地址空间的信息。

* 描述控制终端的信息。

* 当前工作目录(Current Working Directory)。

* umask掩码。

* 文件描述符表,包含很多指向file结构体的指针。

* 和信号相关的信息。

* 用户id和组id。

* 会话(Session)和进程组。

* 进程可以使用的资源上限(Resource Limit)。

原文地址:https://www.cnblogs.com/wanghao-boke/p/11304734.html

时间: 2024-11-05 16:04:52

进程控制块(PCB)的相关文章

操作系统1_进程控制块PCB

在操作系统中,进程实体是指PCB+程序段+相关的数据段 这里主要总结一下进程控制块 作用: 使一个在多带程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程 或者,OS是根据PCB来对并发执行的进程进行控制的. PCB常被OS访问,因此其应常驻内存中: 描述方式:linux用task_struct描述,windows用执行体进程块EPROCESS描述 组成成分: 1)进程标示符 (1)内部标示符    OS赋予,唯一的数字标示符 (2)外部标示符 

进程控制块(PCB)结构

一.进程控制块(PCB)结构 进程控制块(PCB)是系统为了管理进程设置的一个专门的数据结构.系统用它来记录进程的外部特征,描述进程的运动变化过程.同时,系统可以利用PCB来控制和管理进程,所以说,PCB(进程控制块)是系统感知进程存在的唯一标志. Linux系统的PCB包括很多参数,每个PCB约占1KB多的内存空间.用于表示PCB的结构task_struct简要描述如下: include/linux/sched.h struct task_struct { volatile long stat

PCB(进程控制块)--‘task_struct’

在介绍PCB(进程控制块)前,先实现一个'进度条',然后根据编写的程序,分析PCB的具体实现原理.'进度条'的功能是能够在一行中显示出来,同时进度条中有动态的增长变化,能够知道进度条中的比率,同时也需要能够将 显示的知道程序是否正在执行. ◆下面是编写的程序: ●利用'='来动态的显示进度条的变化,通过使用"|/-\\"来表示程序运行的状态,如果想要将进度条进行动态的增长,输出缓冲区是遇到'\n'时,系统会将缓冲区的内容进行输出,但是在编写缓冲区的程序中,使用'\n'肯定是不行的,因为

进程(二) —— 进程控制块

进程(二) —— 进程控制块 进程控制块(PCB, Process Control Block) 定义: 操作系统管理和控制进程运行所用的信息集合 操作系统用 PCB 来 描述进程的 基本情况 以及 运行变化 的过程 PCB是进程存在的唯一标志 每个进程都在 操作系统 中有一个对应的PCB 进程控制块的使用 进程创建 生成 该进程的 PCB 进程终止 回收它的PCB 进程的组织管理 通过对PCB的组织管理来实现 进程控制块内容 进程标志信息 处理机现场保存 进程控制信息 进程控制信息 调度和状态

进程控制块的task_struct结构

>进程控制块 在linux中进程信息存放在叫做进程控制块的数据结构中,每个进程在内核中都有?个进程控制块(PCB)来维护进程相关的信息,Linux内核的 进程控制块是task_struct结构体.在Linux中,这个结构叫做task_struct.      task_struct是Linux内核的一种数据结构,它会被装载到RAM?并且包含着进程的信息. 每个进程都把它的信息放在 task_struct 这个数据结构?, task_struct 包含了这些内容: >>>>&g

Linux下的进程控制块—task_struct

Linux下的进程控制块 进程:程序的执行就是进程.也可以把进程看成一个独立的程序,在内存中有其对应的代码空间和数据空间,一个进程所拥有的数据和代码只属于自己.进程是资源分配的基本单位,也是调度运行的基本单位. 进程控制块(PCB)(系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程.系统利用PCB来控制 和管理进程,所以PCB是系统感知进程存在的唯一标志.进程与PCB是一 一对应的).是进程存在和运行的唯一标志,在Linux中用task_struct这个

操作系统笔记-进程的组成-进程控制块2015-6-5

进程控制块  PCB(Processing Control Block) 1.进程控制块的概要:进程控制块(Processing Control Block),是操作系统核心中一种数据结构,主要表示进程状态.其作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位或与其它进程并发执行的进程.或者说,OS是根据PCB来对并发执行的进程进行控制和管理的. PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息,它使一个

进程控制(一)---PCB(进程控制块)

 进程是对程序的动态描述,是操作系统进行资源分配的最小单位(线程是操作系统执行实体的最小单位). 对于多道程序系统来说,其内存中可能存在着很多个进程,为了方便管理这些进程,操作系统内核为每个被创建的进程都建立一个结构体来保存与其相关的信息.这个结构体就是PCB,也就是进程控制块,进程控制块存在于进程的高 1 G空间,也就是内核空间中.在具体linux内核实现中,使用一个名为task_struct的结构体来描述的,在内核/include/linux/sched.h头文件中有具体定义. 操作系统组织

进程之进程控制块与虚拟地址空间

1.进程概念 在用户层面,进程是一次程序的动态运行实例, 在操作系统层面,进程是操作系统进行资源调度和分配的基本单位,每一个进程都有自己独立的地址空间和运行状态. 操作系统为进程创建了一系列的数据结构来管理进程.操作系统会为每个进程创建一个虚拟地址空间和进程控制块. 2.虚拟地址空间 在32位操作系统下,一个进程最多可以拥有4G的内存空间,在早期的计算机系统中,将程序直接加载到内存,也就是说, 程序所访问到的地址空间就是真实的内存空间,当有多个进程同时执行时,先将一个进程全部加载内存,然后,在剩