保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

实时操作系统在星载计算机中的应用


发。在总体设计中,应确定操作系统的结构、支持的任务数、采用的调度方案、提供哪些系统服务等问题。在SARRTOS的体系结构设计中采用了将整体式和客户/服务器模型结合的方法。将它定义为四个层次:硬件层、硬件接口层、OS层和应用层,如图1所示。

(2)任务调度

为了保证系统的实时性,可以采用基于优先级的抢占式调度,也就是一旦更高优先级的任务就绪,就能获得CPU的使用权,使任务响应时间最短。SAR-RTOS中就是采和了这种调度方案,调度时间确定、速度快、实时性好。

    SAR-RTOS中关于任务管理的实现方法为:考虑到星载系统的ROM和RAM资源有限,为了保证SAR-RTOS的微内核性,将其设计为最多能支持64个任务。给每个任务赋予不同的优先级,以优先级为基础建立任务就绪表。当某个任务就绪时,将就绪表中相应位置位,执行任务调度时按照优先级矢量位图算法查找任务就绪表,找出最高优先级任务,执行任务切换。

任务切换需要完成以下工作,但需要注意的是执行任务切换属于临界区代码(不可被中断),必须关中断,切抽象完成后再开中断:

*判断需要调度的任务是否是当前正在运行的任务,如果是就不切换,避免不必要的切换,缩短CPU执行时间;

*将被挂起的任务CPU寄存器压入堆栈;

*将当前堆栈指针保存在即将挂起任务的任务控制块中;

*把高优先级任务的CPU寄存器从堆栈中恢复;

*将高优先级任务的任务控制块中保存的堆栈指针恢复;

*执行中断返回指令,让高优先级任务运行。

(3)任务管理

任务在RTOS中通常同时作为系统调度和资源分配的最小单位,也是用户编写应用程序的基础,对任务的管理是RTOS最基本的功能。对任务的管理内容包括任务状态的设计以及任务状态变迁的实现。在SAR-RTOS中任务的状态总共有四种,如表1所示。

表1 SAR-RTOS中的任务状态

运行态(Running) 任务占有CPU,并得以执行的状态 就绪态(Ready) 任务已经具备运行的条件,等待内核调度 阻塞态(Block) 任务由于某种原因被迫放弃CPU的使用 休眠态(Dormant) 任务不具备争取CPU的使用资格的状态,也就是说不会被调度

任务状态的变迁如图2所示。

(4)任务间通信与同步

任务间的同步与通信是多任务操作系统都需要解决的问题。实时操作系统的核心就是要支持多任务的并发执行,相应地也就引入了任务与任务之间、任务与中断服务程序之间必须协调动作、相互配合的问题。即常说的任务间的同步与通信问题。所谓任务间的同步是指多个任务中发生的事件存在某种时序关系,必须协同动作、相互配合,以共同完成一个任务。任务间通信就是任务在运行时与别的任务进行信息交换。其实,同步本质上也是一种信息交换,是为了保证在正确的时间和条件下进行信息交换,使任务间不会产生混乱。在现场操作系统中已经对任务的同步与通信有比较完备的解决办法。信号量以及事件机制等都是RTOS常用的同步机制,RTOS为任务间通信提供邮箱及消息队列等服务。

在SAR-RTOS中,提供的任务间通信的服务包括:消息邮箱(Message Mailbox)和消息队列(Message Queue);提供的任务间同步的服务包括:信号量(Semaphore)和事件标志(Event Flag)。

(5)时间管理

RTOS由于其实时性,在系统运行过程中必须提供可靠的时间保证,因此RTOS通常都在硬件定时器的基础上提供系统时钟服务。每一个时钟滴答(Tick)就是一次系统的脉动,指挥系统各部分协调工作,因此定时管理是RTOS的基础。时间管理一般提供以下

《实时操作系统在星载计算机中的应用(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/157388.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。