结构体 | |
struct | LosTask |
struct | ProcessSignalInfo |
struct | OsTaskRobin |
类型定义 | |
typedef int(* | ForEachTaskCB) (LosTaskCB *tcb, void *arg) |
回调任务函数,例如:进程被kill 9 时,通知所有任务善后处理 更多... | |
函数 | |
STATIC INLINE LosTaskCB * | OsGetTaskCB (UINT32 taskID) |
通过任务ID获取任务实体,task由任务池分配,本质是个数组,彼此都挨在一块 更多... | |
STATIC INLINE BOOL | OsTaskIsUnused (const LosTaskCB *taskCB) |
任务是否在使用 更多... | |
STATIC INLINE BOOL | OsTaskIsKilled (const LosTaskCB *taskCB) |
STATIC INLINE BOOL | OsTaskIsUserMode (const LosTaskCB *taskCB) |
STATIC INLINE VOID | OsTaskWaitSetPendMask (UINT16 mask, UINTPTR lockID, UINT32 timeout) |
设置事件阻塞掩码,即设置任务的等待事件. 更多... | |
STATIC INLINE VOID | OsTaskWakeClearPendMask (LosTaskCB *resumeTask) |
清除事件阻塞掩码,即任务不再等待任何事件. 更多... | |
UINT32 | OsTaskSetDetachUnsafe (LosTaskCB *taskCB) |
任务设置分离模式 Deatch和JOIN是一对有你没我的状态 更多... | |
VOID | OsTaskJoinPostUnsafe (LosTaskCB *taskCB) |
OsTaskJoinPostUnsafe 查找task 通过 OS_TCB_FROM_PENDLIST 来完成,相当于由LOS_DL_LIST找到LosTaskCB, 将那些和参数任务绑在一起的task唤醒. 更多... | |
UINT32 | OsTaskJoinPendUnsafe (LosTaskCB *taskCB) |
挂起任务,任务进入等待链表,Join代表是支持通过一个任务去唤醒其他的任务 更多... | |
BOOL | OsTaskCpuAffiSetUnsafe (UINT32 taskID, UINT16 newCpuAffiMask, UINT16 *oldCpuAffiMask) |
CPU亲和性(affinity)将任务绑在指定CPU上,用于多核CPU情况,(该函数仅在SMP模式下支持) 更多... | |
VOID | OsTaskSchedule (LosTaskCB *, LosTaskCB *) |
VOID | OsTaskContextLoad (LosTaskCB *newTask) |
VOID | OsIdleTask (VOID) |
空闲任务,每个CPU都有自己的空闲任务 更多... | |
UINT32 | OsIdleTaskCreate (VOID) |
创建一个空闲任务 更多... | |
UINT32 | OsTaskInit (VOID) |
UINT32 | OsShellCmdDumpTask (INT32 argc, const CHAR **argv) |
UINT32 | OsShellCmdTskInfoGet (UINT32 taskID, VOID *seqfile, UINT16 flag) |
LosTaskCB * | OsGetMainTask (VOID) |
VOID | OsSetMainTask (VOID) |
UINT32 | OsGetIdleTaskId (VOID) |
获取IdletaskId,每个CPU核都对Task进行了内部管理,做到真正的并行处理 更多... | |
VOID | OsTaskEntry (UINT32 taskID) |
VOID | OsTaskProcSignal (VOID) |
UINT32 | OsCreateUserTask (UINT32 processID, TSK_INIT_PARAM_S *initParam) |
创建一个用户态任务 更多... | |
INT32 | OsSetTaskName (LosTaskCB *taskCB, const CHAR *name, BOOL setPName) |
VOID | OsTaskCBRecycleToFree (VOID) |
VOID | OsRunningTaskToExit (LosTaskCB *runTask, UINT32 status) |
INT32 | OsUserTaskOperatePermissionsCheck (const LosTaskCB *taskCB) |
INT32 | OsUserProcessOperatePermissionsCheck (const LosTaskCB *taskCB, UINT32 processID) |
INT32 | OsTcbDispatch (LosTaskCB *stcb, siginfo_t *info) |
给任务(线程)发送一个信号 更多... | |
VOID | OsWriteResourceEvent (UINT32 events) |
VOID | OsWriteResourceEventUnsafe (UINT32 events) |
UINT32 | OsResourceFreeTaskCreate (VOID) |
创建一个回收资源的任务 更多... | |
VOID | OsTaskInsertToRecycleList (LosTaskCB *taskCB) |
VOID | OsInactiveTaskDelete (LosTaskCB *taskCB) |
变量 | |
SPIN_LOCK_S | g_taskSpin |
UINT32 | g_taskMaxNum |
任务最大数量 默认128个 更多... | |
LosTaskCB * | g_taskCBArray |
外部变量 任务池 默认128个 更多... | |
回调任务函数,例如:进程被kill 9 时,通知所有任务善后处理
在文件 los_task_pri.h 第 222 行定义.
UINT32 OsCreateUserTask | ( | UINT32 | processID, |
TSK_INIT_PARAM_S * | initParam | ||
) |
创建一个用户态任务
在文件 los_task.c 第 1434 行定义.
UINT32 OsGetIdleTaskId | ( | VOID | ) |
获取IdletaskId,每个CPU核都对Task进行了内部管理,做到真正的并行处理
在文件 los_task.c 第 295 行定义.
LosTaskCB * OsGetMainTask | ( | VOID | ) |
VOID OsIdleTask | ( | VOID | ) |
UINT32 OsIdleTaskCreate | ( | VOID | ) |
创建一个空闲任务
在文件 los_task.c 第 300 行定义.
VOID OsInactiveTaskDelete | ( | LosTaskCB * | taskCB | ) |
在文件 los_task.c 第 947 行定义.
UINT32 OsResourceFreeTaskCreate | ( | VOID | ) |
创建一个回收资源的任务
在文件 los_task.c 第 1672 行定义.
在文件 los_task.c 第 908 行定义.
VOID OsSetMainTask | ( | VOID | ) |
在文件 los_task.c 第 1337 行定义.
在文件 task_shellcmd.c 第 615 行定义.
在文件 task_shellcmd.c 第 585 行定义.
VOID OsTaskCBRecycleToFree | ( | VOID | ) |
VOID OsTaskContextLoad | ( | LosTaskCB * | newTask | ) |
VOID OsTaskEntry | ( | UINT32 | taskID | ) |
在文件 los_task.c 第 493 行定义.
UINT32 OsTaskInit | ( | VOID | ) |
在文件 los_task.c 第 259 行定义.
VOID OsTaskInsertToRecycleList | ( | LosTaskCB * | taskCB | ) |
挂起任务,任务进入等待链表,Join代表是支持通过一个任务去唤醒其他的任务
在文件 los_task.c 第 224 行定义.
VOID OsTaskJoinPostUnsafe | ( | LosTaskCB * | taskCB | ) |
OsTaskJoinPostUnsafe 查找task 通过 OS_TCB_FROM_PENDLIST 来完成,相当于由LOS_DL_LIST找到LosTaskCB, 将那些和参数任务绑在一起的task唤醒.
taskCB |
在文件 los_task.c 第 212 行定义.
VOID OsTaskProcSignal | ( | VOID | ) |
由其他CPU核触发阻塞进程的信号 函数由汇编代码调用 ..\arch\arm\arm\src\los_dispatch.S
在文件 los_task.c 第 1298 行定义.
任务设置分离模式 Deatch和JOIN是一对有你没我的状态
在文件 los_task.c 第 243 行定义.
STATIC INLINE VOID OsTaskWakeClearPendMask | ( | LosTaskCB * | resumeTask | ) |
给任务(线程)发送一个信号
在文件 los_signal.c 第 182 行定义.
在文件 los_task.c 第 1380 行定义.
VOID OsWriteResourceEvent | ( | UINT32 | events | ) |
在文件 los_task.c 第 1642 行定义.
VOID OsWriteResourceEventUnsafe | ( | UINT32 | events | ) |
|
extern |