ITRON40规范的实时操作系统NORTive.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ITRON4 0规范的实时操作系统 NORTi ve ? 基于u ITRON4.0规范的实时操作系统(NORTi version 4)-12011-03-21 22:45 特长 高速应答性 NORTi是抢占式多任务操作系统,当事件发生时通过基于优先度的调度程序,实时地切换 任务。系统内核由仔细斟酌过的代码构成,在系统调用内部不必通过查询,1次即可选择 操作对象,而且中断屏蔽时间被缩短到以前的一半,能最大限度地发挥CPU性能。此外, 操作系统能够导入优先度高于OS的中断程序。此时,中断屏蔽时间无限趋近于零。 小型 最佳优化了TCB(Task Control Clock任务管理模块)等操作系统内部管理模块大小,不会 浪费宝贵的RAM领域1个字节 C语言编写的内核 NORTi的大部分源代码是用容易理解的C语言编写的,有人认为用C语言编写的操作系统性 能不如汇编语言编写的操作系统,其实并非如此。用C语言编写的操作系统通过编译器分 配寄存器,可以使用最少的寄存器完成存储/复原等操作,相应系统就可高速运行。并且 ,因为应用过的源代码可以兼容多种CPU,故新版CPU发布后,马上就能保证可靠运行。 兼容u ITRON4.0与u ITRON3.0两种规范 日本TRON协会的u ITRON4.0规范并不兼容3.0规范。而在NORTi里不仅支持u ITRON4.0规 范,也实装了u ITRON3.0规范的接口。在以前版本中开发的程序,不经修改即可与现系 统共存直接使用。 完整的u ITRON NORTi中完整的实装了u ITRON4.0/3.0规范,并认真地进行了优化组合、另外还提供了丰 富的同步通信手段(不包括CPU异常处理程序定义)。 支持多种处理器/编译程序/调试工具 由于NORTi支持大部分的16~32位处理器,所以即使目标机器不同中,也可以用相同的作 法使用NORTi。此外为了支持更多的开发环境,MiSPO公司正在与多家开发工具制造商进 行合作,积极地寻求对策。 任务的状态 在NORTi中可并行处理的程序单位称为任务,任务始终处于NON-EXISTENT(未生成状态), DORMANT(停止状态),READY(准备状态),RUNNING(执行状态),WAITING(等待状 态),SUSPENDED(强制等待状态),WAITING-SUSPENDED(双重等待状态)等7个状态的 任1状态。 准备状态(READY) 因为更高优先度处于执行状态,或者相同优先级的任务被提前执行,而等待的状态。 执行状态(RUNNING) 任务正在被处理器执行的状态。处于RUNNING状态的任务同时只能存在1个。对于任务而 言,READY状态和RUNNING状态没有太大的差别,最优先的READY任务也可以被称为 RUNNING任务。 等待状态(WAITING) 等待状态是指通过自任务呼叫的系统调用而停止执行的状态。在事件驱动的多任务系统 中,被启动的任务大部分的时间都应该处于等待状态中。否则,不能利用任务等待的时 间执行其他的任务。 等待状态根据其特点分为以下几类。 起床等待(slp_tsk,tslp_tsk) 时间等待(dly_tsk) 事件标识(event flag)成立等待(wai_flg,twai_flg) 信号(semaphore)获得等待(wai_sem,twai_sem) 排他资源(mutex)获得等待(loc_mtx,tloc_mtx) 信箱(mail box)接收消息(message)等待(rcv_mbx,trcv_mbx) 消息缓存(message buffer)发送消息等待(snd_mbf,tsnd_mbf) 消息缓存(message buffer)接收消息等待(rcv_mbf,trcv_mbf) 数据队列(data queue)发送消息等待(snd_dtp,tsnd_dtp) 数据队列(data queue)接收消息等待(rcv_dtp,trcv_dtp) 会合(rendezvous)呼叫等待(cal_por,tcal_por) 会合(rendezvous)应答等待(acp_por,tacp_por) 会合(rendezvous)结束等待(cal_por,tcal_por) 可变长内存块(memory block)获得等待(get_mpl,tget_mpl) 固定长内存块(memory block)获得等待(get_mpf,tget_mpf) 强制等待状态(SUSPENDED) 任务被其他任务中止执行后进入的状态。该状态被利用的机会很少。设置的目的主要为 了调试时暂时停止正在执行的任务。 双重等待状态(WAITING-SUSPENDED) 是为了方便管理而分离出来的,其与强制等待状态大致相同。只是当任务被其他任务停 止时不是处于准备状态,而

文档评论(0)

shujukd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档