操作系统:现代汽车的大脑
2020年09月16日 13:22来源:网络整理作者:汽车信息网阅读量:195

什么是操作系统

可以把一个计算机系统简单地分为三层:底层硬件、中间层操作系统、上层应用程序。操作系统位于中间,管理底层的硬件,为上层应用程序提供服务。


几乎所有桌面电脑、嵌入设备都是这种三层模式。但在一些特殊场景,工程师会直接使用裸机(就是没有安装操作系统的计算机),这种往往是对计算机性能要求极其苛刻的场景,苛刻到甚至嫌弃操作系统拖慢了性能,于是干脆不用操作系统自己写代码直接控制硬件。

一个标准的计算机,主要的硬件资源有:CPU、内存、持久存储如硬盘、其他设备,那么一个标准的操作系统要管理这些硬件资源,就会有这些功能:

(1)任务调度,进程和线程,管CPU;

(2)内存管理,每个进程有独立的虚拟地址空间,管内存;

(3)存储管理,文件系统,管持久存储;

(4)设备驱动,字节设备、块设备、网络设备,管各种设备。

操作系统有很多,大家比较熟悉的有:Windows、Linux、Mac OS、iOS、Android等。我们可以从不同的角度来划分这些操作系统,例如:

1、阵营

两大阵营:Windows阵营、类Unix阵营。

Windows阵营的操作系统都是微软公司的,其系统一般是封闭的,主要有Windows 2000、Windows XP、Windows 7、Windows 10等;

而类Unix阵营的操作系统所属公司有谷歌、苹果等,系统很多是开源的,主要有Unix、Linux、Mac OS、iOS、Android等。

2、设备

两大类:桌面电脑、智能设备。安装在桌面电脑上的操作系统,称为通用操作系统,如Windows、Linux、Mac OS等;安装在手机和其他各种电子设备上的操作系统,称为嵌入式操作系统,如iOS、Android、QNX、uC/OS、VxWorks等。

3、响应时间

两种:实时操作系统(RTOS)和非实时操作系统。所谓实时,是指系统接收到一个输入后,必须在一个很短的时间内(毫秒甚至微秒量级)处理完毕,然后返回一个响应。能严格保证对输入进行实时处理的操作系统,就是实时操作系统;做不到的就是非实时操作系统。

我们熟知的Windows、Linux、Mac OS、iOS、Android这些,都不是实时操作系统;而QNX、uC/OS、VxWorks这些大家没怎么听说的则是实时操作系统。

汽车上的操作系统,属于嵌入式操作系统实时操作系统。这两个概念人们往往容易混淆,因为大部分嵌入式操作系统通常也都是实时操作系统,但实际上它们是从两个不同的维度来划分的。iOS、Android就是典型的反例,它们属于嵌入式操作系统,却不是实时操作系统。

汽车上的操作系统

汽车的发展过程,可以说是一个“从机械设备逐步向电子设备转变”的过程,原来是机械装置控制的部件,慢慢都变成由智能电子装置来控制了。在现代汽车里,有很多智能电子装置(数以百计),这些电子装置上都会装有操作系统,因此,现代汽车上会有很多个操作系统。这些操作系统,都属于嵌入式操作系统,因为它们是在嵌入式设备里运行。那么,它们是不是都是实时操作系统呢?不一定:ECU中的必须是实时操作系统,IVI中的可以是非实时操作系统。下面给大家分别介绍。

一、ECU很多智能电子装置,操控着汽车的关键部件,如发动机、变速箱、转向系统等,统称为电子控制单元ECU。它们是车辆运动和安全防护的控制“大脑”,通过直接向执行机构(如电子阀门、继电器开关、执行马达等)发送指令以控制车辆关键部件的协同工作。常见的ECU包括:EMS发动机电控系统、ABS制动防抱死控制、变速箱控制系统TCU、电子稳定控制ESC、电子动力转向EPS,新能源汽车整车控制VCU、电池管理系统BMS等。


上图是EMS发动机控制模块的基本示意图,主要由输入回路、模数转换器、微处理器和输出回路组成。其他ECU也类似,不同的只是输入、输出和程序代码。ECU控制车辆的关键部件,不能出现响应不及时的情况,一旦出现延误,会造成严重的后果。因此ECU中的操作系统必须是实时性的嵌入式操作系统

鉴于ECU在汽车中的重要性,2003年全球相关厂商联合成立了一个标准联盟组织AUTOSAR(Automotive Open System Architecture),制定了汽车电子软件的标准架构,示意图如下: