Feature µC/OS-II µC/OS-III
Release Date(发布时间) 1999–present 2009–present
Preemptive Multitasking(抢先多任务处理)
Maximum number of tasks(最大任务数) 255 Unlimited
Number of tasks at each priority level(每个优先级的任务数量) 1 Unlimited
Round robin scheduling(轮转调度)  
Semaphores(信号)
Mutual exclusion semaphores(互斥信号量) ✔ (Nestable)
Event flags(事件标志)
Message mailboxes(消息邮箱) No (not needed)
Message queues(消息队列)
Fixed sized memory management(固定大小的内存管理)
Signal a task without requiring a semaphore(在不需要信号量的情况下给任务发送信号)  
Option to post without scheduling(没有发布调度选项)  
Send messages to a task without requiring a message queue(不需要消息队列就可以向任务发送消息)  
Software timers(软件定时器)
Task suspend/resume(任务挂起/恢复) ✔ (Nestable)
Deadlock prevention(预防死锁)
Scalable(可扩展性)
Code footprint(代码的足迹) 6K to 26K 6K to 24K
Data footprint(数据足迹) 1K+ 1K+
ROMable(可只读存储器化)
Run-time configurable(运行时配置)  
Compile-time configurable(编译时可配置)
ASCII names for each kernel object(每个内核对象的ASCII名称)
Pend on multiple objects(花费在多个对象上)
Task registers(任务的寄存器)
Built-in performance measurements(内置性能测量) Limited Extensive
User definable hook functions(用户可定义的钩子函数)
Time stamps on posts(邮政时间戳)  
Built-in kernel awareness support(内置内核感知支持)
Optimizable scheduler in assembly language(可优化的汇编语言调度程序)  
Catch a task that returns(捕获返回的任务)  
Tick handling at task level(在任务级别处理滴答)  
Dynamic tick rate(动态嘀嗒频率)  
Source code available(源代码开源)
Number of services(数量的服务) ~90 ~70
MISRA-C:1998 ✔ (except 10 rules) N/A
MISRA-C:2012   ✔ (except 8 advisory and 8 required guidelines)
DO178B Level A and EUROCAE ED-12B
Medical FDA pre-market notification (510(k)) and pre-market approval (PMA)
SIL3/SIL4 IEC for transportation and nuclear systems
IEC-61508()

µC/OS-II和µC/OS-III比较相关推荐

  1. 【 uC/OS II 】uC/OS II 源代码阅读(os_task.c)任务管理

    前言 这个任务管理源代码,是整个系统最核心的部分,也是最难的部分,多看几遍吧.其中的核心结构体是: typedef struct os_tcb {OS_STK *OSTCBStkPtr; /* Poi ...

  2. 【 uC/OS II 】uC/OS II 源代码阅读(os_mbox.c)消息邮箱

    前言 关于消息邮箱,是一个消息邮箱里面,只能存储一条消息.核心结构体如下: #if (OS_EVENT_EN) && (OS_MAX_EVENTS > 0u) typedef s ...

  3. UART0串口编程(四):UART0串口编程之在UC/OS—II中遭遇的危机

    UART0串口编程之在UC/OS-II中遭遇的危机 一.潜在的危机 1.在uc/os操作系统中设计串口编程时,由于ISR和多个任务并发执行,情况比较复杂.尤其是接收状态为被动状态时,只能靠串行口中断来 ...

  4. Lab 6:uC/OS II

    为什么80%的码农都做不了架构师?>>>    目标: 移植uC/OS II到RPi上,实现两个任务的调度.这两个任务能轮流点亮LED,并通过串口发送消息表明自己正在运行 具体步骤: ...

  5. 嵌入式实时操作系统μC/OS II(一)

    嵌入式实时操作系统μC/OS II 为什么要学习μC/OS-II ㈠.凡从事嵌入式系统开发工作的人,必须对嵌入式操作系统有足够的了解. ㈡.对于初学者,从μC/OS-II开始是个明智的选择. 1.μC ...

  6. uc/OS II——多任务设计

    uc/OS II--多任务设计 (1)设计 开始任务 [1]/声明 开始任务 任务块 static OS_STK App_TaskStartStk[APP_TASK_START_STK_SIZE]; ...

  7. Mac OS X10.11(OS X EI Capitan)安装程序下载

    Mac OS X10.11(OS X EI Capitan)的安装程序(dmg文件)已经上传到百度网盘(直接安装即可).有需要者请加微信公众号:geekculture,并发送capitan或osx获取 ...

  8. python split(), os.path.split()和os.path.splitext()函数的区别

    python split(), os.path.split()和os.path.splitext()函数的区别 文章目录: 1. split() 2. os.path.split() 3. os.pa ...

  9. python安装os模块_python的os模块(ipython,文件,目录,权限,管理)

    什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,这时就离不了o ...

  10. python调用Shell脚本:os.system(cmd)或os.popen(cmd),

    python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.实际使用时视需求情况而选择. ...

最新文章

  1. lunix下的redis数据库操作——hash(哈希)
  2. 水题 逆序对 NOIP 2013 火柴排队
  3. 鸿蒙内部测试情况,鸿蒙OS内测曝光,安卓劲敌浮出水面!
  4. 信息安全工程师软考——第一章 网络信息安全概述笔记!!!!
  5. 51单片机:定时器/计数器TMOD设定
  6. 中国大学生在线官方微博入围全国十大中央机构微博、全国十大教育微博
  7. 恶魔奶爸语法7-9课
  8. 肠道健康如何影响疾病
  9. NoteExpress使用教程及添加参考文献自动跳转超链接
  10. 随机验证码生成(生成一个含有n位随机数字的字符串)
  11. 1.#_3 Typora(markdown格式文本编辑器) -- 配置高亮及快捷键
  12. nonce值是什么?(Number once)(Number used once)cnonce(client nonce)(一个只被使用一次的任意或非重复的随机数值)
  13. 按照字典序大小遍历字符串的方法
  14. 【Java面试题】之内存泄漏
  15. html中的 脚本制作教程,html5教程制作简单画板代码分享
  16. 完整的阿里支付宝面试经过(转)
  17. [转帖]生产环境(基于docker)故障排除? 有感于博客园三番五次翻车
  18. 私人云/让web客户端可显示服务器目录(二)
  19. MIUI官方论坛 - 发烧友必刷的Android ROM
  20. 至强秘笈 | 英特尔

热门文章

  1. jQuery CSS 样式属性
  2. 关于单CPU,多CPU上的原子操作
  3. gridView总结
  4. Win平台使用cmake工具生成sln工程示例
  5. Win32 API CreateCompatibleDC 函数的相关应用
  6. 《游戏服务器的架构演进》阅读笔记
  7. Asp.Net 将HTML中通过dom-to-image.js标签div内的内容转化为图片保存到本地
  8. laravel --- composer install之后,项目没有vender目录
  9. Python--三元运算与lambda表达式
  10. Net托管世界的应用程序域和线程