The seL4 Microkernel - An Introduction
- Gernot Heiser
- University of New South Wales
- The seL4 Foundation, 2020
- Google Scholar Citations:
- seL4首先是一个微内核, 是hypervisor, 可以在seL4运行主流OS的虚拟机
- seL4被形式化证明了实现正确性: 将C源码和编译后的二进制指令分别抽象为图的形式, 证明二者等价性
- 与传统的UNIX permissions不同, seL4使用capabilities来实现更精细的访问控制
- seL4是一个硬实时系统, 它有完整而可靠的最坏情况执行时间(WCET)分析
L4 Microkernels: The Lessons from 20 Years of Research & Deployment
- Gernot Heiser, Kevin Elphinstone
- University of New South Wales
- ACM Transactions on Computer Systems (TOCS), 2016
- Google Scholar Citations:
- seL4保留了最小性作为关键设计原则, 保留了通用性(几乎支持任意系统架构)
- seL4被形式化证明了实现正确性: 将C源码和编译后的二进制指令分别抽象为图的形式, 证明二者等价性
- 与传统的UNIX permissions不同, seL4使用capabilities来实s现更精细的访问控制
- seL4是一个硬实时系统, 它有完整而可靠的最坏情况执行时间(WCET)分析
Improving IPC by Kernel Design
- Jochen Liedtke
- German National Research Center for Computer Science (GMD)
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 1993
- Google Scholar Citations:
- 增加新的系统调用call和reply & receive next, 将原来4个系统调用降到2个
- 临时映射
- Lazy Scheduling
- Direct Process Switch
- 使用寄存器传递短消息
On Micro-Kernel Construction
- Jochen Liedtke
- German National Research Center for Computer Science (GMD)
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 1995
- Google Scholar Citations:
虽然优点众多, 但是在当时微内核的效率过于低下而被抛弃, 错过操作系统发展的最佳时期. 作者认为合理的微内核设计在保留微内核优点的同时, 能达到优秀性能.
他在本文给出微内核实现时应当遵循的一些理念:
- 地址空间: 微内核提供简单基本的保护, 隐藏硬件层面地址空间, 同时必须支持内核之上实现地址空间的递归构建
- 线程和IPC: 为线程提供唯一的标识符(UID)
- 将内存管理、分页器、设备驱动器、二级Cache快表、Unix系统调用等移至用户态, 减小内核体积
- 将微内核做成机器相关, 舍弃可移植性, 针对不同处理器架构做优化, 提升微内核性能
The Performance of Micro-Kernel-Based Systems
- Hermann Härtig, Michael Hohmuth, Jochen Liedtke, Sebastian Schönberg, Jean Wolter
- Dresden University of Technology
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 1997
- Google Scholar Citations:
seL4: Formal Verification of an OS Kernel
- Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, Simon Winwood
- University of New South Wales
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 2009
- Google Scholar Citations:
Comprehensive formal verification of an OS microkernel
- Gerwin Klein, June Andronick, Kevin Elphinstone, Toby Murray, Thomas Sewell, Rafal Kolanski, Gernot Heiser, Authors Info & Claims
- University of New South Wales
- ACM Transactions on Computer Systems (TOCS), 2014
- Google Scholar Citations:
First steps in verifying the seL4 Core Platform
- Mathieu Paturel, Isitha Subasinghe, Gernot Heiser
- University of New South Wales
- Proceedings of the ACM SIGOPS Asia-Pacific Workshop on Systems (APSys), 2023
- Google Scholar Citations:
An Architectural Overview of QNX
- Dan Hildebrand
- Quantum Software Systems
- USENIX Workshop on Microkernels and Other Kernel Architectures, 1992
- Google Scholar Citations:
To Preempt or Not To Preempt, That Is the Question
- Bernard Blackham, Vernon Tang and Gernot Heiser
- University of New South Wales
- Proceedings of the Asia-Pacific Workshop on Systems (APSys), 2012
- Google Scholar Citations:
Improving Interrupt Response Time in a Verifiable Protected Microkernel
- Bernard Blackham, Yao Shi, Gernot Heiser
- University of New South Wales
- Proceedings of the ACM European Conference on Computer Systems (EuroSys), 2012
- Google Scholar Citations:
线程调度优化:
- seL4最初使用Lazy Scheduling: 当前线程被IPC阻塞时仍加入就绪队列, 只是被标记为阻塞状态, 当调度器下次被调用时, 将仍被阻塞的线程出队. 这样的设计是考虑到seL4的同步IPC模型, 线程发送消息时被阻塞, 但通常又很快收到回复, 一般的调度策略会造成频繁地出队入队. 但是这种设计无法保证最坏情况性能
- 使用Benno Scheduling优化: 当前线程被IPC阻塞时不加入就绪队列, 放入阻塞队列. 另一方面, 当一个线程被IPC唤醒且具有高优先级, 直接切换到这个线程而不是将它放入就绪队列. 这种设计的平均性能与Lazy相同, 并保证了最坏情况性能

