嵌入式实操作系统简介【共85张PPT】.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实时内核基本功能-共享资源互斥方法比较 共享资源互斥的设计原则: 当任务之间互斥,可使用所有方法,测试/置位、信号量方法,对其他任务运行的干扰小; 当ISR之间互斥,只能使用关中断法; 当ISR与任务之间互斥,只能使用关中断法。 * 国产WebOS TomOS(千脑 ) epokos *    课程大纲 ? 嵌入式实时操作系统概况 ? 嵌入式实时操作系统特点 ? 嵌入式实时操作系统功能简介 ? ARM-Linux嵌入式操作系统内核实验 * 嵌入式实时操作系统内核重要特性 嵌入式实时操作系统内核的重要特性 实时性 可裁剪、可配置性 可靠性支持 应用编程接口支持 可移植性 * 嵌入式实时操作系统内核实时性能指标 嵌入式实时操作系统内核的实时性能定量指标包括 任务上下文切换时间 中断延迟时间 中断响应时间 中断恢复时间 任务响应时间 * 嵌入式实时操作系统内核实时性能关键指标 最大中断禁止时间 反映内核对外界停止中断响应的最长时间 任务上下文切换时间 系统中最频繁发生的动作,影响整个系统性能 包括:保存当前任务上下文、选择新任务,及恢复新任务上下文三个阶段 * 提高内核实时性的方法-任务调度算法 嵌入式实时操作系统-抢占式调度 提高对关键性任务响应 关注最坏执行时间 函数的可重入性设计 通用操作系统-非抢占式调度 公平和最小化任务平均响应时间 提高系统吞吐率 * 提高内核实时性的方法-可抢占内核 嵌入式实时操作系统-可抢占内核 内核服务可响应中断 中断退出后可进行调度 通用操作系统-不可抢占内核 内核服务不能被中断 内核服务可中断,但不调度 低优先级 内核服务 ISR 高优先级 低优先级 内核服务 ISR 高优先级 * 提高内核实时性的方法-内核关中断时间 嵌入式实时操作系统 小内核、微内核 内核抢占点等技术 通用操作系统 内核规模大 中断禁止时间长 RTEMS的内核程序示例 void _Thread_Resume( Thread_Control *the_thread, boolean force ) { ISR_Level level; States_Control current_state; _ISR_Disable( level ); ?---从该行代码开始关中断,进行内核互斥操作 if ( force == TRUE ) the_thread-suspend_count = 0; else the_thread-suspend_count--; if ( the_thread-suspend_count 0 ) { _ISR_Enable( level ); return; } current_state = the_thread-current_state; if ( current_state STATES_SUSPENDED ) { current_state = the_thread-current_state = _States_Clear(STATES_SUSPENDED, current_state); if ( _States_Is_ready( current_state ) ) { _Priority_Add_to_bit_map( the_thread-Priority_map ); _Chain_Append_unprotected(the_thread-ready, the_thread-Object.Node); _ISR_Flash( level ); ?---该行代码为内核抢占点 if ( the_thread-current_priority _Thread_Heir-current_priority ) { _Thread_Heir = the_thread; if ( _Thread_Executing-is_preemptible || the_thread-current_priority == 0 ) _Context_Switch_necessary = TRUE; } } } _ISR_Enable( level ); ?---从该行代码开始开中断,结束内核互斥操作 } * 提高内核实时性的方法-系统运行状态 许多嵌入式操作系统不划分“系统空间”和“用户空间”,如VxWorks

文档评论(0)

jydlssh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档