码迷,mamicode.com
首页 >  
搜索关键字:ucos    ( 198个结果
ucos内存管理原理详解
应用程序中为了某种特殊需要,经常需要动态的分配内存,而操作系统的特质置一,就是能不能保证动态内存分配的时效性,也就是说分配时间是可确定的 Ucos提供内存分配功能,它将内存空间分为两级管理,将一块连续的内存空间分为若干个分区,每个分区单位又分成大小相同的若干个内存块,分区时操作系统的管理单位,...
分类:其他好文   时间:2015-03-10 01:25:12    阅读次数:205
ucos互斥信号量解决优先级反转问题
在可剥夺性的内核中,当任务以独占方式使用共享资源的时候,会出现低优先级任务高于高优先级任务运行的情况,这种情况叫做优先级反转,对于实时操作系统而言,这是一场灾难,下面我们来说说优先级反转的典型环境. 我们假设有三个任务a,b,c,a优先级高于b,b优先级高于c,a和c都需要访问一个共享资源...
分类:其他好文   时间:2015-03-10 01:23:26    阅读次数:2818
ucos信号量集源码分析
在实际的应用之中,一个任务经常需要等待多个信号量的同时生效,或者说任务需要根据多个信号量的组合作用的结果来决定任务的运行方式,为了实现这种多信号量组合的功能,ucos实现了信号量集的特殊结构. 信号量集的基础仍然是信号量,它如同一个多个信号量组成的与非门来构成逻辑结果控制任务的执行. 信号量...
分类:其他好文   时间:2015-03-10 01:22:26    阅读次数:178
ucos队列的实现--源码分析
之前说到事件,讲了事件,信号量和互斥信号量,还有一个队列没说,今天说说队列. 队列是用在任务之间传送多个消息的时候,a任务发送消息,b任务发送消息,然后c任务可以依次去提取出b和a传递的消息,不会造成系统的阻塞,他的实现结构如下在队列的实现中,也是使用事件ecb,OSEventType为OS_EV....
分类:其他好文   时间:2015-03-10 01:20:40    阅读次数:255
ucos调度器详解
这一片谈谈关于ucos调度器的相关知识.ucos的调度器的实现主要靠一个函数OS_Sched该函数将调度器的行为分为了两个部分,第一是调度部分,第二是任务切换部分,如下void OS_Sched (void){#if OS_CRITICAL_METHOD == 3u OS_CPU_SR cpu_sr...
分类:其他好文   时间:2015-03-09 00:21:36    阅读次数:1136
ucos任务控制块详解
Ucos实现多任务的基础包括几个方面:任务控制块,任务堆栈,中断,任务优先级,一一说起 首先,任务控制块的结构如下//系统在运行一个任务的时候,按照任务的优先级获取任务控制块,再在任务堆栈中获得任务代码指针typedef struct os_tcb {//任务控制块 OS_STK *OSTCBStk...
分类:其他好文   时间:2015-03-09 00:21:29    阅读次数:304
ucos任务调度原理及任务就绪表
之前我们说到,系统在运行的时候会直接依靠任务的优先级来找到任务的控制块从而实现任务的调用切换等功能,那么接下来的问题就是,系统是怎么找到并确定某一个特定的最高优先级任务并确定他的优先级的呢 为了解决这个问题,ucos采用了一种比较巧妙地方式,叫做就绪任务表,定义如下 OS_EXT OS_PRIO ....
分类:其他好文   时间:2015-03-09 00:21:12    阅读次数:1345
ucos系统初始化及启动过程
之前在ucos多任务切换中漏掉了一个变量,OSCtxSwCtr标识系统任务切换次数主要应该还是用在调试功能中Ucos系统初始化函数为OSInit(),主要完成以下功能全局变量初始化就绪任务表初始化空任务控制块初始化事件控制块链表初始化信号量集初始化存储器管理初始化Qs队列控制初始化系统空闲任务初始化...
分类:其他好文   时间:2015-03-09 00:20:43    阅读次数:446
ucos事件邮箱信号量队列详解
Ucos的事件分为时钟,信号量,互斥性信号量,消息队列,以及消息邮箱首先说信号量 信号量在ucos中的类型定义为OS_EVENT_TYPE_SEM,在任务控制块ecb中,主要是用到的是信号量计数器OSEventCnt,当有任务申请信号量的时候,如果信号量OSEventCnt的值大于0,则将OSEve...
分类:其他好文   时间:2015-03-09 00:18:53    阅读次数:256
uos事件控制块与任务同步
Ucos为了任务之间的通讯定义了信号量,互斥性信号量,消息对象 消息队列等结构以及api,为了统一的管理这些同步,定义了一个结构叫做时间控制块OS_EVENT,如下 typedef struct os_event { INT8U OSEventType; void *OSEventPtr; INT1...
分类:其他好文   时间:2015-03-09 00:14:17    阅读次数:334
198条   上一页 1 ... 14 15 16 17 18 ... 20 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!