1、作为公司 Linux 项目底层系统的核心开发带头人,八年间持续实现和主导公司所有基于 Linux 系统的项目底层开发及支撑,疑难杂症解决,同时负责系统代码质量审核及代码仓库管理。
2、主导公司 Linux 系统实时性方案预研及应用,针对不同的产品架构(单核、SMP、AMP)实施不同的实时性方案;
3、主导公司基于 OpenEuler/OpenHarmony 等国产操作系统的产品的研发,与南网电鸿欧拉研发团队有深入的研发合作;
4、原创编译代码筛选方法获得 Linux 社区认可合入主分支,同时基于 Vim 搭建统一了公司 Linux 底层开发环境;
5、基于 CodeChecker+Docker+Gitlab 为公司搭建了整套的项目代码管理及自动化代码静态分析系统;
6、基于 Eclipse 实现了自主研发的嵌入式 IDE,主要作为 RTOS 系统的开发调试环境;
案例1:Linux 实时系统架构设计与实时能力优化项目
S (Situation): 项目背景
在公司产品迭代过程中,我们遇到了系统实时瓶颈。基于标准 Linux 内核的系统在高负载条件下,最坏情况响应延迟(WCL)达到 30 毫秒以上。这一实时能力水平无法满足工业控制和电力保护等关键应用场景的实时性要求,可能导致:
●保护逻辑响应超时,影响系统安全性
●控制指令执行时序不确定,降低系统可靠性
●在极端情况下可能造成设备异常或损坏
核心技术挑战:如何在保持 Linux 丰富生态和开发便利性的同时,实现微秒级实时响应能力,并支持从单核到多核(SMP/AMP)的多种硬件平台。
T (Task): 技术目标
作为该项目的技术负责人,我制定了以下量化目标:
1.能力指标:将系统响应延迟从毫秒级降低至微秒级
2.架构设计:构建可扩展的多平台实时系统架构
3.技术沉淀:建立标准化的实时系统设计规范
4.工程应用:在核心产品中验证技术方案的有效性
A (Action): 技术实施方案
我设计并实施了分层递进的技术架构,针对不同实时性要求提供相应解决方案:
1. 基础实时性优化层(PREEMPT_RT)
●集成并定制 PREEMPT_RT 补丁集,实现内核完全抢占
●系统性改造内核锁机制:将自旋锁替换为优先级继承互斥锁
●实现中断线程化,减少不可抢占的临界区
●优化内核调度参数,提升实时任务调度效率
●改造外设驱动程序,确保端到端实时性
2. 高实时性隔离层(CPU 隔离)
●基于 isolcpus 机制实现 CPU 核心物理隔离
●配置 IRQ 亲和性,将非实时中断绑定到非隔离核心
●使用 cgroups 和 taskset 限制普通进程的 CPU 使用
●为实时任务创建无干扰的专用运行环境
3. 确定性硬实时层(AMP 架构)
●设计 Linux+UTOS 异构多处理器方案
●基于 remoteproc 框架实现 UTOS 动态加载和生命周期管理
●基于 rpmsg 协议构建低延迟核间通信机制
●实现 Linux 生态与硬实时能力的有机融合
4. 技术规范与测试体系
●建立基于 cyclictest 的实时性能测试标准
●制定内核参数调优指南
●输出故障诊断和实时性能调优文档
R (Result): 项目成果
1. 实时能力提升
●PREEMPT_RT 方案:WCL 降低至 50-80µs
●CPU 隔离方案:WCL 稳定在 50µs 以内
●AMP 硬实时方案:和 UTOS 实时性保持一致
2. 工程应用
●FTU 972 产品基于通用实时方案,在产品送检评分中获得第一名
●CPU 隔离实时方案已部署在国网蒙西智慧终端、南网 T7 Linux、T7 PEE、D9 PEE 等多个项目
●技术架构成为公司新一代产品的标准配置
3. 技术价值
●建立了完整的 Linux 实时系统技术体系
●形成了可复用的技术规范和最佳实践
●在不增加硬件成本的前提下,通过软件架构升级满足不同实时需求
●为公司在实时系统领域建立了技术领先优势
测试环境说明:以上数据基于 ARM 多核处理器,在 cyclictest 压力测试条件下获得,测试时长 72 小时,负载包括网络 I/O、文件系统操作和 CPU 密集型任务。
案例2:研发效能工具链建设——从核心工具到统一平台
S (Situation): 项目背景
公司在软件开发工具链方面面临两个层次的挑战:
基础工具层面:Linux 内核驱动开发严重依赖 grep、find 等传统工具,在面对数千万行代码时,代码索引耗时超过 3 分钟,搜索结果存在大量干扰项,严重影响开发效率。
●年度软件授权费用高昂
●调试方法和环境配置不统一
●技术资产无法沉淀复用
●跨团队协作困难
T (Task): 技术目标
我负责从底层工具到平台的完整工具链建设:
1.核心工具开发:构建高效的 Linux 内核代码索引和导航工具
2.标准化流程:建立可复制的工具集成和管理规范
3.技术体系沉淀:形成完整的开发效能提升方法论
A (Action): 技术实施
第一阶段:核心工具 cs 开发
1. 技术创新
●分析 Linux 内核编译体系,识别传统工具的根本缺陷
●创新性提出基于编译中间文件(.o.cmd)的精准索引方法
●开发 cs 工具,通过解析编译元数据构建确定性符号数据库
2. 开发环境集成
●集成 clangd 语言服务器,提供现代 IDE 级别的开发体验
●生成精准的 compil
S (Situation): 项目背景 在公司产品迭代过程中,我们遇到了系统实时瓶颈。基于标准 Linux 内核的系统在高负载条件下,最坏情况响应延迟(WCL)达到 30 毫秒以上。这一实时能力水平无法满足工业控制和电力保护等关键应用场景。 核心技术挑战:如何在保持 Linu
S (Situation): 项目背景 公司在软件开发工具链方面面临两个层次的挑战: 基础工具层面:Linux 内核驱动开发严重依赖 grep、find 等传统工具,在面对数千万行代码时,代码索引耗时超过 3 分钟,搜索结果存在大量干扰项,严重影响开发效率。 ●年度软件授权