■ 一个战略决策 实时操作系统有助于使复杂的应用程序既可预测又可靠;事实上,实时操作系统对时间的精确控制增加了GPOS无法实现的可靠性。(如果基于GPOS的系统由于不正确的计时行为而不能正确工作,那么我们可以合理地说该系统是不可靠的。)然而,选择正确的rtos本身可能是一项复杂的任务。实时操作系统的底层架构是一个重要的标准,但其他因素也是如此。其中包括: • 灵活选择调度算法-实时操作系统是否支持选择调度算法(FIFO,循环调度,零星调度等?)开发人员可以按线程分配算法,还是实时操作系统强迫他为系统中的所有线程分配一种算法? • 时间分区-实时操作系统是否支持时间分区,以便为进程提供一定百分比的CPU周期?这样的保证简化了从多个开发团队或供应商集成子系统的工作。它们还可以确保关键任务仍然可用并满足其最后期限,即使系统受到拒绝服务(DoS)攻击和其他恶意攻击。 • 支持多核处理器——迁移到多核处理器的能力已经成为各种高性能设计的基础。实时操作系统是否支持多处理模型(对称多处理、非对称多处理、绑定多处理)的选择,以帮助开发人员充分利用多核硬件?系统跟踪工具是否支持实时操作系统,以便开发人员诊断和优化多核系统的性能?如果没有能够突出资源争用、过度的线程迁移和多核设计中常见的其他问题的工具,优化多核系统很快就会成为一项繁重、耗时的任务。 • 用于远程诊断的工具-由于许多嵌入式系统无法容忍停机,因此实时操作系统供应商应提供诊断工具,可以分析系统的行为而不会中断系统提供的服务。寻找一个提供用于系统分析,应用程序分析和内存分析的运行时分析工具的供应商。 • 开放式开发平台-实时操作系统供应商是否提供基于开放式平台(如Eclipse)的开发环境,从而允许开发人员“插入”他们喜欢的第三方工具来进行建模,版本控制等?还是开发环境基于专有技术? • 图形用户界面-实时操作系统是使用原始图形库,还是支持多种人机界面技术(HTML5、Qt、OpenGL ES等),并提供高级图形功能,如多层界面、多头显示、加速3D渲染和真正的窗口系统?gui的外观和感觉可以很容易地定制吗?guis能同时显示和输入多种语言(汉语、韩语、日语、英语、俄语等)吗?二维和三维应用程序可以轻松地共享同一屏幕吗?标准api-实时操作系统是将开发人员锁定到专有api中,还是为posix和opengl es等标准api提供经认证的支持,从而使代码更易于在其他环境之间进行移植?此外,实时操作系统是否提供了对api的全面支持,或者它只支持定义接口的一小部分? • 标准api-实时操作系统是将开发人员锁定到专有api中,还是为posix和opengl es等标准api提供经认证的支持,从而使代码更易于在其他环境之间进行移植?此外,实时操作系统是否提供了对api的全面支持,或者它只支持定义接口的一小部分? • 针对数字媒体的中间件——对数字媒体的灵活支持正在成为一系列嵌入式系统的设计要求,包括汽车收音机、医疗设备、工业控制系统、媒体服务器,当然还有消费电子产品。一个系统可能需要处理多个媒体源(设备、流等),理解多个数据格式,并支持多种drm方案。通过为数字媒体提供设计良好的中间件,实时操作系统供应商可以消除连接到多个媒体源、组织数据和启动适当的数据处理路径所需的大量软件工作此外,一个设计良好的中间件解决方案将有灵活性来支持新的数据源,如下一代iPod,而不需要修改用户界面或其他软件组件。 对于任何项目团队来说,选择实时操作系统都是一项战略决策。实时操作系统供应商为上述问题提供清晰的答案后,您将可以选择现在和将来最适合的。
|