智能网联汽车的操作系统——Linux
Linux 系统不仅是当前使用广泛的 PC 端操作系统,同时它在移动端领域中也担当着重要角色,这是因为Android 系统是在 Linux 内核基础上进一步研发而成的。支持 Linux 系统的汽车生产厂家主要有捷豹、路虎、本田、日产等,同时也支持ATS、富土通、哈曼、英特尔、LG、NEC、松下三星等车内电子设备厂家。
目前常用的Linux发行版本主要为Ubuntu、Red Hat、CentOS、Debian、Fedora Core、SuSE、Gentoo、Arch、Kali、Slackware等。
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
Linux是一种广泛使用的嵌入式操作系统。嵌入式系统是以应用程序为中心,以计算机技术为基础,软硬件可以更具需要进行增减,主要用于对功能、可靠性、成本、大小、功耗和其他特殊的计算机系统。
嵌入式系统通常包括硬件和软件,硬件包括嵌入式处理器、内存和各种外围设备。软件部分包括嵌入式操作系统和用户应用程序。
Linux代码是完全开放的,Linux内核是操作系统的灵魂,包括内核的抽象和对硬件资源的间接访问,Linux以统一的方式支持多任务处理。此方法对用户进程和每个进程都是透明的,内核同时运行多个进程,允许多个进程公平合理地使用硬件资源,并使每个进程在安全的操作中相互不干扰。
Linux作为一个实时操作系统,具有高效的I/O管理能力,能够处理和存储控制系统所需的大量数据。Linux操作系统的结构一般由Linux内核、命令解释器(Shell)、文件系统以及应用程序四大部分构成。
1. Linux内核
Linux内核是 Linux 操作系统的核心,包括内核的抽象和对硬件资源的间接访问,Linux 以统一的方式支持多任务处理。此方法对用户进程和每个进程都是透明的,内核同时运行多个进程,允许多个进程公平合理地使用硬件资源,并使每个进程在不安全的操作中相互干扰。Linux 内核由进程调度、内存管理、虚拟文件系统、网络接口和进程之间的通信五个子系统构成。
(1)进程调度
进程是系统在运行程序时,该程序实时所获得的资源分配以及优先级的调度情况。每个程序至少都包含一个进程。Linux 内核中进程调度就是实时处理各个进程之间的优先级关系,根据进程的优先级来决定该进程的运行状态。进程调度也是其余四个子系统的枢纽,它们之间的关系如图9-1所示。
图9-1 进程调度与其余子系统之间的关系
(2)内存管理内存管理就是控制系统中正在运行进程之间的内存共享区域。
(3)虚拟文件系统 Linux 系统有两大基本思想;一切皆文件、要明确各个软件的用途。Linux 系统把文件、目录、设备、套接字都定义成文件。它们虽然属于不同的类型,但是 Linux,系统却为它们提供了同一的文件访问接口。
(4)网络接口网络接口为 Linux 系统在网络通信过程中提供了对网络协议标准的存取和网络硬件的支持。
(5)进程之间的通信 Linux 系统支持进程之间的相互通信机制。Linux 进程之间的通信机制,主要包括套接字、信号、报文、共享内存等。
2. 命令解释器——Shell
Shell是应用于Linux系统中的命令解释器,其作用和Windows系统的命令提示符一样。都是为当前用户提供与系统内核进行交互操作的一种用户界面。
3. 文件系统
文件系统是指Linux系统将用户所有文件在各种存储设备上进行有效地存取。Linux系统文件主要包括:
① 普通文件,如.cpp文件、文本文件、二进制文件等。
② 目录文件,Linux系统下的主要目录结构
③ bin目录下存放的是系统命名文件;
④ boot目录下存放的是启动Linux系统的核心文件;
⑤ dev目录下存放的是所有设备文件;
⑥ etc目录下存放的是系统管理和配置文件;
⑦ home目录下存放的是系统中所有用户的主目录及相关文件;
⑧ lib目录下存放的是函数库文件;
⑨ root目录下存放的是系统管理员相关的文件;
⑩ sys目录下存放的是Linux的系统文件
⑪ mnt目录下存放的是各种挂载文件,如USB设备;
⑫ opt目录下存放的是可选的应用安装包;
⑬ var目录下存放的是日志类文件。
4. 应用程序
安装完Linux后,系统一般都会为用户提供文本编辑器、数据过滤器等程序集合。
Linux操作系统具有以下特点∶
①系统源码完全开放,便于进一步研究学习和完善 Linux 系统。
②免费使用。
③具有较高的稳定性能,可长时间连续运行。
④应用领域较为广泛,Linux 不仅可在计算机设备中使用、还可以在路由器、机顶盒、手机、平板电脑以及嵌入式设备中进行安装并使用。
⑤Linux 系统本身消耗的内存相对较少。
Linux主要特性
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
也正是因为Linux具有以上特点,所以人们都将 Linux 作为基础系统,从而开展对汽车自主驾驶或智能网联汽车领域的学习和探索。Linux操作系统是许多顶级汽车制造商首选的汽车开源软件平台,已经取代了无数专有或封闭的操作系统,它不仅用于运行汽车音频或信息娱乐中心,还用于远程信息处理系统、仪表板等。
为更好地支持汽车平台软件的应用,通常配置可扩展性其他功能,例如,汽车配备了支持语音识别的远程信息处理模块,而信息娱乐系统也支持用于命令和控制的语音识别车载信息娱乐系统可以通过联网移动设备实现免提功能,ADAS和驾驶人座椅信息娱乐和驾驶人信息系统在传感器输入处理中具有许多共性。
汽车的网络信息互联不限于汽车中的电子控制单元,还包括汽车与外部世界的通信方式。汽车可能需要接入蜂窝无线网络,信息娱乐系统将受益于连接到车载移动设备,不仅可以访问设备上的多媒体、应用程序和数据,还可以提供访问互联网的新选项。
V2X能够实现汽车与人之间、汽车与汽车之间、汽车与路边基础设施之间,甚至汽车与云之间的自动通信,能大大提高汽车的行驶安全性,具有广阔的应用前景。从 ADAS的角度来看,实施部署成本将成为一个问题。Linux作为一个开源软件平台,在降低开发成本方面发挥着重要作用,从信息娱乐和音响系统,到需要即时启动与安全层的远程信息处理系统,利用 Linux 运行智能网联汽车功能是一种趋势。