漫谈车载操作系统发展趋势

操作系统(Operatingsystem , OS)管理着计算机系统的所有软硬件 , 是汽车行业的关键软件平台 。 小到几千行代码的简单控制程序 , 大到Linux、macOS、iOS和Windows等千万级代码的桌面级操作系统 , 每个操作系统在功能、程序大小、复杂性、开发工作、硬件需求、维保成本等方面都存在较大差异 。
维基百科上虽然有Linux和QNX等主流操作系统的基本介绍 , 但涉及车载操作系统的信息则少之又少 。 本文将在介绍操作系统基本概念的同时 , 着重讲述车载操作系统的发展情形与趋势 。
一、操作系统概述
操作系统提供计算机硬件和应用程序之间的接口 , 通过遵循编程到操作系统中的规则和程序 , 限制应用程序使用硬件;提供简化应用程序开发和执行的服务 , 包括将程序加载到内存、与传感器和执行器通信、存储结果等各种硬件资源管理的功能 , 还包括如中间件、库及其他系统软件功能 。
操作系统的性能和生态系统对于开发“软件定义汽车”所需的应用程序和软件平台是至关重要的 , 一个好的车载操作系统需要大型生态系统和可靠的架构支撑 。
车载操作系统要求如下表所示:
漫谈车载操作系统发展趋势
文章图片
*ISO26262认证:道路车辆功能安全国际标准;
*ASIL等级:AutomotiveSafetyIntegrityLevel , 汽车安全完整性等级;
*ADAS:AdvancedDriverAssistanceSystem , 高级驾驶辅助系统;
*AV:AutonomousVehicles , 自动驾驶汽车;
*ECU:ElectronicControlUnit , 电子控制单元;
*OTA:Over-the-AirTechnology , 空中下载技术;
*RAM:RandomAccessMemory , 随机存取存储器;
*MCU:MicrocontrollerUnit , 微控制单元 。
操作系统的特性决定了其能力 。 例如 , 单任务操作系统一次只能运行一个程序 , 而多任务操作系统可以同时运行多个程序 。 单用户操作系统无法区分用户 , 但可允许多个程序同时运行;多用户操作系统允许多个用户同时与系统交互 , 扩展了多任务处理以运行来自多个用户的程序 , 需要跟踪每个用户正在使用的软硬件资源 。
二、操作系统内核(OSkernel)
内核 , 是一个操作系统的核心 , 是基于硬件的第一层软件扩充 , 提供操作系统最基本的功能 , 也是操作系统工作的基础 。 内核负责管理系统的进程、内存、设备驱动程序、文件和网络系统 , 决定着系统的性能和稳定性 , 是连接应用程序和硬件的桥梁 。 目前主流的操作系统内核架构有两种:宏内核和微内核 。
宏内核将所有系统调用和操作系统服务都整合在一起 , 优点为性能良好 , 而缺点在于耦合度高:一旦其中一个模块出现问题 , 其他所有模块都可能受到影响 。 Linux就是一种主流且经典的宏内核操作系统 。
漫谈车载操作系统发展趋势
文章图片
微内核的内核功能模块通常是尽可能少的 , 只提供操作系统最核心的功能 。 对比宏内核 , 微内核架构多了系统调用的过程 , 因此性能相对较差 , 但其耦合度相对较低 , 具备更好的伸缩性和扩展性 , 从而使系统更加稳定;其模块化的操作系统结构 , 更适合于大多数汽车的ECU系统 , QNX实时操作系统就是其中的佼佼者 。
漫谈车载操作系统发展趋势
文章图片
三、虚拟机管理程序操作系统(HypervisorOS)
虚拟机管理程序是用于管理多个操作系统及其应用的小型软件平台 , 也被称为虚拟机(VM , VirtualMachine)监视器 , 可运行各类VM软件 。 就汽车领域而言 , 如何将车载信息娱乐与功能安全(例如备用监视器的音响主机显示器)结合起来 , 是虚拟机管理程序至关重要的内容 。