有越来越多的新技术被集中用于车载通信服务和信息娱乐系统,从而使车辆变得更安全、更舒适,最终令消费者更加满意。事实上,“更多、更好”恰当地表达了该市场中的流行趋势。汽车制造商其实早已推出集众多功能于一身的整合系统,这些功能包括了GPS导航、卫星电台、实时交通流量报告、三维接口、DVD播放、语音控制操作、自动紧急呼叫、MP3播放器连接、硬盘音频存储、用户定义音乐播放列表等。
为了提供如此丰富的功能,这些系统采用了大量软件组件,代码规模达10、20甚至30MB。软件的这种复杂性给系统可靠性和性能带来了极大的挑战,原因很简单,系统包含代码越多,编程错误、安全漏洞或软件组件之间发生资源冲突的机会就越大。
由于软件负责控制对CPU、存储器和其它系统资源的访问,因此实时操作系统(RTOS)将在诊断和防止这类问题方面发挥重要的作用。特别是它能加强软件进程之间的安全界限,阻止任何进程不经意或有意影响其它进程的性能。为了实现这一目标,一些RTOS引入了资源划分这一概念。
简单地讲,这一概念允许系统设计师将软件进程分组成多个独立的块或区,并给每个区分配一部分有保证的存储器和CPU时间等系统资源。这样,一个区内的进程不会占用其它区内进程所需要的资源。
另外,划分还能提供存储器保护,因为RTOS可以使用存储器管理单元(MMU)控制所有对存储器的访问。例如,Microkernel RTOS就允许开发人员将应用程序、设备驱动程序、协议堆栈和文件系统划分为有存储器保护的独立进程。如果有任何进程(如设备驱动程序)试图访问自身进程范围以外的存储器,MMU就会通知OS,让OS中断和重启该进程。
这种方法包括:
·可以防止任何进程中的代码错误影响其它进程或RTOS内核;
·允许开发人员快速识别和纠正其它方法可能要花几周时间才能隔离的存储器访问违例;
·显著减少故障恢复时间,因为不必在故障发生时进行重启(重启过程可能会花几秒到数分钟的时间),系统可以只重启有问题的进程(这个过程可能只要几个毫秒)。
CPU保证
诚然,建立一个可靠的信息娱乐或车载通信服务系统远不止将功能划分为多个存储器域。在许多情况下,保证对CPU的访问同样重要。如果任何一个子系统(如HMI)被剥夺了CPU周期,那么该系统对用户来说就变得不可用了。
对CPU访问的保证要求源自大多数RTOS采用的优选级抢占调度机制。简单地说,这种调度模型可以确保进程和线程按它们分配到的优选级顺序执行:较高优先级的线程通常可以抢占较低优先级的线程,而较低优先级线程不能阻止较高优先级线程的运行。
优先级调度有许多优点,包括:
可预测的延迟。通过将时间紧迫的功能分配为高优先级线程,开发人员可以控制系统要花多少时间响应外部事件,即使在系统非常繁忙的时候。
并发性和灵活性。在优先级调度机制下,嵌入式系统可以处理多种任务,包括具有硬性时间限制的周期性运行任务、高优先级的事件驱动任务以及后台处理任务。