结构体 | |
struct | User |
struct | ProcessGroup |
struct | ProcessCB |
类型定义 | |
typedef struct ProcessCB | LosProcessCB |
变量 | |
LosProcessCB * | g_processCBArray |
进程池 OsProcessInit 更多... | |
UINT32 | g_processMaxNum |
进程最大数量 更多... | |
UINTPTR | __user_init_entry |
第一个用户态进程(init)的入口地址 查看 LITE_USER_SEC_ENTRY 更多... | |
UINTPTR | __user_init_bss |
查看 LITE_USER_SEC_BSS ,赋值由liteos.ld完成 更多... | |
UINTPTR | __user_init_end |
init 进程的用户空间初始化结束地址 更多... | |
UINTPTR | __user_init_load_addr |
init 进程的加载地址 ,由链接器赋值 更多... | |
typedef struct ProcessCB LosProcessCB |
进程控制块.
OsClone 进程克隆
flags | |
size | 进程主任务内核栈大小 |
sp | 进程主任务的入口函数 |
在文件 los_process.c 第 2049 行定义.
STATIC INLINE LosProcessCB * OsCurrProcessGet | ( | VOID | ) |
获取当前进程PCB
在文件 los_process_pri.h 第 353 行定义.
STATIC INLINE User * OsCurrUserGet | ( | VOID | ) |
获取当前进程的所属用户
在文件 los_process_pri.h 第 365 行定义.
VOID OsDeleteTaskFromProcess | ( | LosTaskCB * | taskCB | ) |
在文件 los_process.c 第 107 行定义.
LosVmSpace * OsExecProcessVmSpaceReplace | ( | LosVmSpace * | newSpace, |
UINTPTR | stackBase, | ||
INT32 | randomDevFD | ||
) |
在文件 los_process.c 第 1541 行定义.
VOID OsExecProcessVmSpaceRestore | ( | LosVmSpace * | oldSpace | ) |
UINT32 OsExecRecycleAndInit | ( | LosProcessCB * | processCB, |
const CHAR * | name, | ||
LosVmSpace * | oldSpace, | ||
UINTPTR | oldFiles | ||
) |
进程的回收再利用,被LOS_DoExecveFile调用
processCB | |
name | |
oldSpace | |
oldFiles |
在文件 los_process.c 第 1568 行定义.
UINT32 OsExecStart | ( | const TSK_ENTRY_FUNC | entry, |
UINTPTR | sp, | ||
UINTPTR | mapBase, | ||
UINT32 | mapSize | ||
) |
执行用户态任务, entry为入口函数 ,其中 创建好task,task上下文 等待调度真正执行, sp:栈指针 mapBase:栈底 mapSize:栈大小
在文件 los_process.c 第 1616 行定义.
UINT32 OsGetIdleProcessID | ( | VOID | ) |
获取内核态空闲进程
在文件 los_process.c 第 2254 行定义.
UINT32 OsGetKernelInitProcessID | ( | VOID | ) |
获取内核态根进程
在文件 los_process.c 第 2249 行定义.
接口封装 - 获取进程优先级 which:标识进程,进程组,用户
在文件 los_process.c 第 1055 行定义.
UINTPTR OsGetSigHandler | ( | VOID | ) |
UINT32 OsGetUserInitProcessID | ( | VOID | ) |
获取用户态进程的根进程,所有用户进程都是g_processCBArray[g_userInitProcess] fork来的
在文件 los_process.c 第 2244 行定义.
UINT32 OsProcessAddNewTask | ( | UINT32 | pid, |
LosTaskCB * | taskCB, | ||
SchedParam * | param | ||
) |
在文件 los_process.c 第 116 行定义.
VOID OsProcessCBRecycleToFree | ( | VOID | ) |
进程回收再利用过程
在文件 los_process.c 第 625 行定义.
STATIC INLINE struct Vnode * OsProcessExecVnodeGet | ( | const LosProcessCB * | processCB | ) |
在文件 los_process_pri.h 第 408 行定义.
STATIC INLINE VOID OsProcessExitCodeCoreDumpSet | ( | LosProcessCB * | processCB | ) |
STATIC INLINE VOID OsProcessExitCodeSet | ( | LosProcessCB * | processCB, |
UINT32 | code | ||
) |
设置进程退出号(8 ~ 15)
在文件 los_process_pri.h 第 338 行定义.
STATIC INLINE VOID OsProcessExitCodeSignalClear | ( | LosProcessCB * | processCB | ) |
STATIC INLINE BOOL OsProcessExitCodeSignalIsSet | ( | LosProcessCB * | processCB | ) |
STATIC INLINE VOID OsProcessExitCodeSignalSet | ( | LosProcessCB * | processCB, |
UINT32 | signal | ||
) |
STATIC INLINE BOOL OsProcessIsDead | ( | const LosProcessCB * | processCB | ) |
进程死啦死啦的定义: 身上贴有不使用且状态为僵死的进程
Used to check if the process is dead.
在文件 los_process_pri.h 第 252 行定义.
STATIC INLINE BOOL OsProcessIsInactive | ( | const LosProcessCB * | processCB | ) |
进程不活跃函数定义:身上贴有不使用且不活跃标签的进程
Used to check if the process is inactive.
在文件 los_process_pri.h 第 243 行定义.
STATIC INLINE BOOL OsProcessIsInit | ( | const LosProcessCB * | processCB | ) |
STATIC INLINE BOOL OsProcessIsUnused | ( | const LosProcessCB * | processCB | ) |
Used to check if the process control block is unused.
在文件 los_process_pri.h 第 234 行定义.
STATIC INLINE BOOL OsProcessIsUserMode | ( | const LosProcessCB * | processCB | ) |
VOID OsProcessNaturalExit | ( | LosProcessCB * | processCB, |
UINT32 | status | ||
) |
一个进程的自然消亡过程,参数是当前运行的任务
在文件 los_process.c 第 550 行定义.
VOID OsProcessResourcesToFree | ( | LosProcessCB * | processCB | ) |
回收指定进程的资源
在文件 los_process.c 第 431 行定义.
VOID OsProcessThreadGroupDestroy | ( | VOID | ) |
在文件 los_process.c 第 2200 行定义.
STATIC INLINE LosVmSpace * OsProcessVmSpaceGet | ( | const LosProcessCB * | processCB | ) |
给所有进程发送指定信号
在文件 los_process.c 第 242 行定义.
发送指定信号给给进程组
在文件 los_process.c 第 262 行定义.
在文件 los_process.c 第 1456 行定义.
在文件 los_process.c 第 1439 行定义.
UINT32 OsSetProcessName | ( | LosProcessCB * | processCB, |
const CHAR * | name | ||
) |
设置进程调度计划
在文件 los_process.c 第 983 行定义.
VOID OsSetSigHandler | ( | UINTPTR | addr | ) |
UINT32 OsSystemProcessCreate | ( | VOID | ) |
创建2,0号进程,即内核态进程的老祖宗
在文件 los_process.c 第 896 行定义.
UINT32 OsUserInitProcess | ( | VOID | ) |
在文件 los_process.c 第 1746 行定义.
|
extern |
查看 LITE_USER_SEC_BSS ,赋值由liteos.ld完成
|
extern |
init 进程的用户空间初始化结束地址
|
extern |
第一个用户态进程(init)的入口地址 查看 LITE_USER_SEC_ENTRY
|
extern |
init 进程的加载地址 ,由链接器赋值
|
extern |
|
extern |