您的位置:首页 > 运维架构 > 网站架构

uC/OS-II内核架构解析(2)---uC/OS-II基本介绍

2015-01-30 16:46 357 查看


1. uC/OS-II文件结构




2. uC/OS-II组成部分

uC/OS-II大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。

(1) 核心部分(OSCore.c) :uC/OS-II处理核心,包括初始化、启动、中断管理、时钟中断、任务调度及事件处理等用于系统基本维持的函数。

(2) 任务管理(OSTask.c) :包含与任务操作密切相关的函数,包括任务建立、删除、挂起及恢复等,uC/OS II以任务为基本单位进行调度。

(3) 时钟部分(OSTime.c) :uC/OS-II中最小时钟单位是timetick(时钟节拍),其中包含时间延迟、时钟设置及时钟恢复等与时钟相关的函数。

(4) 多任务同步与通信(OSMbox.c, OSQ.c, OSSem.c, OSMutex.c, OSFlag.c):包含事件管理函数,涉及Mbox、msgQ、Sem、Mutex、Flag等。

(5) 内存管理部分(OSMem.c):主要用于构建私有的内存分区管理机制,其中包含创建memPart、申请/释放memPart、获取分区信息等函数。

(6) CPU接口部分:uC/OS-II针对特定CPU的移植部分,由于牵涉到SP等系统指针,通常用汇编语言编写,包括任务切换、中断处理等内容。


3. uC/OS-II任务状态

在uC/OS-II中,一个任务就是一个线程,该任务可以认为CPU完全属于它自己。任务有自己的堆栈和CPU寄存器,并且被赋予一定的优先级。任务可能处于睡眠、就绪、运行、等待或中断服务状态之一。



4. uC/OS-II与VxWorks的比较



补充内容:
1、时钟节拍:时钟节拍是特定的周期性的中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般为10~200ms.时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,并且当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,则系统的额外开销就越大。
原博客地址:/article/6220925.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: