uCOS-III的特点

uCOS-III的特点,第1张

  uC/OS-III简介

  uC/OS-III(Micro C OS Three 微型的C 语言编写的操作系统第3版)是一个可升级的,可固化的,基于优先级的实时内核。它对任务的个数无限制。uC/OS-III 是一个第3 代的系统内核,支持现代的实时内核所期待的大部分功能。例如资源管理,同步,任务间的通信等等。然而,uC/OS-III 提供的特色功能在其它的实时内核中是找不到的,比如说完备的运行时间测量性能,直接地发送信号或者消息到任务,任务可以同时等待多个内核对象等。

  uC/OS-III 是一个可扩展的,可固化的,抢占式的实时内核,它管理的任务个数不受限制。它是第三代内核,提供了现代实时内核所期望的所有功能包括资源管理、同步、内部任务交流等。uC/OS-III 也提供了很多特性是在其他实时内核中所没有的。比如能在运行时测量运行性能,直接得发送信号或消息给任务,任务能同时等待多个信号量和消息队列。

  uC/OS-III主要特点

  1、时间片轮转调度:uC/OS-III 允许多个任务拥有相同的优先级。当多个相同优先级的任务就绪时,并且这个优先级是目前最高的。uC/OS-III 会分配用户定义的时间片给每个任务去运行。每个任务可以定义不同的时间片。当任务用不完时间片时可以让出CPU 给另一个任务。

  2、抢占式多任务处理:uC/OS-III 是一个抢占式多任务处理内核,因此,uC/OS-III 正在运行的经常是最重要的就绪任务。

  3、快速响应中断:uC/OS-III 有一些内部的数据结构和变量。uC/OS-III 保护临界段可以通过锁定调度器代替关中断。因此关中断的时间会非常少。这样就使uC/OS-III 可以响应一些非常快的中断源了。

  4、确定性的:uC/OS-III 的中断响应时间是可确定的,uC/OS-III 提供的大部分服务的执行时间也是可确定的。

  5、易移植的:uC/OS-III 可以被移植到大部分的CPU 架构中。大部分的支持uC/OS-II 的器件通过改动就能支持uC/OS-III。而uC/OS-II已经移植到45 种CPU 架构中了。

  6、可固化的:uC/OS-III 专为嵌入式系统设计,它可以跟应用程序代码一起被固化。

  7、可实时配置的:uC/OS-III 允许用户在运行时配置内核。特别的,所有的内核对象如任务、堆栈、信号量、事件标志组、消息队列、消息、互斥信号量、内存分区、软件定时器等都是在运行时分配的,以免在编译时的过度分配。

  8、任务数无限制:uC/OS-III 对任务数量无限制。实际上,任务的数量限制于处理器能提供的内存大小。每一个任务需要有自己的堆栈空间,uC/OS-III 在运行时监控任务堆栈的生长。uC/OS-III 对任务的大小无限制,

  9、优先级数无限制:uC/OS-III 对优先级的数量无限制。然而,配置uC/OS-III 的优先级在32 到256 之间已经满足大多数的应用了。

  10、内核对象数无限制:uC/OS-III 支持任何数量的任务、信号量、互斥信号量、事件标志组、消息队列、软件定时器、内存分区。用户在运行时分配所有的内核对象。

  11、服务:uC/OS-III 提供了高档实时内核所需要的所有功能,例如任务管理、时间管理、信号量、事件标志组、互斥信号量、消息队列、软件定时器、内存分区等。

  12、死锁预防:uC/OS-III 中所有的挂起服务都可以有时间限制,预防死锁。

  13、任务级的时基处理:uC/OS-III 有时基任务,时基ISR 触发时基任务。uC/OS-III 使用了哈希列表结构,可以大大减少处理延时和任务超时所产生的开支。

  14、用户可定义的钩子函数:uC/OS-III 允许程序员定义hook 函数,hook 函数被uC/OS-III 调用。hook 函数允许用户扩展uC/OS-III 的功能。有的hook 函数在任务切换的时候被调用,有的在任务创建的时候被调用,有的在任务删除的时候被调用。

  15时间戳:为了测量时间,uC/OS-III 需要一个16 位或者32 位的时时间戳计数器。这个计数器值可以在运行时被读取以测量时间。例如:当ISR 提交消息到任务时,时间戳计数器自动读取并保存作为消息。当接收者接收到这条消息,时间戳被提供在消息内。通过读取现在的时间戳,消息的响应时间可以被确定。

  16、可优化:uC/OS-III 被设计于能够根据CPU 的架构被优化。uC/OS-III 所用的大部分数据类型能够被改变,以更好地适应CPU 固有的字大小。优先级调度法则可以通过编写一些汇编语言而获益于一些特殊的指令如位设置、位清除、计数清零指令(CLZ),find-first-one(FF1)指令。

  17、内置的性能测量:uC/OS-III 有内置性能测量功能。能测量每一个任务的执行时间,每个任务的堆栈使用情况,任务的执行次数,CPU的使用情况,ISR 到任务的切换时间,任务到任务的切换时间,列表中的峰值数,关中断、锁调度器平均时间等。

  18、错误检测:uC/OS-III 能检测指针是否为NULL、在ISR 中调用的任务级服务是否允许、参数在允许范围内、配置选项的有效性、函数的执行结果等。每一个uC/OS-III 的API 函数返回一个对应于函数调用结果的错误代号。

  19、任务消息:uC/OS-III 允许ISR 或者任务直接发送消息到另一个任务。这样就避免产生一个消息队列,提高了内核性能。

  20、任务信号量“uC/OS-III 允许ISR 或者任务直接地发送信号量给其它任务。这样就避免了必须产生一个中间级内核对象如一个信号量或者事件标志组只为了标记一个任务。提高了内核性能。

  21、挂起多个对象:uC/OS-III 允许任务等待多个事件的发生。特别的,任务可以同时等待多个信号量和消息队列被提交。等待中的任务在事件发生的时候被唤醒。

  22、嵌套的任务停止“uC/OS-III 允许任务停止自身或者停止另外的任务。停止一个任务意味着这个任务将不再执行直到被其他的任务恢复。停止可以被嵌套到250 级。换句话说,一个任务可以停止另外的任务多达250 次。当然,这个任务必须被恢复同等次数才有资格再次获得CPU。

  23、嵌入的内核调试器:这个功能允许内核调试器查看uC/OS-III 的变量和数据结构通过一个用户定义的通道。(但是只能在调试器遇到断点的时候查看)。uC/OS-III 内核也支持uC/Probe(探针)在运行时显示信息。

  24、对象名称:每个uC/OS-III 的内核对象有一个相关联的名字。这样就能很容易的识别出对象所指定的作用。分配一个ASCII 码的名字给任务、信号量、互斥信号量、事件标志组、消息队列、内存块、软件定时器。对象的名字长度没有限制,但是必须以空字符结束。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/dianzi/2716992.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-08-17
下一篇2022-08-17

随机推荐

  • 子楚是谁的儿子

    子楚就是秦庄襄王,父亲是秦孝文王,母亲是夏姬。因早些年间不受父亲的喜爱,被送往赵国做质子。当时秦孝文王也就是安国君,最宠爱的人应该是华阳夫人,那时候夏姬得不到宠爱。在太子安国君的二十多个儿子当中,他的

    2022-12-06
    000
  • 商朝最后一个君王是谁

    商朝最后一个君王是商纣,他的本名叫帝辛,而后世喜欢用纣王来称呼他,纣王是帝乙的儿子,他少时聪明敏锐,文武双全,但是继承王位后,为了扩张领土,集中君主权力,征讨东夷,导致国力下降,国库空虚,最终商朝被

    2022-12-06
    000
  • 琴瑟之好是什么意思

     “琴瑟之好”比喻夫妻感情和谐。出处是《诗经·周南·关雎》:“窈窕淑女,琴瑟友之。”意思是楚楚动人的女孩子,希望用琴声来打动她。还有《诗经·小雅·常棣》:“妻子好合,如鼓瑟琴。”是说夫妻亲密无间,好像

    2022-12-06
    000
  • 琴瑟在御莫不静好什么意思

     我弹琴你鼓瑟,这是多么快乐舒服的事情呀,表达夫妻生活幸福美好。“琴瑟在御,莫不静好”出自《诗经》的《国风·郑风·女曰鸡鸣》:“女曰鸡鸣,士曰昧旦。子兴视夜,明星有烂。将翱将翔,弋凫与雁。弋言加之,与

    2022-12-06
    100
  • 颜徵在为什么不告诉孔子他的父亲是谁

    孔子三岁的时候,父亲叔梁纥去世,他是被自己的母亲颜徵在一手带大。不过颜徵在并没有告诉孔子他的父亲是谁,所以孔子童年时期根本不清楚生父究竟是何人。直到颜徵在去世后,孔子才从他人那里得知自己父亲的身份,然

  • 至圣是哪位圣人

    至圣是孔子;他是中国古代思想家、政治家、教育家,儒家学派创始人、“大成至圣先师”。他的主要成就是创立儒家学派,编纂《春秋》,修订《六经》,创办私学;孔子建构了完整的&ldquo

  • 苏轼最喜欢吃什么水果

    苏轼最喜欢吃荔枝。苏轼58岁第一次荔枝,感到无比好吃,于是就写下了《荔枝叹》。《荔枝叹》是北宋诗人苏轼创作的一首七言古诗。诗先写古时进贡荔枝事,以纪实手法,追思汉唐贡荔之害。再转入议论感慨,诗人以无比

    2022-12-06
    000
  • 心情不好发朋友圈的文案有哪些

    心情不好发朋友圈的文案有:1、有些故事来不及真正的开始,就被写成了昨天。2、心里深不见底的颓荒是众人皆知的哀凉。3、因为爱,割舍爱,这种静默才是最深情的告白,但愿你能明白。4、爱情里谁不是傻子,宁愿自

  • 碧玉年华多少岁

    1、碧玉年华是指女子十六岁,二八年纪。2、在古代,女子十六岁的时候,可以说是她们一生中最美好的年华之一,在这个年纪的时候,不论是大家闺秀还是小家碧玉们都出落得亭亭玉立,优雅大方,所以就用碧玉年华来形容

    2022-12-06
    000

发表评论

登录后才能评论

评论列表(0条)

    保存