本人前言:
很久没有练习英语了,本想发点时间在工作之余,翻译一下μC/OS III用户手册,发现还是有点吃力,于是乎,参见网络上的嘉兴学院的屈环宇同学的译本,谢谢!
前言
做为Micrium 公司推出的第三代操作系统, μC/OS III支持现代的实时内核所期待的大部分功能;
μC/OS III是一个可裁剪、可固化、基于优先级的实时内核,支持例如资源管理、同步、任务间的通信等等。同时μC/OS III也具备一些很有特色的功能,是很多的其他的实时内核所不具备的,比如完备的实际测量性能、直接发送信号或消息到任务、任何可同时等待多个内核对象等。
与第二代μC/OS II相比,μC/OS III更加优秀,μC/OS III中删除或更新了μC/OS II中很少使用的一些功能;添加了更高效的功能和服务,比如时间片轮转调度(round robin)等,μC/OS II最多支持64个任务,而μC/OS III在理论上任务数量没有限
第一章 介绍
实时系统
软实时系统和硬实时系统的区别在于一旦没有在规定的时间内完 成任务所导致后果的严重性。超过时限后所得到的结果即使正确也可 能是毫无作用的。 硬实时系统中,运算超时是不允许发生的。在很多情况下,超时 会导致巨大的灾难,会威胁人们的生命安全。但是在软实时系统中, 超时不会导致严重后果。
前后台系统
简单的小型系统设计一般是基于前后台的或者无限循环的系统。 包含一个无限循环的模块实现需要的操作(后台)。中断处理程序实 现异步事件(前台)。前台也叫做中断级,后台也叫作任务级。
多数高产量低成本微控制器的应用软件(例如微波炉,电话玩具等)都是基于前后台系统的。
实时内核
实时内核是一个能管理MPU、MCU、DSP时间和资源的软件。
实时内核的应用包括迅速地响应,可靠地完成工作的各个部分。任务(也叫做线程)是一段简单的程序,运行时完全地占用CPU。在单CPU中,任何时候只有1个任务被执行。
内核的责任是管理任务,也做多任务处理。多任务处理的作用是协调和切换多个任务依次享用CPU。多任务处理最大化CPU的功能同时会让我们感觉是多个CPU在同时运行。多任务处理也有利于处理模块化的应用。多任务处理一个最重要的方面在于它允许程序员管理复杂的实时应用。在多任务处理中程序员可以简单的维护和升级产品。
uC/OS-III是一个抢占式内核,这意味着uC/OS-III总是执行最重要的就绪任务,
uC/OS-III内核也负责管理任务间的交流,系统的资源(内存和I/O)。
系统中加入内核需要额外的支出,因为内核提供服务时需要时间去处理。大多数的额外支出取决于服务的调用频繁度。在一个优秀的设计中,内核占用CPU的时间介于2%到4%之间。因为uC/OS-III是一个软件,添加到目标系统中需要额外的ROM和RAM。低档的单片机很有可能不支持像uC/OS-III那样的实时内核,因为它只有很少的RAM可供访问。uC/OS-III内核需要1K到4K之间的RAM,加上每个任务自己所需的堆栈空间。至少有4K大小RAM的处理器才有可能成功移植uC/OS-III。最后,为了更好地使用CPU,uC/OS-III提供了大约70种常用的服务。当用过像uC/OS-III那样的具有实时内核的系统后,你将不会再去使用前后台系统了。
实时系统(RTOS)
一个实时系统通常包括一个实时内核以及其他高级的服务,例如:文件管理,堆栈协议,图形用户接口等等。大多数服务都是跟I/O有关的。
Micrium提供了RTOS一套完整的组件,包括uC/FS、uC/TCP-IP、uC/GUI、uC/USB等。这些组件大部分都可以单独执除了uC/TCP-IP。实时内核在应用中不是必须的。事实上,用户可以单独选择您的应用所需用的组件。
uC/OS-III
uC/OS-III是一个可扩展的,可固化的,抢占式的实时内核,它管理的任务个数不受限制。它是第三代内核,提供了现代实时内核所期望的所有功能包括资源管理、同步、内部任务交流等。uC/OS-III也提供了很多特性是在其他实时内核中所没有的。比如能在运行时测量运行性能,直接得发送信号或消息给任务,任务能同时等待多个信号
量和消息队列。
|