mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-31 08:25:38 +00:00
4e4cdacab3
The main thread does no longer execute application code. It is solely responsible for the initialization of the component's entrypoint and for retrieving asynchronous notifications. Since the stack usage is no longer dependent on application-specific code, we can significantly shrink it to reduce the memory footprint of components. In the worst case - should the stack overrun - we would observe a page fault because the stack is placed in the stack area, surrounded by guard pages.
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.