文档介绍:1 、嵌入式实时操作系统简介 英文名 Embedded Real-time Operation System ,简写为 RTOS 。 定义:当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应, 并控制所有实时任务协调一致运行的嵌入式操作系统。(注: 在工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求, 这就需要使用实时系统。我们常常说的嵌入式操作系统都是嵌入式实时操作系统。比如μ C/OS-II 、 eCOS 和 Linux 。故对嵌入式实时操作系统的理解应该建立在对嵌入式系统的理解之上加入对响应时间的要求。) IEEE 定义: 嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。 一般定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 分类: VxWorks , uC/OS- Ⅱ, uClinux , eCos , RTXC 等。 2 、嵌入式实时操作系统的任务管理 任务管理: 是嵌入式实时操作系统的核心和灵魂, 决定了操作系统的实时性能。它通常包含优先级设置、多任务调度机制和时间确定性等部分。 优先级设置:嵌入式操作系统支持多任务,每个任务都具有优先级,任务越重要, 赋予的优先级应越高。优先级的设置分为静态优先级和动态优先级两种。静态优先级指的是每个任务在运行前都被赋予一个优先级,而且这个优先级在系统运行期间是不能改变的; 动态优先级则是指每个任务的优先级( 特别是应用程序的优先级) 在系统运行时可以动态地改变。 多任务调度机制:任务调度主要是协调任务对计算机系统资源的争夺使用。对系统资源非常匮乏的嵌入式系统来说, 任务调度尤为重要, 它直接影响到系统的实时性能。通常,多任务调度机制分为基于优先级抢占式调度和时间片轮转调度。( 1 )基于优先级抢占式调度: 系统中每个任务都有一个优先级, 内核总是将 CPU 分配给处于就绪态的优先级最高的任务运行。如果系统发现就绪队列中有比当前运行任务更高的优先级任务, 就把当前运行任务置于就绪队列中, 调入高优先级任务运行。系统采用优先级抢占方式进行调度, 可以保证重要的突发事件及时得到处理。( 2 )时间片轮转调度:让优先级相同的处于就绪状态的任务按时间片使用 CPU ,以防止同优先级的某一任务长时间独占 CPU 。在一般情况下,嵌入式实时操作系统采用基于优先级抢占式调度与时间片轮转调度相结合的调度机制。 时间的可确定性:嵌入式实时操作系统甬数调用与服务的执行时间应具有可确定性。系统服务的执行时间不依赖于应用程序任务的多少。基于此特征, 系统完成某个确定任务的时间是可预测的。 任务管理机制:在内核的设计过程中,最先应考虑的是任务的状态以及迁移时序, 然后根据此状态设计相应的队列, 如就绪队列、等待队列等。内核时钟也依赖任务的状态。可以看出,任务管理实现的核心和基础是任务状态和迁移时序。 任务状态:在多任务状态中,任务要参与资源的竞争,只有在所需资源得到满足的情况下才能得到执行。然而, 任务拥有的资源情况是不断变化的, 这将导致任务状态也