1

Link1 says that "Zircon is composed of a kernel (source in /zircon/kernel) as well as a small set of userspace services, drivers, and libraries", but in earlier days, Link2 claims that "Zircon is composed of a microkernel as well as a small set of userspace services, drivers, and libraries". I am confused that is Zircon still a microkernel?

expoter
  • 1,622
  • 17
  • 34
  • I would assume a kernel [consisting](https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/kernel/kernel/) of just 23 source files to be a microkernel. – Tsyvarev Dec 01 '21 at 17:03

1 Answers1

4

Zircon is inspired by microkernel architecture and applies many of those concepts, but strictly speaking it does not strive to be minimal like other microkernel implementations. For this reason, Zircon does not self-identify as a microkernel.

Zircon's architecture aligns with microkernels in that core subsystems such as device drivers, file systems, user permissions, or the network stack exist outside the kernel as modular services in user space. However, microkernels often maintain a handful of minimal system calls (syscalls) covering memory/thread management and IPC. Zircon currently has over 150 syscalls covering a wider functional surface area.

devunwired
  • 62,780
  • 12
  • 127
  • 139