Genode

from Wikipedia, the free encyclopedia
Genode
Genode logo text.png
2018-09-21-sculpt-vc.png
Sculpt desktop system based on Genode
developer Genode Labs
License (s) AGPLv3
First publ. August 2008
Current  version 05/20 of May 28, 2020
(96 days ago)
Kernel Micronucleus
Architecture (s) ARM , RISC-V , x86 , x86-64
compatibility Genode API, POSIX
Languages) English
genode.org

Genode is a free operating system framework, which consists of a microkernel abstraction layer and a collection of components for user mode . The framework is one of the few open source operating systems that did not have a proprietary operating system as a model - such as Unix . The main aim of the design is to keep the amount of source code that a component has to trust (Trusted Computing Base) as small as possible.

Genode can be used as a basis for desktop or tablet operating systems, as well as a virtual machine monitor for guest systems. The framework is used as a trustworthy part of virtualization systems on both x86 and ARM .

Due to the small code base, Genode serves as a flexible alternative to more complex Unixoid operating systems. For this reason, the framework is also used as a basic system in research on topics such as virtualization, interprocess communication , IP stack insulation, monitoring and software technology.

history

Genode was originally developed as a "bastion" operating system architecture as part of a research report at the Technical University of Dresden . The focus of the report was on the practicality of a componentized operating system with a capability-based security concept. The report was motivated in part by the findings of the research carried out at the same time on the L4 microhypervisor . Driven by the success of a first prototype, the authors of the report founded a company for the further development of the Bastei architecture into a comprehensive operating system framework under the name Genode.

Versions

The project is being developed publicly as an open source project under the GNU Affero General Public License . Alternative license models are also available for commercial use. Major versions are published every three months and may contain changes to the operating system ABI and API . They also serve for the regular documentation of the project development. The framework's source code is versioned using Git and hosted on GitHub . Since version 18.02, a general-purpose operating system based on Genode called Sculpt has also been offered in precompiled form.

architecture

The Genode architecture is based on the micro-core approach - the smaller and simpler the source code, the easier it is to verify attributes such as trustworthiness and correctness. Genode extends this philosophy to the user mode by arranging complex applications through the interaction of small, mutually protected components. All components of a system are arranged in a strict parent-child hierarchy. If one component is the parent of another, it is responsible for making resources available to the child and managing its communication with third parties. This alleviates the problem of unwanted misuse of rights (Confused Deputy Problem), which is associated with root accounts or centralized system guidelines.

The functions of the various existing micro- cores can largely be mapped onto a generic interface and monolithic cores implement a surplus of them. Genode uses this fact to abstract from the differences between the cores and can therefore be operated on several cores of the L4 family, the NOVA Microhypervisor, the Muen Separation Kernel, but also an in-house development. In addition, Genode can be run directly on the Linux kernel for easier development and analysis of prototypes. Since version 16.08, Genode programs are core agnostic, so they can be executed with all supported cores without recompiling, provided the processor architecture remains the same.

Web links

Individual evidence

  1. Release 20.05 . May 28, 2020 (accessed May 28, 2020).
  2. Genode OS adds RISC-V support .
  3. Michael Larabel: Genode Is Developing A GPU Multiplexer For Intel Graphics Hardware .
  4. Introduction of the Genode OS Framework .
  5. ^ L4 Based Operating Systems .
  6. Michael Larabel: Redox OS, MINIX, Hurd & Genode Had Their Time At FOSDEM Too .
  7. Hans-Joachim Baader: Genode 2018.2 with Sculpt OS .
  8. Michael Larabel: Sculpt Aims To Be A General-Purpose OS Built Atop Genode .
  9. Alexander Tarasikov: Porting Genode to commercial hardware .
  10. ^ Muen - An x86 / 64 Separation Kernel for High Assurance .
  11. ^ John Williams: Inspecting data from the safety of your trusted execution environment .
  12. ^ Embassies: Radically Refactoring the Web . USENIX.
  13. ^ Martin Wegner, Sönke Holthusen: Contract Specification and language .
  14. ^ Mohammad Hammad: The Secure Communication Module of CCC .
  15. B.PRUTHIVIRAJ, GSMADHUSUTHUN, S.VIJAYASARATHY, K.CHAKRAPANI: A MICROKERNEL BASED SECURE OPERATING SYSTEM USING GENODE FRAMEWORK .
  16. Ludwig Hähne: Empirical Comparison of SCons and GNU Make .
  17. Millo-Sánchez, Reinier & Paz Rodríguez, Waldo & Fajardo-Moya, Alexis: Genode OS Framework, un framework para el desarrollo de sistemas embebidos .
  18. TU Dresden technical report TUD-FI06-07 .
  19. NOVA Microhypervisor .
  20. Genode - Release notes for the Genode OS Framework. Retrieved September 13, 2018 (American English).
  21. genodelabs / genode. Retrieved September 13, 2018 .
  22. Genode - Sculpt OS. Retrieved September 13, 2018 (American English).
  23. ^ L4 Based Operating Systems .
  24. SeL4 Community Projects .
  25. Udo Steinberg: NOVA Microhypervisor. Retrieved September 24, 2018 .
  26. Muen | SK for x86 / 64. Retrieved September 24, 2018 .
  27. Release notes 16.08 .