L4Re 小知识

简介: L4Re 小知识



开发环境: ubuntu 20.04

编译目标平台:x86

验证平台:qemu

入口点:l4re 目录

看重性能

贡献代码前,需要使用 benkmark 工具对代码性能进行测评。


代码需要打开 CONFIG_PERFORMANCE 宏


具有可伸缩

可以用作大型操作系统,也可以用作小型嵌入式系统


架构和平台支持

x86

32 / 64 位

多核支持

虚拟化支持 (AMD 的 SVM、英特尔的VT,并支持嵌套映射)

ARM:

32 / 64 位

架构:ARMv5, ARMv6, ARMv7, ARMv8

CPU: 920T, 926, PXA, 11x6, MPCore, Cortex-A

平台:

QEMU 虚拟平台

ARM Realview, ARM Integrator, ARM Versatile Express

TI OMAP3EVM, OMAP4, Beagleboard(-xM), Pandaboard, OMAP5

NVIDIA Tegra2 and Tegra3

NXP/Freescale i.MX21, i.MX35, i.MX51, i.MX53, i.MX6, i.MX6UL, i.MX6ULL, i.MX7, i.MX8, Layerscape LS1021A, LS1012A, LS1046

NXP S32G

Samsung S3C, OpenMoko, Exynos4, Exynos5, Odroid

Marvell Kirkwood, Pogoplug, Armada 38x

Raspberry Pi 1 to 4

Xilinx Zynq, Zedboard, Parallela, ZynqMP Ultrascale+

Allwinner sunxi, Cubieboard, Cubietruck

Renesas RCar3

还有更多平台支持正在开发中

多核支持

虚拟化支持 (HYP/EL2)

支持 Trustzone

MIPS:

MIPS32 和 MIPS64, r2 / r6

虚拟化支持(VZ)

平台:

Sead3

Malta

Baikal-T

Ci20

Boston

多核支持

Fiasco-UX:

运行在 x86 主机 Linux上

工具介绍

backtrace                 查看调用 trace 的工具 
checkinitcalls 
circular  
config-tags  
configstat  
gdb                       调试工具
gen_kconfig               kconfig 生成工具 
gendotdeps  
genoffset.py  
kconfig                     
kobjdeps  
move-if-change  
parsedeps  
preprocess  
showdeps  
split_config

如何配置

make menuconfig

在 build 目录下会生成一些配置文件

Kconfig 配置来源

Makefile 指向

globalconfig.* 生成的各种形式的配置

include

rustc 的配置

scripts 相关脚本(比如depfix)

根据 Makefile 来编译源码,全局配置会以 C 头文件形式(还有其他)融入到代码中


编译成果

附录

L4Re

L4Re(原名为L4Ka::Pistachio)是一款基于微内核设计的操作系统,旨在为嵌入式系统和虚拟化提供支持。它是L4微内核操作系统家族的一部分,基于L4微内核设计。


L4Re的设计具有模块化和可定制化的特点,允许开发人员为特定用例创建自定义配置。它提供一个最小的内核来管理硬件资源并提供基本的系统服务,而大部分操作系统功能都是在内核之上运行的用户级进程实现的。


L4Re经常用于嵌入式系统中,如工业自动化、汽车和航空航天应用程序,以及虚拟化环境中,如虚拟机监视器和容器系统。它在GNU通用公共许可证(GPL)版本2下提供。


L4Re & Fiasco

Fiasco是L4架构的微内核组件。它是一个小巧且模块化的内核,提供基本的硬件抽象和管理低级硬件资源,如内存、中断和I/O。Fiasco还提供了一个接口,让用户级组件可以与硬件和其他用户级组件进行通信。


另一方面,L4Re是一个用户级框架,提供了一组库、工具和应用程序,可以运行在Fiasco微内核之上。L4Re利用Fiasco提供的基本功能创建了一个完整的操作系统,具有模块化和可定制化的特性。


L4Re和Fiasco的关系可以比作房子和它的基础构架。Fiasco是构成操作系统基础的微内核,而L4Re则是在这个基础上建立的一个完整的用户级操作系统。L4Re依赖于Fiasco来提供底层的硬件管理和抽象层,同时还提供了一些高级的服务和库来方便应用程序的开发和运行。


总的来说,L4Re和Fiasco是L4微内核架构中不同层次的组件,它们紧密结合在一起构成了一个灵活、可定制和安全的操作系统架构。


seL4

L4Re是一个面向嵌入式系统和虚拟化的操作系统,它旨在提供一个模块化、可定制和高度灵活的用户级操作系统框架。它基于L4微内核和Fiasco微内核,提供了一组库、工具和应用程序来方便开发人员构建和部署各种嵌入式和虚拟化系统。


seL4是一个高度安全的操作系统,它旨在提供最高级别的保护和隔离。它采用了严格的形式化验证方法来证明其正确性和安全性,这使得它能够被广泛用于高度安全的领域,如国防、金融和关键基础设施。seL4的设计使得它能够提供严格的隔离和保护,从而防止恶意软件或攻击者对系统进行攻击或破坏。


尽管L4Re和seL4都是基于微内核的操作系统,但它们的设计和用例有所不同。L4Re旨在提供灵活和可定制的嵌入式和虚拟化系统,而seL4旨在提供高度安全的操作系统,可以用于安全性要求非常高的领域。


皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~

“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~


目录
打赏
0
0
0
0
7
分享
相关文章
跟着我的步骤,轻松打造出 AI 智能体
跟着我的步骤,轻松打造出 AI 智能体
152 3
跟着我的步骤,轻松打造出 AI 智能体
|
8月前
|
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
Xenomai是一个实时性解决方案,通过在Linux上添加实时内核Cobalt来增强实时性能。它有三个主要部分:libcobalt(用户空间实时库)、Cobalt(内核空间实时内核)和硬件架构特定层(ipipe-core或dovetail)。ipipe-core适用于Linux 5.4以下版本,而dovetail用于5.4及以上版本。本文介绍了在X86 Ubuntu环境下,如何编译Xenomai内核,搭建应用环境,包括配置、编译、安装和实时性测试。对于其他硬件架构,如ARM和ARM64,步骤类似。文章还提到了Xenomai与Linux内核版本的兼容性和实时性测试结果。
624 0
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
35-JVM性能优化总结-JVM性能优化到底该怎么做?
通过之前大量的案例和工具的介绍,相信大家对于JVM优化有了一定的了解和熟悉,接下来我们将整个JVM性能优化的步骤做一个总结。
223 0
start.S详解学习(四):设置堆栈 sp 指针
start.S详解学习(四):设置堆栈 sp 指针
343 0
PostgreSQL 并行计算解说 之1 - parallel seq scan
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel index scan parallel index only scan
4976 0
解决Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ at row 1 SQL Statement的问题~
解决Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ at row 1 SQL Statement的问题~
524 0
MySQL进阶:MySQL事务(实践二)
MySQL 事务主要用于处理操作量大,复杂度高的数据。比方我想要删除一个用户(销户)以及这个用户的个人信息、订单信息以及其他信息,这里会涉及到很多SQL语句的执行来满足我们的业务需求,我们要一次性删除这些数据,这些数据库操作语句就构成了一个事务。 那么在MySQL数据库中,我们如何查看存储引擎是否支持事务呢?下面我就从我实验机器上的MySQL来一探究竟。
MySQL进阶:MySQL事务(实践二)