Timing Analysis of a Protected Operating System Kernel
- Bernard Blackham, Yao Shi, Sudipta Chattopadhyay, Abhik Roychoudhury, Gernot Heiser
- University of New South Wales
- Proceedings of the 32nd IEEE Real-Time Systems Symposium (RTSS ), 2011
- Google Scholar Citations:

Verified Protection Model of the seL4 Microkernel
- Dhammika Elkaduwe, Gerwin Klein, Kevin Elphinstone
- University of New South Wales
- Verified Software: Theories, Tools, Experiments: Second International Conference (VSTTE), 2008
- Google Scholar Citations:
- 在seL4中, 线程、内存、IPC都完全通过Capability管控.
- 在boot时, seL4预分配内核运行需要的所有内存, 剩余的内存完全由Resource Manager (RM) 管理和分配. 任何程序的行为都受到RM授予的Capability限制.
- 文章形式化证明了RM为子系统提供初始Capabilities后, 子系统内部只能获取这些Capabilities, 无法跨越边界获取其他子系统的Capabilities.
seL4 Enforces Integrity
- Thomas Sewell, Simon Winwood, Peter Gammie, Toby Murray, June, Andronick, Gerwin Klein
- University of New South Wales
- International Conference on Interactive Theorem Proving(ITP), 2011
- Google Scholar Citations:
- integrity是指只有拥有相应权能才能对相应对象进行写操作
- authority confinement是指除非明确指明, 权能不会在子系统之间转移
Scheduling-context capabilities: A principled, light-weight operating-system mechanism for managing time
- Anna Lyons, Kent McLeod, Hesham Almatary, Gernot Heiser
- University of New South Wales
- Proceedings of the ACM European Conference on Computer Systems (EuroSys), 2018
- Google Scholar Citations:
An Overview of Microkernel, Hypervisor and Microvisor Virtualization Approaches for Embedded Systems
- Asif Iqbal, Nayeema Sadeque and Rafika Ida Mutia
- Department of Electrical and Information Technology, Lund University, Sweden
- Report, 2010
- Google Scholar Citations:

