itron40规范的实时操作系统nortiv

itron40规范的实时操作系统nortiv

ID:22554968

大小:44.06 KB

页数:17页

时间:2018-10-30

itron40规范的实时操作系统nortiv_第1页
itron40规范的实时操作系统nortiv_第2页
itron40规范的实时操作系统nortiv_第3页
itron40规范的实时操作系统nortiv_第4页
itron40规范的实时操作系统nortiv_第5页
资源描述:

《itron40规范的实时操作系统nortiv》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、ITRON40规范的实时操作系统NORTive基于uITRON4.0规范的实时操作系统(NORTiversion4)-12011-03-2122:45特长高速应答性NORTi是抢占式多任务操作系统,当事件发生时通过基于优先度的调度程序,实时地切换任务。系统内核由仔细斟酌过的代码构成,在系统调用内部不必通过查询,1次即可选择操作对象,而且中断屏蔽时间被缩短到以前的一半,能最大限度地发挥CPU性能。此外,操作系统能够导入优先度高于OS的中断程序。此时,中断屏蔽时间无限趋近于零。小型最佳优化了TCB(TaskCon

2、trolClock任务管理模块)等操作系统内部管理模块大小,不会浪费宝贵的RAM领域1个字节C语言编写的内核NORTi的大部分源代码是用容易理解的C语言编写的,有人认为用C语言编写的操作系统性能不如汇编语言编写的操作系统,其实并非如此。用C语言编写的操作系统通过编译器分配寄存器,可以使用最少的寄存器完成存储/复原等操作,相应系统就可高速运行。并且,因为应用过的源代码可以兼容多种CPU,故新版CPU发布后,马上就能保证可靠运行。兼容uITRON4.0与uITRON3.0两种规范日本TRON协会的uITRON4.

3、0规范并不兼容3.0规范。而在NORTi里不仅支持uITRON4.0规范,也实装了uITRON3.0规范的接口。在以前版本中开发的程序,不经修改即可与现系统共存直接使用。完整的uITRONNORTi中完整的实装了uITRON4.0/3.0规范,并认真地进行了优化组合、另外还提供了丰富的同步通信手段(不包括CPU异常处理程序定义)。支持多种处理器/编译程序/调试工具由于NORTi支持大部分的16~32位处理器,所以即使目标机器不同中,也可以用相同的作法使用NORTi。此外为了支持更多的开发环境,MiSPO公司正

4、在与多家开发工具制造商进行合作,积极地寻求对策。任务的状态在NORTi中可并行处理的程序单位称为任务,任务始终处于NON-EXISTENT(未生成状态),DORMANT(停止状态),READY(准备状态),RUNNING(执行状态),WAITING(等待状态),SUSPENDED(强制等待状态),WAITING-SUSPENDED(双重等待状态)等7个状态的任1状态。准备状态(READY)因为更高优先度处于执行状态,或者相同优先级的任务被提前执行,而等待的状态。执行状态(RUNNING)任务正在被处理器执行的

5、状态。处于RUNNING状态的任务同时只能存在1个。对于任务而言,READY状态和RUNNING状态没有太大的差别,最优先的READY任务也可以被称为RUNNING任务。等待状态(WAITING)等待状态是指通过自任务呼叫的系统调用而停止执行的状态。在事件驱动的多任务系统中,被启动的任务大部分的时间都应该处于等待状态中。否则,不能利用任务等待的时间执行其他的任务。等待状态根据其特点分为以下几类。起床等待(slp_tsk,tslp_tsk)时间等待(dly_tsk)事件标识(eventflag)成立等待(wai

6、_flg,twai_flg)信号(semaphore)获得等待(wai_sem,twai_sem)排他资源(mutex)获得等待(loc_mtx,tloc_mtx)信箱(mailbox)接收消息(message)等待(rcv_mbx,trcv_mbx)消息缓存(messagebuffer)发送消息等待(snd_mbf,tsnd_mbf)消息缓存(messagebuffer)接收消息等待(rcv_mbf,trcv_mbf)数据队列(dataqueue)发送消息等待(snd_dtp,tsnd_dtp)数据队列(d

7、ataqueue)接收消息等待(rcv_dtp,trcv_dtp)会合(rendezvous)呼叫等待(cal_por,tcal_por)会合(rendezvous)应答等待(acp_por,tacp_por)会合(rendezvous)结束等待(cal_por,tcal_por)可变长内存块(memoryblock)获得等待(get_mpl,tget_mpl)固定长内存块(memoryblock)获得等待(get_mpf,tget_mpf)强制等待状态(SUSPENDED)任务被其他任务中止执行后进入的状态

8、。该状态被利用的机会很少。设置的目的主要为了调试时暂时停止正在执行的任务。双重等待状态(WAITING-SUSPENDED)是为了方便管理而分离出来的,其与强制等待状态大致相同。只是当任务被其他任务停止时不是处于准备状态,而是处于等待状态。当等待条件满足时,任务从等待状态迁移到强制等待状态,而不是执行状态。停止状态(DORMANT)停止状态是指任务没有被启动时的状态或任务结束时的状态,执行中的任务即

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。