genode

Genode OS 框架是一个开源工具包,用于构建高度安全的基于组件的操作系统。 它可以从嵌入式设备扩展到动态通用计算。(The Genode OS framework is an open-source tool kit for building highly secure component-based operating systems. It scales from embedded devices to dynamic general-purpose computing.)

我们将代码和策略的复杂性理解为现代通用操作系统共享的最基本的安全问题。 然而,由于高功能需求和动态工作负载,这种复杂性无法避免。 但它可以组织起来。 Genode是一种新颖的操作系统架构,能够通过对所有软件组件(包括设备驱动程序,系统服务和应用程序)应用严格的组织结构来掌握复杂性。 Genode OS框架是一个开源工具包,用于构建高度安全的基于组件的操作系统。 它可以从嵌入式设备扩展到动态通用计算。

本资源库是 Genode OS 的参考实现的源树。

架构

有关架构的一般概述,请参阅该项目的官方网站:

Genode OS Framework的官方项目网站:

https://genode.org/documentation/general-overview

可以为8个不同的内核编译当前的实现:Linux,L4ka :: Pistachio,L4 / Fiasco,OKL4,NOVA,Fiasco.OC,seL4和定制用于在基于ARM的硬件上直接运行Genode的内核。而Linux版本为我们提供了开发工具,使我们能够快速开发系统的通用部分,框架的实际目标平台是微内核。没有“完美”的微内核 - 也不应该存在一。如果微内核假装适合所有用例,则不会“微”。因此,所有微内核在各自的功能方面都有所不同,复杂性和支持的硬件架构。

Genode允许使用上面列出的每个内核和丰富的内核设备驱动程序,协议栈,库和应用程序以统一的方式。对于开发人员来说,该框架提供了一种针对多个不同目内核而不是将开发绑定到特定的内核技术。对于内核开发人员,Genode贡献高级工作负载,对其进行压力测试内核,并启用不会的各种应用程序用例否则可能。对于用户和系统集成商,它可以选择内核最符合特定的手头要求使用场景。

文档

主要文档是 “Genode Foundations” 一书,该书可在Genode网站的首页下载。

这本书以全面而全面的方式描述了Genode。它使您能够全面了解架构,帮助开发人员解释开发环境和系统配置,并提供框架内容。此外,它包含框架编程接口的规范。

该项目有一个季度发布周期。每个版本都附有详细的发布文档,可在项目网站的文档部分获得:

发布文档:https://genode.org/documentation/release-notes/

目录概述

源树由以下子目录组成:

: 'DOC':

  该目录包含一般文档。请考虑以下文档,以获得开始使用该框架的快速指南:

  ! DOC/getting_started.txt

  如果您对框架附带的即用型组件感到好奇,请查看组件概述:

  ! DOC/COMPONENTS.TXT

: 'repo':

  该目录包含Genode的所谓源代码存储库。请参阅“repos”目录中的README文件,以了解有关各个存储库角色的更多信息。

:'tool':

  源代码管理工具和脚本。请参阅目录中包含的README文件。

:'depot'和'public':

  Genode包的本地仓库和公共存档。更多细节请参阅

  ! DOC/depot.txt。

其他社区维护的组件

主源代码树中的组件由不断增加的附加软件库补充,可以无缝集成到Genode系统方案中。

:Genode-world存储库:https://github.com/genodelabs/genode-world

Main metrics

Overview
Name With Ownergenodelabs/genode
Primary LanguageC++
Program languageMakefile (Language Count: 20)
PlatformLinux
License:Other
所有者活动
Created At2011-12-20 08:27:40
Pushed At2025-04-17 12:56:24
Last Commit At2025-04-10 14:52:33
Release Count71
Last Release Name25.02 (Posted on 2025-02-28 12:27:45)
First Release Name11.11 (Posted on 2012-01-03 15:34:45)
用户参与
Stargazers Count1.1k
Watchers Count81
Fork Count256
Commits Count14k
Has Issues Enabled
Issues Count5274
Issue Open Count122
Pull Requests Count2
Pull Requests Open Count0
Pull Requests Close Count249
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

=================================
Genode Operating System Framework
=================================

This is the source tree of the reference implementation of the Genode OS
architecture. For a general overview about the architecture, please refer to
the project's official website:

:Official project website for the Genode OS Framework:

[https://genode.org/documentation/general-overview]

The current implementation can be compiled for 8 different kernels: Linux,
L4ka::Pistachio, L4/Fiasco, OKL4, NOVA, Fiasco.OC, seL4, and a custom
kernel for running Genode directly on ARM-based hardware. Whereas the Linux
version serves us as development vehicle and enables us to rapidly develop the
generic parts of the system, the actual target platforms of the framework are
microkernels. There is no "perfect" microkernel - and neither should there be
one. If a microkernel pretended to be fit for all use cases, it wouldn't be
"micro". Hence, all microkernels differ in terms of their respective features,
complexity, and supported hardware architectures.

Genode allows the use of each of the kernels listed above with a rich set of
device drivers, protocol stacks, libraries, and applications in a uniform way.
For developers, the framework provides an easy way to target multiple different
kernels instead of tying the development to a particular kernel technology. For
kernel developers, Genode contributes advanced workloads, stress-testing their
kernel, and enabling a variety of application use cases that would not be
possible otherwise. For users and system integrators, it enables the choice of
the kernel that fits best with the requirements at hand for the particular
usage scenario.

Documentation
#############

The primary documentation is the book "Genode Foundations", which is available
on the front page of Genode website:

:Download the book "Genode Foundations":

[https://genode.org]

The book describes Genode in a holistic and comprehensive way. It equips you
with a thorough understanding of the architecture, assists developers with the
explanation of the development environment and system configuration, and
provides a look under the hood of the framework. Furthermore, it contains the
specification of the framework's programming interface.

The project has a quarterly release cycle. Each version is accompanied with
detailed release documentation, which is available at the documentation
section of the project website:

:Release documentation:

[https://genode.org/documentation/release-notes/]

Directory overview
##################

The source tree is composed of the following subdirectories:

:'doc':

This directory contains general documentation. Please consider the following
document for a quick guide to get started with the framework:

! doc/getting_started.txt

If you are curious about the ready-to-use components that come with the
framework, please review the components overview:

! doc/components.txt

:'repos':

This directory contains the so-called source-code repositories of Genode.
Please refer to the README file in the 'repos' directory to learn more
about the roles of the individual repositories.

:'tool':

Source-code management tools and scripts. Please refer to the README file
contained in the directory.

:'depot' and 'public':

Local depot and public archive of Genode packages. Please refer to

! doc/depot.txt

for more details.

Additional community-maintained components
##########################################

The components found within the main source tree are complemented by a growing
library of additional software, which can be seamlessly integrated into Genode
system scenarios.

:Genode-world repository:

[https://github.com/genodelabs/genode-world]

Contact
#######

The best way to get in touch with Genode developers and users is the project's
mailing list. Please feel welcome to join in!

:Genode Mailing Lists:

[https://genode.org/community/mailing-lists]

Commercial support
##################

The driving force behind the Genode OS Framework is the German company Genode
Labs. The company offers commercial licensing, trainings, support, and
contracted development work:

:Genode Labs website:

[https://www.genode-labs.com]