Introducing The Library Operating System For Linux

Written by Michael Larabel in Linux Kernel on 24 March 2015 at 01:16 PM EDT. 20 Comments
Announced today on the Linux kernel mailing list was the Library Operating System (LibOS) for Linux.

LibOS for Linux is initially about breaking the Linux kernel's networking stack out into user-space as a shared library.

Hajime Tazaki announced and explained the work:
Our objective is to build the kernel network stack as a shared library that can be linked to by userspace programs to provide network stack personalization and testing facilities, and allow researchers to more easily simulate complex network topologies of linux routers/hosts.

Although the architecture itself can virtualize various things, the current design only focuses on the network stack. You can benefit network stack feature such as TCP, UDP, SCTP, DCCP (IPv4 and IPv6), Mobie IPv6, Multipath TCP (IPv4/IPv6, out-of-tree at the present moment), and netlink with various userspace applications (quagga, iproute2, iperf, wget, and thttpd).

== What is LibOS ? ==

The library exposes an entry point as API, which is lib_init(), in order to connect userspace applications to the (userspace-version) kernel network stack. The clock source, virtual struct net_device, and scheduler are provided by caller while kernel resource like system calls is provided by callee.

Once the LibOS is initialized via the API, userspace applications with POSIX socket can use the system calls defined in LibOS by replacing from the original socket-related symbols to the LibOS-specific one. Then application can benefit the network stack of LibOS without involving the host network stack.

Currently, there are two users of LibOS: Network Stack in Userspace (NUSE) and ns-3 network simulatior with Direct Code Execution (DCE). These codes are managed at an external repository.
You can learn more about LibOS for Linux via the slides embedded below.

Related News
About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week