REVIEW 3 major objections 6 minor 1 cited by
Fast, Secure, Adaptable: LionsOS Design, Implementation and Performance
T0 review · 3 major / 6 minor · reviewed 2026-08-10 · deepseek-v4-flash
Pith's one-line read This paper claims the performance penalty of highly modular microkernel-based OSes is not inevitable: LionsOS, built on the formally verified seL4 microkernel, matches or beats Linux on UDP echo and storage workloads while using far less…
desk verdict LionsOS is a real, open-source microkernel OS with surprisingly strong UDP echo and storage numbers; the headline claim is probably right, but the Linux baseline fairness and missing variance are the soft spots a referee should push on. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The mechanism that makes the performance claim work is the combination of a static system architecture with single-producer-single-consumer (SPSC) shared-memory queues synchronised by semaphores. The seL4 Microkit fixes the system at configuration time as a set of single-threaded protection domains (PDs) with declared communication channels; LionsOS components then communicate only through bounded, lock-free SPSC queues, signalling a peer only when a queue changes between empty and non-empty (or full and non-full). All policy-independent state lives in shared memory, so a failed component can be restarted or even swapped for a different executable (a demonstrated 17 µs policy switch) without disturbing the rest of the system. Because no component ever blocks on another's internal state, components are location-transparent: a component cannot tell whether its peer runs on the same core or a remote one, so multicore scaling comes from distributing the small components across cores rather than from threading, and device drivers are reduced to pure hardware translation, with data buffers deliberately unmapped from the driver's address space.
What would settle it
Run the identical UDP echo benchmark with a carefully tuned Linux on the same board — minimal initramfs userspace, IRQ coalescing and busy-polling tuned to the offered load, the echo process pinned, and preemption configured for throughput — and compare throughput per core and round-trip latency. If tuned Linux matches or beats LionsOS on throughput and latency at equal CPU cost, the claim that modularity costs nothing would be falsified; the same test can be rerun with hardware offload features (Tx IRQ coalescing, checksum offload) re-enabled for the CEOS comparison to check that the disabled-features choice is not the source of the gap.
Extended reading notes
Core claim
The paper's central claim is that LionsOS is the first highly modular microkernel-based OS to achieve performance at par with or better than traditional monolithic designs, and that on context-switch intensive workloads — where modularity-imposed overheads should be greatest — it outperforms all systems compared against, including Linux, Genode, and a commercial microkernel OS (CEOS). The paper attributes this result to "radical simplicity": strict separation of concerns, least privilege, narrow interfaces, and use-case-specific policies produce components so small that their frequent context switches cost less than the interface layers and generality of monolithic designs. The evidence is quantitative: on an Arm i.MX8MQ platform LionsOS sustains the full 1 Gb/s NIC capacity with roughly one third of the CPU left unused, whereas Linux plateaus at about 500 Mb/s with its core saturated and round-trip times three to ten times higher; on x86 with a 10 Gb/s NIC, LionsOS keeps up with about 20% CPU spare while Linux saturates at 4 Gb/s. Simulated IPC costs from zero (free IPC) to Zircon-like prices change LionsOS's CPU utilisation only slightly, which the paper takes as evidence that context-switch cost is not the bottleneck the literature has assumed.
Load-bearing premise
The central performance claim rests on the fairness of the comparison: Linux, Genode, and CEOS must be reasonably well-tuned representatives of their designs, so that LionsOS's win reflects its architecture rather than under-configured rivals.
Editorial extensions
If this is right
- If modularity no longer costs performance, isolation-heavy OS architectures become the natural choice for mixed-criticality embedded systems, since the security and safety benefits come without the traditional performance tax.
- The simplicity of the small components makes formal verification tractable: a high-performance NIC driver written in the LionsOS style has already been verified with automated proof techniques, and the paper expects the rest of the small trusted computing base to follow.
- Linux driver reuse inside small virtual machines (a few MiB of RAM for optimised configurations, weeks of effort per device class) gives LionsOS broad hardware coverage without sacrificing the isolation model, so device availability is not a barrier to adoption.
- Runtime policy swapping (demonstrated at 17 µs for network traffic shaping) lets a static-architecture system change behaviour on the fly, so use-case-specific policies do not mean inflexible systems.
Reading between the lines
- If the performance advantage is really about simplicity rather than kernel speed, then porting the same protection-domain structure to a microkernel with deliberately inflated IPC latency should reproduce the same throughput, isolating the design principle from the processor's context-switch cost; the paper's simulated-IPC experiments suggest this test is cheap to run.
- The use-case-specific policy principle implies the performance story may not transfer to general-purpose workloads: static resource allocation works because embedded systems do not over-commit, so on dynamic, unpredictable workloads the advantage over adaptive monolithic schedulers could shrink or even reverse.
- The 17 µs policy swap suggests a broader design pattern for adaptive behaviour in critical systems: keep a small library of specialised policy modules and hot-swap them in response to events, rather than building one general policy with configuration knobs — a pattern that could also be applied to schedulers, cache partitioning, and power management.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper presents LionsOS, an operating system for safety- and security-critical embedded systems built on the formally verified seL4 microkernel. The design is deliberately static and highly modular, with strict separation of concerns, least privilege, and use-case-specific policies. The authors report an implementation of Ethernet and storage subsystems using device drivers, virtualisers, and shared-memory SPSC queues, plus mechanisms for reusing Linux drivers in virtual machines. The evaluation compares LionsOS against Linux, Genode, and a commercial microkernel-based OS (CEOS) on UDP echo and block I/O workloads. The headline results are that LionsOS sustains line-rate UDP echo with substantially lower CPU utilisation and lower round-trip times than Linux on both Arm and x86, and that storage throughput is comparable to Linux while using less CPU at small block sizes. The paper also reports code-size comparisons, a dynamic policy-swap experiment, and a simulated analysis of IPC cost. The central claim is that LionsOS is the first highly modular microkernel-based OS whose performance is at par with or better than traditional monolithic designs on system-call intensive workloads.
Significance. If the performance claims hold, this is a significant result for the microkernel and verified-OS communities: it would show that fine-grained modularity, with many inter-component context switches, need not impose a prohibitive performance penalty. The paper is also useful as a systems design study, with concrete mechanisms (SPSC queues, virtualisers, location transparency, driver VMs) and an openly available implementation. The authors are explicit about the verification-friendly intent and provide code-size data and a reproducible benchmark methodology. The main empirical contribution, however, rests on the fairness of the Linux baseline and on the absence of run-to-run variance reporting, so the strength of the headline claim is currently not fully established.
major comments (3)
- [Section 6.3.1, Figures 4 and 5] The central claim that LionsOS outperforms traditional monolithic designs is supported almost entirely by the UDP echo comparison against Linux, but the Linux baseline is not shown to be reasonably tuned. Section 6.1 states only that the Arm Linux runs a Buildroot system with kernel 6.1.0 and that the x86 Linux uses a Debian kernel 6.6.15-2 with the performance frequency governor. The paper mentions that Linux requires an Rx IRQ hold-off configuration and switches to polling under high load, but it does not report what tuning was attempted on the Linux side (e.g., interrupt coalescing, IRQ affinity, receive-side scaling, socket buffer sizes, or kernel configuration options). On the i.MX8MQ FEC controller, stock interrupt defaults can severely limit throughput, so the observed Linux plateau of about 500 Mb/s may not represent a well-configured monolithic baseline. Please repeat the comparison with a Linux configuration that has been explicitly tuned for this NIC and workload, report the specific settings, and state whether the qualitative conclusion (LionsOS uses less than half the CPU and has lower RTT) survives. Without this, the headline claim is vulnerable to the objection that an untuned baseline, rather than modularity, explains the result.
- [Section 6.3.1, Figures 4-6] No error bars or run-to-run variance are reported anywhere in the networking evaluation. The curves in Figures 4, 5, and 6 appear to be single measurements, and the text reports precise-looking ratios (e.g., 'less than half the CPU', RTTs 'three to ten times less') without any indication of measurement spread or repeat count. Because the deltas are used to assert a large performance advantage, the paper should report at least the number of repetitions and the min/median/max (or confidence intervals) for the key curves, and should state how the load generator handles packet loss and measurement error. This is particularly important near saturation, where CPU utilisation and achieved throughput can be sensitive to timing artifacts.
- [Section 6.3.1, Figure 5d and Section 7] The 'free IPC' simulation is explicitly acknowledged as imprecise ('We do not claim that this is in any way precise'), yet Section 7 uses it to conclude that IPC cost has only minor impact and to contradict prior claims that IPC cost is still a bottleneck. Adding fixed delays to seL4 system calls, or subtracting 493 cycles for 'free' IPC, is a coarse approximation of what would happen on Fiasco, Zircon, or a hypothetical zero-cost IPC system; it does not model differences in cache behaviour, scheduling, queue batching, or notification mechanisms. This experiment is useful as a sensitivity analysis, but the conclusion in Section 7 should be hedged accordingly, or the paper should provide a more direct comparison against at least one of the actual kernels. As written, the strength of the 'IPC cost matters little' conclusion exceeds what the methodology can support.
minor comments (6)
- [Section 6.3.1, Figure 4 caption] The caption states that 'the left axis and solid lines are throughput except where stated otherwise', but Figure 4a shows CPU utilisation on the left axis and does not appear to follow this rule. Please clarify the axis assignment for each subfigure, or standardise the captions.
- [Section 6.1 and Section 6.3.1] The term 'unicore' is used repeatedly; 'single-core' or 'uniprocessor' is the conventional term and would read more naturally.
- [Section 6.3.2, Figure 7e] The text says the benchmark reads 4 files, while the figure shows 4 file positions, but then states that LionsOS 'is slower when reading more than five files'. This is internally inconsistent; please reconcile the number of files in the benchmark with the reported cross-over point.
- [Section 6.3.1, Figure 5d] The methodology for the simulated Fiasco, Zircon, and 'free IPC' curves is described only in the text; adding a concise explanation in the figure caption would improve readability.
- [Section 6.3.1, 'Other OSes' paragraph] The Genode comparison uses the 'hw' base configuration, which runs bare metal without a microkernel underneath, so it is not directly comparable to a microkernel-based design. The text acknowledges this, but the figure legend simply lists 'Genode'; please make the configuration difference explicit in the figure and in the corresponding discussion.
- [Section 5.4 and Section 6.2.3] The driver-VM experiments report memory footprints and development effort, but not the latency overhead of the VM-based driver path. Since the text states that this path 'is unlikely to be an option for performance-critical devices', a quantitative latency or throughput comparison for at least one driver class would strengthen the claim.
Circularity Check
No significant circularity: the central performance claims rest on direct measurements against independent external systems (Linux, Genode, CEOS) and on an explicitly labelled, rough IPC-cost simulation based on externally measured microkernel latencies.
full rationale
The paper's main contribution is an empirical performance evaluation, not a derived prediction. LionsOS throughput, CPU utilisation and latency are measured against Linux, Genode and CEOS using ipbench and iperf3; none of these baselines is produced by fitting a parameter to LionsOS data or by defining LionsOS's result in terms of the comparison. The 'free IPC' simulation is explicitly an estimate ('We do not claim that this is in any way precise') built from published, externally measured seL4, Fiasco.OC and Zircon round-trip latencies [Mi et al., 2019]; it is not fitted to LionsOS and the paper's headline claim does not depend on it. Self-citations appear (seL4 verification, seL4 Microkit, first steps in verifying the Core Platform, a verified NIC driver), but these are not load-bearing for the performance claim: the seL4 verification is machine-checked, the Microkit is described as the starting point rather than as evidence of performance, and the cited verified NIC driver is mentioned only in the conclusions as an outlook, not as support for the benchmark results. The design principles (KISS, separation of concerns, use-case-specific policies) are presented as an argument about why performance is achievable, but the actual demonstration is the independent evaluation. No equation or fitted parameter is renamed as a prediction, and no cited 'uniqueness theorem' is used to force a choice. Accordingly, the paper shows no material circularity and receives score 0.
Assumptions & free parameters
assumptions (5)
- domain assumption seL4 microkernel correctly enforces spatial and temporal isolation, confidentiality, and integrity.
- domain assumption Verification effort scales quadratically with specification size.
- ad hoc to paper A static system architecture can serve all realistic embedded use cases.
- domain assumption The SPIN model-checking results correctly prove deadlock-freedom of the signalling protocols.
- domain assumption The Linux, Genode, and CEOS configurations used as baselines are representative, fairly-tuned comparisons.
Cite this review
Pith. "Pith review of Fast, Secure, Adaptable: LionsOS Design, Implementation and Performance." pith.science (2026). https://pith.science/paper/BJTZ6LTI
@misc{pith2026250106234,
author = {Pith},
title = {Pith review of: Fast, Secure, Adaptable: LionsOS Design, Implementation and Performance},
year = {2026},
howpublished = {\url{https://pith.science/paper/BJTZ6LTI}},
note = {Machine review of arXiv:2501.06234}
}
read the original abstract
We present LionsOS, an operating system for security- and safety-critical embedded systems. LionsOS is based on the formally verified seL4 microkernel and designed with verification in mind. It uses a static architecture and features a highly modular design driven by strict separa- tion of concerns and a focus on simplicity. We demonstrate that LionsOS achieves excellent performance on system-call intensive workloads.
Figures
Figures from the paper (3 more)
Forward citations
Cited by 1 Pith paper
-
Verifying Device Drivers with Pancake
Pancake is a new language with a verified compiler and an automated Viper front-end; it is used to verify a performant Ethernet NIC driver, though the transpiler and reentry semantics remain unverified.
Reference graph
Works this paper leans on
-
[2005]
InInternational Con- ference on Collaborative Computing
The Nizza Secure-System Architecture. InInternational Con- ference on Collaborative Computing. San Jose, CA, US. Jorrit N. Herder, Herbert Bos, Ben Gras, Philip Homburg, and An- drew S. Tanenbaum. 2006. MINIX 3: A Highly Reliable, Self- Repairing Operating System. ACM Operating Systems Review 40, 3 (July 2006), 80–89. Dan Hildebrand. 1992. An Architectura...
work page 1997
-
[2016]
In USENIX Symposium on Operating Systems Design and Im- plementation
Push-Button Verification of File Systems via Crash Refine- ment. In USENIX Symposium on Operating Systems Design and Im- plementation. Savannah, GA, US, 1–16. Bingyao Wang and Margo Seltzer. 2022. Tinkertoy: Build Your Own Operating Systems for IoT Devices. 41, 11 (2022), 4028–4039. Brent Welch. 1991. The File System Belongs in the Kernel. InUSENIX Mach W...
work page 2022
-
[2018]
Scheduling-Context Capabilities: A Principled, Light-Weight OS Mechanism for Managing Time. In EuroSys Conference. ACM, Porto, Portugal, 14. Daniel Matichuk, Toby Murray, June Andronick, Ross Jeffery, Gerwin Klein, and Mark Staples. 2015. Empirical Study Towards a Leading Indicator for Cost of Formal Software Verification. In International Conference on S...
work page 1989
Reviewed August 10, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.