武汉嵌入式培训
达内武汉民大中心

15271940953

热门课程

RTOS核心——调度和分割

  • 时间:2017-06-27
  • 发布:武汉嵌入式培训
  • 来源:嵌入式教程

今天,达内武汉嵌入式培训的小编将要为大家带来的是RTOS核心:调度和分割。

大多数程序员不熟悉RTOS的限制和要求。大多数人通常因其性能选择RTOS。大多数RTOS产品代码少和速度快,现在RTOS还提升了一致性。RTOS除能很快完成任务外,还能保证很好地完成任务。

在许多应用中,一个迟到的结果可以是灾难性的。因此,人们宁愿在一个要求的时限内获得较差的结果。这些应用通常被称为硬实时系统。硬实时不是指系统响应有多快或多快一个系统能响应,而是指系统能多可靠地满足特定的要求。

一个硬实时系统可能有一个一分钟的固定周期时间,它要求的响应时间为一秒。理论上,这样的要求几乎所有的操作系统都能实现。但事实并非总是如此,正如任何一个人都能证明等待台式计算机应用在一分钟之内做出响应需要等多久。硬实时系统通常具有更短的周期时间和更紧苛的响应要求。更快的处理器速度总是有帮助的,多内核平台也能改善响应速度。对开发人员来说,窍门在于把系统需求与硬件和软件匹配起来,然后才是RTOS在嵌入式应用中的重要性。

一个RTOS可以实现一系列调度策略,但应用经常会制约一个程序员的选择(见表)。非优先式调度(non-preemptive scheduling)的实现虽不重要,但在一些应用中很有用。另一方面,任务内的非优先式调度可在优先式系统的顶部实现。不应该轻忽非优先式调度,特别在新型多内核处理器出现以后。这里,硬件可被调整到处理一个基于事件的操作,其中线程将等待外部事件的发生。对处理多线程的单 核处理器来说,该方法一般不适用。但对有许多内核的多核系统说,典型情况是为一个外设指定一个核。所以,在等待事件发生期间,使该核空闲起来是有意义的。

优先式、中断驱动的RTOS架构占据了业已部署的大部分平台。这些平台有一系列的要求、问题和解决方案。虽然借助硬件手段(多个寄存器组合、硬件调度、任务切换、以及分层中断优先级系统等)可显著缩短中断时延,但该时延永远是一个问题。

优先式处理会带来若干问题。它们大多是与时序关联的,如竞争条件、死循环、空耗等待和优先级转换,它们发生在低优先级任务A拥有更高优先级任务B的同步资源,而优先级比A高的任务C正在运行。如果没有像优先级置顶(priority ceilings)这样的特性,任务C就可以阻止任务A和任务C运行。优先级置顶特性可以把任务A的优先级改变成与任务C的优先级一样,从而允许任务A运 行并最终释放任务C所需的资源。至此,任务A的优先级复原,任务C就可以继续运行。

程序员必须解决的其它与时序相关的问题通常是难以定位和纠正的缺陷源。在定位这些缺陷时跟踪工具就变成了很有价值的手段,因为诸如受阻的任务等症候是这些问题的唯一表现形式。就操作系统所需的特性来看,重入库(reentrant library)特性在RTOS环境下是可有可无的。但在一个典型的操作系统中,由于任务和程序常常是随机的和变化的,而且常公用库,因此重入库是一个必须的特性。

以上就是今天分享的内容,更多知识敬请关注达内武汉嵌入式培训官网!

上一篇:向量中断与非向量中断
下一篇:年薪30万的嵌入式工程师都必须具备哪些知识?

武汉嵌入式培训:嵌入式如何系统学习

RTOS核心——调度和分割

向量中断与非向量中断

选择城市和中心
贵州省

广西省

海南省