The L4Re Runtime Environment comprises a set of runtime services, APIs, and libraries for developing native L4Re applications. These applications do not have to rely on legacy monolithic operating systems (such as a Linux system running in a separate compartment or VM). Hence, they may have an extremely small trusted computing base (TCB). L4Re services and libraries are structured in modules, allowing them to scale to even the smallest systems or TCBs.
The L4Re Runtime Environment contains the following components: C and C++ standard libraries, pthreads, scriptable initialization component, shared memory services, memory and address-space management, memory allocation, program loader and shared libraries, device management, and a secure GUI component; the latter allows users to exactly determine the component that is presenting the current screen contents and receiving input events.
L4Re’s standard programming language for native applications is C++. In this language, L4Re capabilities, data types and module interfaces can be expressed natively. C bindings are available as well; these are typically used when porting existing applications or systems (like L4Linux).
- C++11+ / C programming environment
- Native L4Re application development with libstdc++, pthreads, libc, and a subset of POSIX interfaces
- Uniform, seamless and secure naming of, and access to, microkernel and runtime resources through object capabilities
- Rich set of high-level abstractions for flexible system design
- Secure GUI
- Secure flexible platfom management
- Flexible system startup
- Support for third-party libraries and systems available on request
- staged boot
Visit us: https://github.com/kernkonzept