1 / 5
文档名称:

任务调度机制.docx

格式:docx   大小:17KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

文档介绍:任务调度机制
ucos:uc/os任务调度机制
疯狂代码 https://www.sodocs.net/doc/569378454.html / ?:
http:/https://www.sodocs.ne

任务调度机制
ucos:uc/os任务调度机制
疯狂代码 https://www.sodocs.net/doc/569378454.html / ?:
http:/https://www.sodocs.net/doc/569378454.html /NetworkProgramming/Article33556.html
uc/os 任务调度机制
by zhang9733 from https://www.sodocs.net/doc/569378454.html /gd/dzbbs/
内核核心任务是任务调度机制为了对uc/os进行分析我们从任务调度开始在uc/os中个任务通常是个无限循环具有如下结构后面我将解释为什么会有这种结构从下面结构可以看出个任务就像其他c样;而且既然任务是个无限循环我们可以想象到它定不会返回任何数据所以返回类型应该定义为void

------------------------------------------------------------
void mytask(void *pdata)
{
for (;;) {



do something;
waiting;
do something;
}
}
uc/os可以管理64个任务但目前版本系统占用了两个任务还保留了其他六个任务故用户可以使用56个任务每个任务必须赋予定优先级优先级数越高优先级越低所以0级优先级任务有最高优先级通过在os_cfg.h文件中定义宏os_lowest_prio可以决定系统任务个数系统目前占用两个任务为空闲任务idle task和统计任务stat task当没有其他任务进入就绪状态时空闲任务投入运行空闲任务什么也不做只是简单将计数器加1这个计数器可以用来统计cpu利用率
uc/os下每个任务可以有如下五种状态
休眠态(dormant):指任务驻留在空间中还没有交给内核管理把任务交给内核是通过ostaskcreate( )或ostaskcreatext( )实现
就绪(ready):当任务旦建立这个任务就处于就绪态准备运行任务可以动态被另个建立也可以在系统运行开始之前建立通过ostaskdel( )使任务返回到休眠态就绪态任务都放在就绪列表中在任务调度时指针ostcbhighrdy指向优先级最高就绪任务也就是立刻就要运行任务
运行(running):准备就绪最高优先级任务获得cpu控制权从而处于运行

分享好友

预览全文

任务调度机制.docx

上传人:zongzong 2022/5/16 文件大小:17 KB

下载得到文件列表

任务调度机制.docx

相关文档