The OKL4 microvisor: convergence point of microkernels and hypervisors
- Gernot Heiser, Ben Leslie
- University of New South Wales
- Proceedings of the Asia-Pacific Workshop on Systems (APSys), 2010
- Google Scholar Citations:
SemperOS: A Distributed Capability System
- Matthias Hille, Nils Asmussen, Pramod Bhatotia, Hermann Härtig
- Technische Universität Dresden, The University of Edinburgh, Barkhausen Institute
- Proceedings of the USENIX Conference on Usenix Annual Technical Conference (ATC), 2019
- Google Scholar Citations:
XPC: Architectural Support for Secure and Efficient Cross Process Call
- Dong Du, Zhichao Hua, Yubin Xia, Binyu Zang, Haibo Chen
- Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University
- Proceedings of the International Symposium on Computer Architecture (ISCA), 2019
- Google Scholar Citations:
SkyBridge: Fast and Secure Inter-Process Communication for Microkernels
- Zeyu Mi, Dingji Li, Zihan Yang, Xinran Wang, Haibo Chen
- Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University
- Proceedings of the ACM European Conference on Computer Systems (EuroSys), 2019
- Google Scholar Citations:
Harmonizing Performance and Isolation in Microkernels with Efficient Intra-kernel Isolation and Communication
- Jinyu Gu, Xinyue Wu, Wentai Li, Nian Liu, Zeyu Mi, Yubin Xia, Haibo Chen
- Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University
- Proceedings of the USENIX Conference on Usenix Annual Technical Conference (ATC), 2019
- Google Scholar Citations:
TreeSLS: A Whole-system Persistent Microkernel with Tree-structured State Checkpoint on NVM
- Fangnuo Wu, Mingkai Dong, Gequan Mo, Haibo Chen
- Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 2023
- Google Scholar Citations:
TreeSLS采用微内核架构, 一方面因为微内核大大简化内核状态, 系统服务基本在用户态, 所以设计检查点时不用了解这些复杂的系统对象; 另一方面微内核通常使用权能系统, 如果将这些权能对象组织为树形结构, 整个系统的状态就被抽象为这棵树, 以进行高效的增量状态检查点.
Scale and Performance in a Filesystem Semi-Microkernel
- Jing Liu, Anthony Rebello, Yifan Dai, Chenhao Ye
- University of Wisconsin-Madison
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 2021
- Google Scholar Citations:
采用微内核设计的文件系统能摆脱传统宏内核限制:
- 快速开发和部署: 像开发应用一样开发文件系统, 不用修改内核
- 突破宏内核文件系统性能瓶颈: 用户进程进行文件操作时直接请求用户级文件系统, 不需要陷入内核, 减少两次模式切换. 新出现的SPDK使得用户级进程可以直接访问存储设备, 完全不需要内核参与
Snap: a Microkernel Approach to Host Networking
- Michael Marty, Marc de Kruijf, Jacob Adriaens, Christopher Alfeld, Sean Bauer, Carlo Contavalli Michael Dalton, Nandita Dukkipati, William C. Evans, Steve Gribble, Nicholas Kidd, Roman Kononov, Gautam Kumar, Carl Mauer, Emily Musick, Lena Olson, Erik Rubow, Michael Ryan, Kevin Springborn, Paul Turner, Valas Valancius, Xi Wang, and Amin Vahdat
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 2019
- Google Scholar Citations:
于是Google借鉴微内核思想, 将网络服务移出内核, 作为用户级进程, 设计名为Snap的框架. 通过引入微内核架构, Snap既能中心化地管理网络资源, 而且避免内核中开发网络功能的繁琐. Snap被Google在工业界大规模部署, 它带来的快速更新迭代的优点在工业化产品中尤为重要.
EPK: Scalable and Efficient Memory Protection Keys
- Jinyu Gu, Hao Li, Wentai Li, Yubin Xia, Haibo Chen
- Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University
- Proceedings of the USENIX Conference on Usenix Annual Technical Conference (ATC), 2022
- Google Scholar Citations:
RedLeaf: Isolation and Communication in a Safe Operating System
- Vikram Narayanan, Tianjiao Huang, David Detweiler, Dan Appel, Zhaofeng Li, Gerd Zellweger, Anton Burtsev
- The George Washington University
- Proceedings of the Conference on Operating Systems Design and Implementation, 2020
- Google Scholar Citations:
Fine-Grained Isolation for Scalable, Dynamic, Multi-tenant Edge Clouds
- Yuxin Ren, Guyue Liu, Vlad Nitu, Wenyuan Shao, Riley Kennedy, Gabriel Parmer, Timothy Wood, Alain Tchana
- The George Washington University
- Proceedings of the USENIX Conference on Usenix Annual Technical Conference (ATC), 2020
- Google Scholar Citations:
Twizzler: a Data-Centric OS for Non-Volatile Memory
- Daniel Bittman, Peter Alvaro, Pankaj Mehra, Darrell D. E. Long, Ethan L. Miller
- UC Santa Cruz
- Proceedings of the USENIX Conference on Usenix Annual Technical Conference (ATC), 2020
- Google Scholar Citations:
本文重新设计名为Twizzler的操作系统, 借鉴微内核思想, 将内核从I/O路径中移除, 直接为程序提供内存式持久性数据访问.
M³x: Autonomous Accelerators via Context-Enabled Fast-Path Communication
- Nils Asmussen, Michael Roitzsch, Hermann Härtig
- Technische Universität Dresden, Germany
- Proceedings of the USENIX Conference on Usenix Annual Technical Conference (ATC), 2019
- Google Scholar Citations:
这种设计为微内核IPC技术发展带来启发.
QNX Neutrino Documentation
- Mike Cramer
- Quantum Software Systems
HarmonyOS Overview
- HUAWEI
- 内核层: 鸿蒙采用多内核设计, 使它能适应不同硬件配置的设备, 在内核子系统上有一层内核抽象层, 为上层提供基本的内核功能, 这一层抹去了底层不同内核实现的区别, 使得不同的内核实现对上层来说是透明的. 内核层还包括驱动子系统, 驱动子系统中有硬件驱动基础(HDF), 这一点为构建鸿蒙硬件生态系统打下基础
- 系统服务层: 由四个部分组成, 分别是基本系统功能子系统集, 基本软件服务子系统集, 增强的软件服务子系统集和硬件服务子系统集. 除了基本系统功能子系统集, 其他三个子系统集可以根据要部署的设备类型进行定制化处理
- 框架层: 提供开发鸿蒙应用所需的框架, 包括应用框架, UI框架, 以及软硬件服务的API
- 应用层: 系统应用及第三方应用运行在这层
描述鸿蒙操作系统安全技术与功能的白皮书. 鸿蒙的安全机制可以概括为: 保证正确的人通过正确的设备使用正确的数据. 通过"分布式多端协同身份认证"来保证"正确的人", 通过"在分布式终端上构筑可信运行环境"来保证"正确的设备", 通过"分布式数据在跨终端流动的过程中,对数据进行分类分级管理"来保证"正确的数据".
华为官网对于鸿蒙操作系统安全技术的介绍.
Huawei Mine Harmony
- HUAWEI
HarmonyOS Smart Cockpit
- HUAWEI
ghOSt: Fast & Flexible User-Space Delegation of Linux Scheduling
- Jack Tigar Humphries, Neel Natu, Ashwin Chaugule, Ofir Weisse, Barret Rhoden, Josh Don, Luigi Rizzo, Oleg Rombakh, Paul Turner, Christos Kozyrakis
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 2021
- Google Scholar Citations:
Direct Inter-Process Communication (dIPC): Repurposing the CODOMs Architecture to Accelerate IPC
- Lluís Vilanova, Marc Jordà, Nacho Navarro, Yoav Etsion, Mateo Valero
- Universitat Polit`ecnica de Cataluny
- Proceedings of the ACM European Conference on Computer Systems (EuroSys), 2017
- Google Scholar Citations:
Time Protection: The Missing OS Abstraction
- Qian Ge, Yuval Yarom, Tom Chothia, Gernot Heiser
- University of New South Wales
- Proceedings of the ACM European Conference on Computer Systems (EuroSys), 2019
- Google Scholar Citations:
The last mile: An empirical study of timing channels on seL4
- David Cock, Qian Ge, Toby Murray, Gernot Heiser
- University of New South Wales
- Proceedings of the ACM Conference on Computer and Communications Security (CCS), 2014
- Google Scholar Citations:
M3: A hardware/operating-system co-design to tame heterogeneous manycores
- Nils Asmussen, Marcus Volp, Benedikt Nothenm, Hermann Hartig, Gerhard Fettweis
- Technische Universität Dresden, Germany
- Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2016
- Google Scholar Citations:
Code Optimizations Using Formally Verified Properties
- Yao Shi, Bernard Blackham, Gernot Heiser
- University of New South Wales
- Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), 2013
- Google Scholar Citations:
Atlantis: robust, extensible execution environments for web applications
- James Mickens, Mohan Dhawan
- Microsoft
- Proceedings of the ACM symposium on Operating systems principles (SOSP), 2011
- Google Scholar Citations:
Foundational Software Solutions for The Modern Vehicle
- BlackBerry QNX
Foundational Software Solutions for The Medical Devices
- BlackBerry QNX
Foundational Software Solutions for The Robotics and Automation
- BlackBerry QNX
The HACMS project
- University of New South Wales