开发环境: 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旨在提供高度安全的操作系统,可以用于安全性要求非常高的领域。
皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~
“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~