详解汽车操作系统OS与博世的OpenAPI构想

要想真正理解什么是汽车操作系统,首先要了解什么是操作系统。


图片

来源:网络


操作系统(Operation System),简称OS,是管理计算机『硬件』与『软件』资源的计算机程序。操作系统管理系统中的各种资源,并控制用户和应用程序的工作流程。它位于用户程序和裸机之间,OS将具体硬件资源抽象成软件资源,方便进程调用。


图片

来源:网络


OS实现了对硬件的封装,提供接口,隐藏了硬件的实现细节。OS主要作用是管理与分配计算机资源,主要是运算和存储,具体来说就是处理机管理、存储器管理、设备管理和文件管理。程序是静态实体,不能独立运行,也不能与其他程序并发执行。进程是在系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈等组成,是一个能独立运行的活动实体,多个进程之间可并发执行和交换信息。


图片

来源:网络


操作系统的诞生主要是基于多道批处理系统任务的出现,也就是并发,并发性是指在一段时间内宏观上有多个程序在同时运行(微观上是分时交替执行)。宏观上,处理机同时执行多道程序;微观上,处理机在多道程序间高速切换(分时交替执行);因进程间的切换对操作系统开销很大,引入了比进程更小的单位 - 线程。一个进程包含若干个线程,这些线程可以利用进程拥有的资源。处理机管理的主要功能:创建和撤销进程(线程)、协调进程(线程)的运行、实现进程(线程)间的信息交换,并按照一定的算法把处理机分配给进程(线程)。


明白了OS的基本概念就清楚汽车行业所谓的OS都不是真正的OS,其根本是不牵涉到底层应用芯片的进程调度。


车辆软件架构

图片

图片来源:Vector


几乎所有车厂说的OS实际上是车辆API,就是天蓝色和橙色部分,它和真正的OS没有任何关联。它的位置介于应用APP和中间件之间。


图片

图片来源:博世


软件定义汽车的软件分层,RTOS才是真正意义上的OS,车厂所谓的OS就是信号到服务的API。


OS分嵌入式和非嵌入式,其中非嵌入式一般指PC和服务器,而嵌入式典型代表就是汽车领域,一般嵌入式OS可以等同于RTOS,即实时嵌入式OS。RTOS是硬实时操作系统,其时间约束是硬性的,指系统必须满足的时间约束。硬实时操作系统的约束使用确定性表达方式,比如传感器信号必须在10ms内更新,计算必须在20ms内完成等。错过截至时间,任务将变得没有价值。


图片

图片来源:Aptiv


硬实时操作系统的本质诉求是可预测性(deterministic):实时操作系统在时序要求上必须可预测。如:一个特定的任务是否能在给定的截止期内完成,需要计算的因素包括:系统负载、处理器的计算能力、实时操作系统的支持、进程和线程优先级、调度算法、通信基础设施等。类似的概念为确定性,指确保应用的执行不被外界不可预知的时间干扰而导致不可预测的能力。同时,确定性是以牺牲效率为代价换来的!


图片

来源:网络