【xenomai3内核解析】系列文章大纲

简介: 该博客系列详细解析了Linux实时操作系统框架Xenomai,包括实时操作系统的概念、Linux为何非实时、嵌入式实时Linux方案等。内容涵盖Xenomai内核构建、组件结构、源码介绍、实时性测试及接口应用。此外,深入探讨了双核基石IPipe、系统调用、时间子系统、任务管理、同步与互斥、内存管理、信号处理、实时IPC、POSIX IPC、实时驱动模型RTDM、Rtnet、用户态实时库libcobalt和实时性能优化等方面。适合对Linux实时系统感兴趣的读者学习研究。

xenomai3内核解析

本博客为本人学习linux实时操作系统框架xenomai的一些记录,主要剖析xenomai内核实现,以及与linux相关的知识。为方便读者定位具体文章,现列出本博客大纲,后续会陆续将大纲中缺少部分填充完整,感兴趣的读者敬请关注!

版权声明:本文为本文为博主原创文章,转载请注明出处。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/

第一章 认识xenomai

1. 什么是实时操作系统(RTOS)

什么是实时

实时的分类

常见的RTOS

latency和jitter

2. 为什么linux不是实时操作系统

3. 嵌入式实时linux概述

3.1 方案一:直接修改现有Linux代码
3.2 方案二:双内核
3.3 方案三:多核异构+实时虚拟化

第二章 构建xenomai内核

1.ARM/X86架构xenomai安装教程

第三章 xenomai初探

1.xenomai 3组成结构

2. xenomai 3源码介绍

3.xenomai实时性测试

3.1 latency和jitter
3.2 串口实时性测试
3.3 GPIO实时性测试

4.xenomai各种接口应用编译

5.xenomai proc文件信息介绍

5.1 实时外设中断信息
5.2 查看实时核信息
5.3 调度与任务状态
……

第四章 双核基石ipipe

----X86架构ipipe接管中断处理----

1. ipipe简介

2. X86中断向量与APIC

3 X86 linux异常处理与ipipe接管中断/异常

----arm架构ipipe接管中断处理----

4. GIC驱动

5. arm中断处理与ipipe接管中断/异常

6. linux中断处理流程

7. ipipe中断管理机制

7.1 ipipe domain管理

7.2 ipipe初始化流程

7.3 ipipe 快/慢速路径中断处理

7.4 RTDM实时驱动中断注册

8. 双核异常处理(以X86 page-fault为例)

9. ipipe移植概述

第五章 系统调用

1. 双核系统调用(一)

2. 双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务

3. 双核系统调用(三)--如何为xenomai添加一个系统调用

4. ipipe对系统调用的处理

第六章 时间子系统

1. linux时间子系统简介

2. xenomai时间子系统

2.1 xnclock

2.2 xntimer

2.3 ipipe event设备管理

2.4 xenomai时钟系统初始化流程

2.4.1 X86 timer接管流程

2.4.2 ARM timer接管流程

2.5 xenomai内核下Linux时钟工作流程

2.4 autotune及latencies gravity简述

2.6 其他:解BUG-xenomai内核与linux内核时间子系统之间存在漂移

第七章 任务管理

1. linux任务管理

1.1 linux任务描述task_struct

1.2 linux任务创建

1.3 linux任务调度

2. xenomai任务管理

2.1. 内核实时线程描述xnthread

2.2. 用户实时线程描述cobalt_thread

2.3. 调度策略与调度类

2.4. nksched

2.5. 内核实时线程创建

2.6. 用户态实时线程创建

2.7. 实时调度类任务管理

3. 双核间任务迁移

第八章 同步与互斥

1. 优先级倒置

2. xenomai内核对象管理器xnregistry

3. 资源同步互斥机制xnsynch

第九 内存

1. linux内存管理

2. xenomai 实时内存管理

第十章 信号

1. 信号signal(一)---Linux信号机制

2. 信号signal(二)---xenomai信号处理机制

第十一章 实时IPC

1. 实时IPC概述

2. 实时与非实时通讯XDDP

xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程

xenomai与普通linux进程之间通讯XDDP(二)--实时与非实时关联(bind流程)

xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互

3. 实时与实时通讯IDDP

4. 实时与实时通讯BUFP

第十二章 POSIX IPC

1. POSIX信号量

2. POSIX消息队列

3. ....

第十三章 实时驱动模型RTDM

1. 协议类设备

这XDDP系列文章内有所提及:xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程

XDDP文章以XDDP设备为例,详细解析了xenomai实时设备驱动框架,梳理了RTDM与linux各数据结构之间的关系,希望你能仔细阅读。

2. 字符类设备

3.xenomai用户态实时驱动框架UDD(User-space Device Driver framework)

第十四章 Rtnet

1. 【机翻】RTnet – 灵活的硬实时网络框架

2. 关于RTnet 使用和开发中的一些记录

3. ....

第十五章 用户态实时库libcobalt

1. 【原创】linux实时应用如何printf输出不影响实时性?

第十六章 xenomai实时性能优化

1. 有利于提高xenomai 实时性的一些配置建议

1.1 实时性的影响因素

  • CPU
  • BIOS
  • 软件
  • GPU

1.2 配置优化措施

1.3 软件优化措施

1.4 配置优化结果对比

2. arm平台xenomai与VxWorks实时性对比

(1).定时抖动对比:xenomai与VxWorks实时性对比(Jitter对比)

(2).资源强占上下文对比:xenomai与VxWorks实时性对比(资源抢占上下文切换对比)

3.基准测试

(1). [xenomai x86基准测试]
(2). xenomai x86中断响应时间测试

第十六章 其他

