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旨在提供高度安全的操作系统,可以用于安全性要求非常高的领域。


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

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


相关文章
|
6月前
|
C语言
设备树知识小全(六):设备节点及label的命名
设备树知识小全(六):设备节点及label的命名
210 0
|
安全 Ubuntu 测试技术
l4re Getting started
l4re Getting started
362 0
|
5月前
|
机器学习/深度学习 存储 人工智能
【AI】告别繁琐阅读,阿里通义智文阅读助手带您轻松畅游知识海洋!
阿里通义智文阅读助手是AI驱动的阅读辅助工具,能识别并解析PPT、图片、PDF等文档,提供摘要、关键词提取、语义理解与问答功能。用户可上传图片文件,工具自动识别文字,支持图表识别和全文搜索。此外,它还具有智能问答功能,能回答用户关于文档内容的问题。工具兼容多种文件格式,但有每日使用和存储限制。作者木头左邀请用户体验并期待下次分享。
【AI】告别繁琐阅读,阿里通义智文阅读助手带您轻松畅游知识海洋!
|
6月前
|
存储 Ubuntu Linux
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内核版本的兼容性和实时性测试结果。
457 0
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
|
6月前
|
存储 Ubuntu Linux
Linux 自动化处理命令 Expect 使用教程
Linux 自动化处理命令 Expect 使用教程
323 0
|
Shell 开发工具 git
git 上传文件到gitlab
git 上传文件到gitlab
417 0
git 上传文件到gitlab
|
存储 缓存 负载均衡
14 STM32之IIC通信(软件模拟篇)
14 STM32之IIC通信(软件模拟篇)
|
存储 算法 数据可视化
关于B+树的介绍、用途和c++代码实现
关于B+树的介绍、用途和c++代码实现
云服务器最基本操作——实例管理
云服务器最基本操作——实例管理自制脑图, 介绍了实例有什么用?创建并登陆实例,启动与停止实例,配置的升级与降级,更换操作系统。
132 0
云服务器最基本操作——实例管理