2.3 操作系统内核
2.3 操作系统内核
2.3.1 操作系统内核技术架构
1. 简要架构
在车辆动力电子,底盘电子和车身电子等实时控制功能实现当中,经常会使用到一些功能相对简单的微控制单元(MCU)芯片(如单片机),这类芯片资源配置较低,硬件上没有为操作系统内核提供复杂的内存管理和特权级别的隔离功能,因此会采用一种简要的操作系统内核结构设计。在简要结构设计当中,内核服务与应用程序会被放置在同一地址空间,应用程序无需切换地址空间和权限层级就能够直接调用内核服务,具有高效的优势,有利于实时业务的实现。但相对于后面提到的宏内核和微内核架构设计,简要架构系统缺乏内核隔离保护能力,任何一个模块(无论是应用还是内核服务)出现问题都可能导致系统崩溃。
出于硬件成本和实时性的综合考虑,汽车领域中许多基于 AUTOSAR CP 的安全车控嵌入式实时系统都采用了简要架构设计。其他领域类似的简要架构系统还有 uC/OS II,FreeRTOS。
2. 宏内核架构
宏内核(Monolithic Kernel)架构在计算机和通信领域是应用最为广泛的一类操作系统架构,其相关产品的生态也最为完善,目前常见的桌面系统(如 Windows,MacOS,Linux 桌面发行版),服务器系统(如 Unix,Linux)和主流手机操作系统(Android,iOS)均是基于宏内核架构。宏内核架构操作系统在智能驾驶和智能座舱领域也有大量应用。宏内核的特点是将所有传统的操作系统服务(例如进程调度,内存 管理,文件系统和设备驱动)全部运行在内核态,能够直接操控硬件,系统服务间的内部调用效率相对较高。在硬件能力的支撑下,宏内核可以实现用户程序和内核的安全隔离保护,采用合适的进程调度机制(优 先级抢占式)时也能够满足车用领域的硬实时性任务要求,并能支持虚拟化等新技术来满足汽车 E/E 架构向集中式架构演进的需求。
但是应该看到,由于面向通用业务而设计,随着宏内核功能的丰富,其代码量也会变得越来越庞大, 以 Linux 内核为例,2021 年底其内核已经达到了 3220 万代码行的规模,且可能会持续增长,在车用领域这不仅意味着软件复杂度和硬件成本的增加,也意味着更高的信息安全和功能安全挑战。目前,业界还未看到基于宏内核的操作系统产品通过功能安全 ASIL-B 以上的安全认证。
为了应对这些问题,宏内核架构的操作系统也采用了模块化,抽象,分层,层级等方法来控制其不断增长的复杂度。
-
模块化:内核通过模块化的策略来组织功能,提供可加载内核模块(LKM)机制。例如将大部分设备驱动与内核其他功能解耦。
-
抽象:对内核服务进行抽象以提高可维护性、降低复杂度。例如 Linux 将所有的数据,设备和内核都抽象成文件,对应用层提供统一接口。
-
分层:将逻辑上或功能上相近的模块分层,以便更好地组织功能。例如 Linux 文件系统的分层结构。
-
层级:对于内核的资源管理引入层级的概念,如进程调度优先级的分类等。
- 下一篇:3. 微内核架构
- 上一篇:AUTOSAR AP
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
荷兰Zepp氢燃料电池卡车-Europa
2024-12-22 10:13
-
NCACFE -车队油耗经济性报告(2024版)
2024-12-22 10:11
-
R54法规对商用车轮胎的要求(上)
2024-12-22 10:10
-
蔚来ET9数字架构解析
2024-12-22 09:53
-
4G/5G网络新时代的高效紧急呼叫系统NG-eCal
2024-12-20 22:33