x86平台下一次解bug过程: 解BUG-xenomai内核与linux内核时间子系统之间存在漂移
X86_64/X86 GNU汇编: X86_64/X86 GNU汇编、寄存器、内嵌汇编

参考

xenomai官网
xenomai源代码
xenomai3在线文档:https://v3.xenomai.org
xenomai4在线文档:https://v4.xenomai.org

目录
相关文章
|
3月前
|
存储 人工智能 安全
操作系统的心脏:内核深度解析
【8月更文挑战第13天】 在数字世界的每一次跳动中,都能感受到操作系统内核的强大生命力。本文将带你走进操作系统的核心——内核,揭示它如何协调和管理计算机硬件资源,保证软件运行的高效和稳定。从内核的定义和功能,到它的结构和设计哲学,再到现代操作系统中的创新与挑战,我们将一起探索这个让计算机系统“活着”的秘密所在。
56 3
|
2天前
|
数据管理 Nacos 开发者
"Nacos架构深度解析:一篇文章带你掌握业务层四大核心功能,服务注册、配置管理、元数据与健康检查一网打尽!"
【10月更文挑战第23天】Nacos 是一个用于服务注册发现和配置管理的平台,支持动态服务发现、配置管理、元数据管理和健康检查。其业务层包括服务注册与发现、配置管理、元数据管理和健康检查四大核心功能。通过示例代码展示了如何在业务层中使用Nacos,帮助开发者构建高可用、动态扩展的微服务生态系统。
13 0
|
6月前
|
机器学习/深度学习 人工智能 负载均衡
深度解析:Linux内核调度策略的演变与优化
【5月更文挑战第30天】 随着计算技术的不断进步,操作系统的性能调优成为了提升计算机系统效率的关键。在众多操作系统中,Linux因其开源和高度可定制性而备受青睐。本文将深入剖析Linux操作系统的内核调度策略,追溯其历史演变过程,并重点探讨近年来为适应多核处理器和实时性要求而产生的调度策略优化。通过分析比较不同的调度算法,如CFS(完全公平调度器)、实时调度类和批处理作业的调度需求,本文旨在为系统管理员和开发者提供对Linux调度机制深层次理解,同时指出未来可能的发展趋势。
|
2月前
|
存储 算法 安全
操作系统的心脏:内核深入解析
本文将带您走进计算机的大脑—操作系统内核,探索它如何管理硬件资源、提供系统服务,并确保多任务高效运行。文章以浅显易懂的语言,逐步揭示内核的神秘面纱,从基础概念到实际应用,让您对操作系统的核心组件有更深的理解。
88 5
|
2月前
|
存储 资源调度 监控
操作系统的心脏:内核深度解析
在数字世界的庞大机器中,操作系统扮演着至关重要的角色。而作为操作系统核心的内核,其重要性不言而喻。本文将深入浅出地探讨操作系统内核的基本概念、主要功能和工作原理,以及它如何影响计算机的整体性能和稳定性。我们将从内核的设计哲学出发,逐步深入到内核的各个组成部分,包括进程管理、内存管理、文件系统和设备驱动等关键模块。最后,文章还将讨论当前操作系统内核面临的挑战和未来的发展趋势。通过这篇文章,读者将获得对操作系统内核更深层次的理解,从而更好地把握计算机系统的运行机制。
59 1
|
2月前
|
存储 资源调度 算法
操作系统的心脏:内核深入解析
本文将带你走进操作系统的核心—内核,通过浅显易懂的语言解释什么是内核、它如何工作以及为什么它对整个系统至关重要。我们将从内核的定义和功能出发,逐步深入到它的结构和设计哲学,最后探讨内核在现代计算环境中面临的挑战和未来发展方向。无论你是计算机新手还是有一定基础的学习者,这篇文章都会为你揭开操作系统内核的神秘面纱。
60 3
|
2月前
|
人工智能 并行计算 安全
探索操作系统的心脏:内核深度解析
在数字世界的每一次跳动中,都能感受到一个强大而隐形的力量在默默支撑着一切——这就是操作系统的内核。本文将带你走进这个神秘而又强大的核心世界,从内核的设计哲学到它的架构布局,再到它如何与硬件、软件协同工作,以及面对现代挑战时的应对策略。我们将一起探索那些让操作系统能够高效、安全运行的秘密,解锁内核的奥秘,理解它对整个计算生态的重要性。准备好跟随我们的脚步,深入操作系统的核心,一窥究竟吧!
40 0
|
3月前
|
算法 安全 调度
操作系统的心脏:内核深度解析
【8月更文挑战第12天】 本文将带你进入操作系统的核心—内核,探索其设计、功能和工作原理。我们将通过通俗易懂的语言和生动的比喻,让你轻松理解这个复杂但至关重要的主题。无论你是计算机科学的初学者,还是有一定基础的开发者,这篇文章都将为你提供新的视角和深入的理解。让我们一起揭开操作系统内核的神秘面纱,探索它的奥秘吧!
38 3
|
3月前
|
存储 资源调度 安全
操作系统的心脏:内核深度解析
本文将带你深入操作系统的核心—内核,探索其如何作为系统的中枢神经,协调硬件与软件之间的复杂交互。我们将从内核的基本概念出发,逐步揭示其设计哲学、关键组件以及在现代计算环境中的作用。通过这篇文章,你将获得对操作系统内核工作原理的深刻理解,并认识到它在维护系统稳定性和性能中的关键角色。
|
5月前
|
消息中间件 监控 Java
「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控
本文由北京宝兰德公司解决方案总监徐清康撰写,探讨了Kafka和AutoMQ集群的监控。
225 2
「布道师系列文章」宝兰德徐清康解析 Kafka 和 AutoMQ 的监控

推荐镜像

更多