更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
ProcessCB结构体 参考

#include <los_process_pri.h>

成员变量

CHAR processName [OS_PCB_NAME_LEN]
 
UINT32 processID
 
UINT16 processStatus
 
UINT16 consoleID
 
UINT16 processMode
 
UINT32 parentProcessID
 
UINT32 exitCode
 
LOS_DL_LIST pendList
 
LOS_DL_LIST childrenList
 
LOS_DL_LIST exitChildList
 
LOS_DL_LIST siblingList
 
ProcessGroupgroup
 
LOS_DL_LIST subordinateGroupList
 
UINT32 threadGroupID
 
LOS_DL_LIST threadSiblingList
 
volatile UINT32 threadNumber
 
UINT32 threadCount
 
LOS_DL_LIST waitList
 
UINT32 timerCpu
 
UINTPTR sigHandler
 
sigset_t sigShare
 
ProcIpcInfoipcInfo
 
LosVmSpacevmSpace
 
struct files_structfiles
 
timer_t timerID
 
Useruser
 进程的拥有者 更多...
 
UINT32 capability
 安全能力范围 对应 CAP_SETGID 更多...
 
TimerIdMap timerIdMap
 
struct VnodeexecVnode
 
mode_t umask
 umask(user file-creatiopn mode mask)为用户文件创建掩码,是创建文件或文件夹时默认权限的基础。 更多...
 
OsCpupBaseprocessCpup
 
struct rlimit * resourceLimit
 每个进程在运行时系统不会无限制的允许单个进程不断的消耗资源,因此都会设置资源限制。 更多...
 

详细描述

进程控制块.

在文件 los_process_pri.h82 行定义.

结构体成员变量说明

◆ capability

UINT32 ProcessCB::capability

安全能力范围 对应 CAP_SETGID

在文件 los_process_pri.h120 行定义.

◆ childrenList

LOS_DL_LIST ProcessCB::childrenList

Children process list | 孩子进程都挂到这里,形成双循环链表

在文件 los_process_pri.h92 行定义.

◆ consoleID

UINT16 ProcessCB::consoleID

The console id of task belongs | 任务的控制台id归属

在文件 los_process_pri.h87 行定义.

◆ execVnode

struct Vnode* ProcessCB::execVnode

Exec bin of the process | 进程的可执行文件

在文件 los_process_pri.h126 行定义.

◆ exitChildList

LOS_DL_LIST ProcessCB::exitChildList

Exit children process list | 要退出的孩子进程链表,白发人要送黑发人.

在文件 los_process_pri.h93 行定义.

◆ exitCode

UINT32 ProcessCB::exitCode

Process exit status | 进程退出状态码

在文件 los_process_pri.h90 行定义.

◆ files

struct files_struct* ProcessCB::files

Files held by the process | 进程所持有的所有文件,注者称之为进程的文件管理器

在文件 los_process_pri.h114 行定义.

◆ group

ProcessGroup* ProcessCB::group

Process group to which a process belongs | 所属进程组

在文件 los_process_pri.h95 行定义.

◆ ipcInfo

ProcIpcInfo* ProcessCB::ipcInfo

Memory pool for lite ipc | 用于进程间通讯的虚拟设备文件系统,设备装载点为 /dev/lite_ipc

在文件 los_process_pri.h108 行定义.

◆ parentProcessID

UINT32 ProcessCB::parentProcessID

Parent process ID | 父进程ID

在文件 los_process_pri.h89 行定义.

◆ pendList

LOS_DL_LIST ProcessCB::pendList

Block list to which the process belongs | 进程所在的阻塞列表,进程因阻塞挂入相应的链表.

在文件 los_process_pri.h91 行定义.

◆ processCpup

OsCpupBase* ProcessCB::processCpup

Process cpu usage | 进程占用CPU情况统计

在文件 los_process_pri.h130 行定义.

◆ processID

UINT32 ProcessCB::processID

Process ID = leader thread ID | 进程ID,由进程池分配,范围[0,64]

在文件 los_process_pri.h84 行定义.

◆ processMode

UINT16 ProcessCB::processMode

Kernel Mode:0; User Mode:1; | 模式指定为内核还是用户进程

在文件 los_process_pri.h88 行定义.

◆ processName

CHAR ProcessCB::processName[OS_PCB_NAME_LEN]

Process name | 进程名称

在文件 los_process_pri.h83 行定义.

◆ processStatus

UINT16 ProcessCB::processStatus

[15:4] Process Status; [3:0] The number of threads currently running in the process | 这里设计很巧妙.用一个变量表示了两层逻辑 数量和状态,点赞! @note_good 从这里也可以看出一个进程可以有多个正在运行的任务

在文件 los_process_pri.h85 行定义.

◆ resourceLimit

struct rlimit* ProcessCB::resourceLimit

每个进程在运行时系统不会无限制的允许单个进程不断的消耗资源,因此都会设置资源限制。

在文件 los_process_pri.h132 行定义.

◆ siblingList

LOS_DL_LIST ProcessCB::siblingList

Linkage in parent's children list | 兄弟进程链表, 56个民族是一家,来自同一个父进程.

在文件 los_process_pri.h94 行定义.

◆ sigHandler

UINTPTR ProcessCB::sigHandler

Signal handler | 信号处理函数,处理如 SIGSYS 等信号

在文件 los_process_pri.h105 行定义.

◆ sigShare

sigset_t ProcessCB::sigShare

Signal share bit | 信号共享位 sigset_t是个64位的变量,对应64种信号

在文件 los_process_pri.h106 行定义.

◆ subordinateGroupList

LOS_DL_LIST ProcessCB::subordinateGroupList

Linkage in group list | 进程组员链表

在文件 los_process_pri.h96 行定义.

◆ threadCount

UINT32 ProcessCB::threadCount

Total number of threads created under this process | 在此进程下创建的线程总数

在文件 los_process_pri.h100 行定义.

◆ threadGroupID

UINT32 ProcessCB::threadGroupID

Which thread group , is the main thread ID of the process

在文件 los_process_pri.h97 行定义.

◆ threadNumber

volatile UINT32 ProcessCB::threadNumber

Number of threads alive under this process | 此进程下的活动线程数

在文件 los_process_pri.h99 行定义.

◆ threadSiblingList

LOS_DL_LIST ProcessCB::threadSiblingList

List of threads under this process | 进程的线程(任务)列表

在文件 los_process_pri.h98 行定义.

◆ timerCpu

UINT32 ProcessCB::timerCpu

CPU core number of this task is delayed or pended | 统计各线程被延期或阻塞的时间

在文件 los_process_pri.h103 行定义.

◆ timerID

timer_t ProcessCB::timerID

iTimer

在文件 los_process_pri.h116 行定义.

◆ timerIdMap

TimerIdMap ProcessCB::timerIdMap

在文件 los_process_pri.h123 行定义.

◆ umask

mode_t ProcessCB::umask

umask(user file-creatiopn mode mask)为用户文件创建掩码,是创建文件或文件夹时默认权限的基础。

在文件 los_process_pri.h128 行定义.

◆ user

User* ProcessCB::user

进程的拥有者

在文件 los_process_pri.h119 行定义.

◆ vmSpace

LosVmSpace* ProcessCB::vmSpace

VMM space for processes | 虚拟空间,描述进程虚拟内存的数据结构,linux称为内存描述符

在文件 los_process_pri.h111 行定义.

◆ waitList

LOS_DL_LIST ProcessCB::waitList

The process holds the waitLits to support wait/waitpid | 父进程通过进程等待的方式,回收子进程资源,获取子进程退出信息

在文件 los_process_pri.h101 行定义.


该结构体的文档由以下文件生成: