第三届大会回顾第5期 | OpenHarmony内核实时性探索

频道:保险市场 日期: 浏览:65811

演讲嘉宾 | 陆 道

回顾整理 | 廖 涛

排版校对 | 宋夕明

wKgZPGhZWTKAFbzIAASHwuu-Jn0838.png

嘉宾介绍

OS内核及视窗分论坛

陆道,诚迈科技(南京)股份有限公司资深研发工程师。

正文内容

实时性是操作系统内核在特定应用场景中不可或缺的特性,它通过多种技术手段确保系统在规定时间内完成任务,从而满足高可靠性、高响应速度的需求。OpenHarmony的实时性是如何实现的,又有哪些进一步的优化方案?诚迈科技(南京)股份有限公司资深研发工程师陆道在第三届OpenHarmony技术大会上进行了精彩分享。

在当今数字化与智能化飞速发展的时代,操作系统内核的实时性已经成为众多关键应用场景的核心需求:(1)在物联网领域,实时性是确保设备高效运行和数据准确传输的关键。例如,智能家居系统需要实时响应各种传感器数据,以便实现对家居设备的精准监控和控制;(2)在工业自动化场景中,实时性关乎生产效率和设备安全。例如,电力系统需要在10毫秒内完成数据采集,而工业控制中的PLC需要在固定时间内完成动作以满足协作要求;(3)智能交通系统同样对实时性提出了极高的要求,如实时监测道路交通状况,优化交通流量分配等。然而,实现高效的实时性并非易事,其需要操作系统内核在任务调度、中断处理以及资源管理等多个层面进行深度优化,以确保系统能够在极短的时间内做出响应。

wKgZPGhZWTKAVcQcAAOWyDEVtCc014.png

如何评估一个内核的实时性是否高效?可以从以下几个实时性衡量指标进一步了解:

对于内核实时性而言,主要的衡量指标包括中断响应时间、任务切换时间、任务抢占时间以及吞吐量等。其中,中断响应时间指从系统接收到中断信号到开始执行中断服务例程(ISR)的时间间隔。在实时系统中,快速的中断响应时间是至关重要的,因为它直接影响系统对突发事件的处理速度;而任务切换时间指从一个任务被挂起到另一个任务被调度并开始执行的时间间隔。在实时系统中,任务切换时间的长短会影响系统对多个任务的处理效率,尤其是在任务之间需要频繁切换的场景中。

对于任务实时性而言,主要的衡量指标包括任务的最短时延、最长时延以及平均时延等。其中,最短时延是指系统在最佳情况下,从事件发生到做出响应的最短时间。其反映了系统在理想状态下的响应速度;最长时延是指系统在最坏情况下,从事件发生到做出响应的最长时间。其反映了系统在极端条件下的响应速度,对于硬实时系统来说,最长时延必须满足任务的截止时间要求;平均时延是指系统在一段时间内,所有任务时延的平均值。它反映了系统在正常运行情况下的平均响应速度。

此外,影响内核的实时性因数包括时钟节拍tick、调度算法、资源等待时间以及多任务等。

OpenHarmony的实时性优化策略主要如下:

一、内核实时性补丁。该方案通过多维度的优化措施,从内核调度、中断处理、内存管理到应用层优化,全面提升系统的实时性能。这些优化措施不仅提升了系统的响应速度和稳定性,还为开发者提供了灵活的定制化方案,满足不同场景下的实时性需求。其优点包括开发效率高,工具多,优化手段多,且提升了任务切换时间以及中断响应时间。但是,由于任务的多样化以及复杂性,仅通过内核实时性补丁的方法,无法保证任务的最大时延,且任务的安全性也无法保障

二、虚拟方案(Jailhouse)。Jailhouse是一种轻量级的硬件辅助虚拟化技术,旨在允许多个操作系统在同一硬件平台上并行运行,同时保证资源隔离和实时性。在OpenHarmony中,Jailhouse被用于实现RTOS的虚拟化,支持高效、低延迟的运行环境,适用于嵌入式IoT设备。Jailhouse通过硬件虚拟化扩展将硬件资源划分为多个独立的“单元”(Cells),每个单元可以运行一个操作系统。该方案利用了Jailhouse虚拟运行freertos系统,提升了任务的平均时延,能够最大限度的保障任务的实行性。但同时,因为其需要两套开发环境,在开发调试以及实时系统跟主系统的通讯上存在一定的挑战。

三、AMP(基于核间共享内存的异构核间通信框架)。AMP是一种多核架构,允许多个异构处理器核心运行不同的操作系统或应用程序。OpenHarmony的AMP框架基于OpenAMP(Open Asymmetric Multi-Processing)实现,OpenAMP是一个开源的异构多处理框架,提供了一套完整的软件组件,用于构建和部署AMP系统。其核心组件包括Remoteproc、RPMsg以及VirtIO等。通过OpenAMP框架,OpenHarmony能够高效地管理异构多核系统,实现资源隔离和任务分配,满足复杂应用场景的需求。但是,跟虚拟方案Jailhouse类似,AMP也同样需要两套开发环境,在开发、调试以及优化上均存在一定挑战。

在分析了上述OpenHarmony的实时性优化策略后,作者本人以轻量级的实时操作系统内核KFreeRtos为例,进一步探讨了如何提升内核的实时性能。

KFreeRtos是一个轻量级的实时操作系统内核,基于FreeRTOS开发。它继承了FreeRTOS的核心特性,如任务管理、信号量、消息队列和事件标志组等功能,同时进行了优化以适应特定的硬件平台。KFreeRtos不仅提供了多种实时调度算法,还提供了实时的内存管理、网络管理、安全管理、日志管理以及线程管理。

在OpenHarmony上,开发者可以通过linux内核驱动的开发方式,利用KFreeRtos提供的实时性API接口,构建出一套在OpenHarmony内核上运行的实时解决方案。主要针对传统实时操作系统不完善的功能,例如:内存,网络,日志管理等方面,利用linux强大的内核功能api,为开发者提供具备有实时操作系统的特性并且具备低时延,高性能,高效率开发,多平台部署等开发框架。

KFreeRtos架构的引入,为OpenHarmony在内核实时性领域的探索提供了新的思路和解决方案。未来,随着嵌入式设备算力的不断增强和AI模型的进一步优化,将会有更多AI大模型能够部署到边缘设备上。这种结合不仅能够满足实时性需求,还能实现离线学习和自适应能力。同时,内核的实时性优化也将会涌现更多创新策略。

  • 随机文章
  • 热门文章
  • 热评文章