Changes between Version 45 and Version 46 of FAQ


Ignore:
Timestamp:
2017-01-18T12:02:19Z (7 years ago)
Author:
Jakub Jermář
Comment:

Update the section on differences between HelenOS and Genode

Legend:

Unmodified
Added
Removed
Modified
  • FAQ

    v45 v46  
    9797=== How is HelenOS different from Genode? ===
    9898
    99 [http://www.genode.org/ Genode] is an operating system component framework which makes it easy to reuse diverse third-party components (alongside original Genode components) in a multiserver environment. It supports the combination of several different microkernels (and even monolithic kernels such as Linux) with various original and wrapped user space components (e.g. foreign device drivers wrapped by a DDE layer or a rump kernel). The granularity of the user space components is varying, from fine-grained to large and monolithic. Of course, not all theoretical combinations of components works in Genode and also the feature set can differ. Genode strongly focuses on fair resource accountability of the components.
     99[http://www.genode.org/ Genode] is an operating system component framework which makes it easy to reuse diverse third-party components (alongside original Genode components) in a multiserver environment. It supports the combination of several different microkernels (and even monolithic kernels such as Linux) with various original and wrapped user space components (e.g. foreign device drivers wrapped by a DDE layer or a rump kernel). The granularity of the user space components is varying, from fine-grained to large and monolithic. Of course, not all theoretical combinations of components work in Genode and also the feature set can differ. Genode uses a recursive system structure in which components are organized in a tree hierarchy. A parent component has full control over its children and, at the same time, gives its children a portion of its own resources such as RAM to start with. Genode components, and especially the root `core` component, enforce efficient resource accounting by requiring payments (in terms of resources) for services they provide. Genode components can use a special resource trading protocol to adjust their resource consumption dynamically.
    100100
    101 Compared to this, HelenOS is a coherent combination of a single portable microkernel and a multiplatform userland designed and built natively for it from fine-grained components. We strongly prefer designing and implementing our own components to importing foreign components from other systems and wrapping them into bloated compatibility layers, especially when dealing with the critical core components of the operating system. HelenOS supports basic resource accounting, but currently not so elaborate as in the case of Genode. There is an ongoing effort to make some of the HelenOS components (especially the SPARTAN kernel of HelenOS) usable as a Genode component.
     101Compared to this, HelenOS is a coherent combination of a single portable microkernel and a multiplatform userland designed and built natively for it from fine-grained components. We strongly prefer designing and implementing our own components to importing foreign components from other systems and wrapping them into bloated compatibility layers, especially when dealing with the critical core components of the operating system. HelenOS supports basic resource accounting, but currently not so elaborate as in the case of Genode. Unlike Genode components, HelenOS components are not organized in a strict hierarchy and the whole system structure is rather flat.
    102102
    103103== Advocacy-related Questions ==