Session
FOSDEM Schedule 2021
Microkernel

libioth

The definitive API for the Internet of Threads
D.microkernel
Microkernels, partial virtual machines and internet of threads are not unrelated. The challenge of this talk is to show that the new libioth providing an effective and flexible support for the internet of threads can open interesting perspectives for a wider range of applications.

A network protocol stack can be implemented as a library. There are several examples: lwip/lwipv6, picoxnet, lkl. These libraries can be used to implement processes connected as network nodes (the so called "Internet of Thread" processes) or to implement network protocol stack servers for microkernels.

The main goal of libioth is to provide a convenient API to interoperate with different network stack implementations. Libioth is also an infrastructure where the actual implementations can be loaded as plug-ins.

Libioth's API is minimal: it includes the complete set of Berkeley Sockets functions, some functions to add or delete a stack and 'msocket', an extended version of 'socket' providing one more leading argument to select which stack should manage the communication.

Libioth does not provide in its API any specific function to set up the network configuration, e.g. to configure the IP addresses/routes etc. These features are provided through netlink (see RFC3549). "nlinline" is a simple and effective set of inline functions to manage the network configuration.

The data link layer infratructure used by libioth is VDE, Virtual Distributed Ethernet.

Although libioth has been primarily designed for the Internet of Threads, the way it is used in the vunetioth module of vuos has many similarities with the network protocol stack servers for the microkernels.

Several concepts and many building blocks of libioth can be useful in microkernel development. The design of the minimal API itself can be used to reuse existing stack implementations in network protocol stack servers. Libnlq (a sibling project of libioth) is a library able to process netlink requests, and can be used to add the netlink support to those stack implementations providing configuration through a custom specific API.

Additional information

Type devroom

More sessions

2/6/21
Microkernel
Martin Děcký
D.microkernel
Welcome talk and introduction to the Microkernel Devroom at FOSDEM 2021.
2/6/21
Microkernel
Gernot Heiser
D.microkernel
I will provide an update on developments in the seL4 ecosystem in the past 12 months. Highlights include the creation of the seL4 Foundation and some of its activities since, and the functional correctness proof of seL4 on the RISC-V architecture. I will also discuss our work on time protection, a principled and systematic approach to prevention of timing channels and on-going work on its formal verification.
2/6/21
Microkernel
June Andronick
D.microkernel
The seL4 Foundation was created in April 2020 as a Project of the Linux Foundation. Its aim is to provide an open and neutral framework for developing seL4 and its ecosystem and promote update. The talk will give an overview of the seL4 Foundation, its goals and activities and the benefits of joining.
2/6/21
Microkernel
Norman Feske
D.microkernel
Resilience is often touted as the biggest advantage of component-based systems over monolithic architectures. The catchy part of the story often told is the containment of faults via sandboxing. However, the story has another inconvenient side that often remains untold. Components are interdependent. Whenever a central low-level component fails, dependent software stacks suffer under the outage. The talk presents Genode's recent breakthroughs to address this second part of the story, in ...
2/6/21
Microkernel
Anastassios Nanos
D.microkernel
Applications demand fast and secure execution in diverse environments (Cloud data centers, Edge Nodes, mobile platforms etc.). Execution efficiency has been facilitated by the introduction of specialized compute elements (eg. GPUs), in order to accelerate specific parts of tasks/workloads (such is image processing). At the same time, too abstract deployment and management burdens, service providers use virtualization and container technologies. Eliminating the software overheads of these ...
2/6/21
Microkernel
Simon Kuenzer
D.microkernel
In this talk we give an update on the Unikraft Linux Foundation open source project, a fully modular and librarized unikernel that aims to provide outstanding performance while making it easy to port off-the-shelf applications into unikernels. In particular, we will go into details how Unikraft (1) fully modularizes OS primitives so that it is easy to customize the unikernel and include only relevant components, (2) exposes a set of composable, performance-oriented APIs in order to make it easy ...
2/6/21
Microkernel
Martin Děcký
D.microkernel
Panel discussion and an extended Q&A session on the state of microkernel-based operating systems in 2021 and related topics with authors of several operating systems.