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


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

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


相关文章
|
安全 Ubuntu 测试技术
l4re Getting started
l4re Getting started
845 0
|
JSON Linux API
嵌入式设备的 Json 库基本使用
嵌入式设备的 Json 库基本使用
710 0
|
5月前
|
传感器 人工智能 监控
停车场空车位检测数据集(3000张图片已划分)[目标检测]
在城市交通管理与智慧停车建设快速发展的当下,如何高效、精准地识别停车场空车位已成为智慧城市重要课题。为了支持研究者和工程团队训练高性能停车检测模型,我们构建了停车场空车位检测数据集,专为目标检测任务优化设计。
停车场空车位检测数据集(3000张图片已划分)[目标检测]
|
前端开发 JavaScript
Select2(4.0.6)城市搜索
实现了城市列表的前端搜索,输入汉字、拼音首字母均可搜索,前端搜索。
1281 0
Select2(4.0.6)城市搜索
|
4月前
|
人工智能 自然语言处理 安全
2025-2026智能客服选型推荐:主流方案实测与甄选
2025 年,AI Agent 技术的规模化落地与大模型的行业化适配,推动智能客服行业迈入“全链路价值协同 + 场景化主动服务”的成熟周期。中国电子技术标准化研究院数据显示,零售、金融、政务三大核心领域的智能客服渗透率已突破 65%,部分头部企业的 AI 服务占比更是超过 80%。对于企业而言,智能客服已不再是单纯的“成本优化工具”,更升级为串联售前引流、售中转化、售后复购的业务增长引擎,成为数字化转型的核心基础设施。
|
JavaScript 中间件 测试技术
FastAPI全面指南:从入门到企业级应用实战
FastAPI正迅速成为Python Web开发领域的明星框架。它以高性能、高效率和现代化特性著称,性能媲美Go/Node.js,支持异步编程并内置自动化文档系统。本文全面解析FastAPI核心功能,包括类型安全路由、Pydantic数据验证、异步支持等,并通过实战案例展示其在RESTful API开发、微服务架构、实时数据处理及机器学习模型部署中的应用。同时,文章提供数据库集成、中间件配置和测试策略等最佳实践,解决常见问题并展望未来技术发展方向。掌握FastAPI,助你构建高效现代化Web应用。
1901 1
|
缓存 Ubuntu Linux
LXC (Linux 虚拟环境)简单介绍
LXC是Linux containers的简称,操作系统级别的虚拟化技术。它可以在操作系统层次上为进程提供的虚拟的执行环境。一个虚拟的执行环境被称为一个容器(container)。可以为容器绑定特定的cpu和memory节点,分配特定比例的cpu时间、IO时间,限制可以使用的内存大小(包括内存和是swap空间),提供device访问控制,提供独立的namespace(网络、pid、ipc、mnt、uts)。
1712 0
LXC (Linux 虚拟环境)简单介绍
|
测试技术 芯片
初始化串口后,低功耗模式下电流高是怎么回事?
初始化串口后,低功耗模式下电流高是怎么回事?

热门文章

最新文章

下一篇
开通oss服务