Microkernel Notes

Minimal kernel ; Does only scheduling, memory management and IPC.

Language

Written in Rust, C++, Zig, … ?

C++

  • C++17 (20?)
  • No exceptions or RTTI

Rust

  • Memory safety
  • See Redox

Zig

Features

Linux (not POSIX) server

  • provides Linux syscalls for other processes

Linux driver server

  • can load and run Linux kernel modules using some sort of shim
  • since all the Linux drivers will simply be userspace programs, we can use GPL drivers without having to release the kernel as GPL (?)

Microkernels

Books & Papers

  • Operating Systems Design and Implementation by Andrew S Tanenbaum , Albert S Woodhull
  • The Increasing Irrelevance of IPC performance in Microkernel-based Operating Systems by Brian N. Bershad
  • The Persistent Relevance of IPC performance in Microkernel-based Operating Systems by Wilson C. Hsieh, M. Frans Kaashoek, and William E. Weihl
  • µ-Kernels Must And Can Be Small by Jochen Liedtke


201 Words

2019-05-06